Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access

Модерирует : ShIvADeSt

ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

   

dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Логика работы скрина слишком "идеальна". Ну зачем
Цитата:
содержимое поля "Библиографическая запись" тоже должно изменяться ОДНОВРЕМЕННО
Кому может понадобиться строка, в которой один из параметров незакончен?
 
Заведи стринговые переменные по числу полей. На Lost Focus поля заноси его значение в соответственную переменную.  Обновление "Библиографическая запись" тоже проводить на Lost Focus. Значение для записи бери только из переменных.
 
 
Добавлено:
Если уж так хочется оставить все как есть, то просто передавай Sub ПостроительБиблиографическойЗаписи второй параметер - из какого контрола пришел вызов. В соответствии с этим и возвращать фокус. Но я бы делал через Lost Focus

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 21:59 05-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Заведи стринговые переменные по числу полей.

Есть такие (см. предыдущий код).
 

Цитата:
то просто передавай Sub ПостроительБиблиографическойЗаписи второй параметер - из какого контрола пришел вызов. В соответствии с этим и возвращать фокус.

Я так уже делал, но при возврате фокуса контролу, курсор теряет свою позицию, а содержимое текстового поля оказывается полностью выделенным.
 
 
dneprcomp
У меня один общий вопрос: чем оправдана необходимость (в Access) установки фокуса на элемент управления перед чтением/записью его свойств, ведь в обычном VBA, да и в других языках, установка фокуса для операций чтения/записи свойств элементов управления НЕ ТРЕБУЕТСЯ. Объясните, если можно, в двух словах или дайте ссылку на источник, где это более-менее толково описано.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 23:56 05-07-2009 | Исправлено: jek1976, 00:09 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
Есть такие  

Переменные надо объявить на уровне модуля.  
И присваивать значение только одной переменной в каждом контроле, а не в sub. На Lost Focus.

Цитата:
У меня один общий вопрос: чем оправдана необходимость (в Access) установки фокуса на элемент управления перед чтением/записью его свойств
Желанием/возможностью/потребностью MS
Цитата:
Объясните, если можно, в двух словах или дайте ссылку на источник
А почему, к примеру, в VBA при чтении из textbox надо писать textbox.text, a из label - label.caption объяснений не требуется?  
А почему в VBA Access практически любая команда начинается с DoCmd, a в VB этого нет?  
А в чем смысел жизни?
Уж такова реализация синтаксиса и внутреннего устройства языка. Все это надо просто принимать и применять.
 

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:11 06-07-2009 | Исправлено: dneprcomp, 00:19 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А почему, к примеру, в VBA при чтении из textbox надо писать textbox.text, a из label - label.caption объяснений не требуется?

Нет, это немного не то. Имена свойств - это несущественное отличие. А вот то, что в Access контролу требуется еще перевод фокуса на него, существенно усложняет достижение работоспособности программы.
 
 
 
Добавлено:
Ладно, не будем об этом...
Продолжим разбираться с мелочевкой?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:19 06-07-2009 | Исправлено: jek1976, 00:21 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
"В чем смысел жизни, брат?"
Цитата:
Нет, это немного не то.
Уровень вопроса тот же

Цитата:
Уж такова реализация синтаксиса и внутреннего устройства языка. Все это надо просто принимать и применять


Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:21 06-07-2009 | Исправлено: dneprcomp, 00:24 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Переменные надо объявить на уровне модуля.  

Сделаю.
 

Цитата:
И присваивать значение только одной переменной в каждом контроле, а не в sub. На Lost Focus.

Почему именно LostFocus? Ведь если я, допустим, удаляю/добавляю символ в TextBox или выбираю значение в списке ComboBox, то после этого возникает событие Change!

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:26 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И это все ни в коей мере не "усложняет достижение работоспособности программы. "
 
Добавлено:
jek1976

Цитата:
Логика работы скрина слишком "идеальна". Ну зачем  
Цитата:содержимое поля "Библиографическая запись" тоже должно изменяться ОДНОВРЕМЕННО
Кому может понадобиться строка, в которой один из параметров незакончен?  

 
Для чего вообще нужна строка в состоянии динамической модификации. Когда же и как эта строка будет использована?

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:26 06-07-2009 | Исправлено: dneprcomp, 00:30 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
"Незаконченность" параметра справедлива лишь для окон TextBox, а для ComboBox'ов мгновенное отображение информации очень удобно и весьма к месту. Ведь я могу не уйти с ComboBox'а на другой элемент, а повторно выбрать значение (уже другое) из его списка, и при этом никакого события LostFocus не произойдет, ведь я же с элемента не ушел!

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:32 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В ComboBox использовать событие Click
При Change нет гарантии, что выбр значения завершен  пользователем

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:33 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В ComboBox использовать событие Click  

ОК.
 

Цитата:
Для чего вообще нужна строка в состоянии динамической модификации. Когда же и как эта строка будет использована?  

Она нужна! Дело в том, что при просмотре записей в БД я могу вносить коррективы в различные элементы библиографической записи, например, заменю одну последнюю цифру в году выпуска или заменю номер журнала. Тогда изменения должны быть видны сразу!!! А использовать доп. кнопку для обновления библиографической строки - это очень неудобно, т.к. с прогой будут работать разные люди, могут и не догадаться о ее назначении. Да и мне это будет неудобно.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:37 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В добавок ко всему, надо или запрещать ввод в ComboBox, или проверять введенное на наличие в листе
 
Добавлено:
jek1976

Цитата:
 Дело в том, что при просмотре записей в БД я могу вносить коррективы в различные элементы библиографической записи, например, заменю одну последнюю цифру в году выпуска или заменю номер журнала. Тогда изменения должны быть видны сразу

1.Где видны?  
2.Когда и как происходит поиск?  
3.Где и как происходит отображение результатов поиска?
 
 
Добавлено:
Заметь, я нигде в моих постах не говорил о кнопке?!

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:38 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1.Где видны?

В строке Библиографическая запись, внизу.
 

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:46 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
2 and 3?

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:48 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
2.Когда и как происходит поиск?  
3.Где и как происходит отображение результатов поиска?

НИКАК. Представленная мною форма будет нужна для пошагового последовательного продвижения по базе данных. О поиске пока речь не идет, хотя для просмотра найденных записей она (форма) тоже потребуется.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:49 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Пока нет ответа на #2, о какой логике работы можно говорить?

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:50 06-07-2009 | Исправлено: dneprcomp, 00:51 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сейчас важны лишь две вещи: возможность удобной коррекции данных и мгновенное отображение результатов в процессе этой коррекции.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:51 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
и мгновенное отображение результатов в процессе этой коррекции.

Переменные надо объявить на уровне модуля.  
И присваивать значение только одной переменной в каждом контроле, а не в sub.
Значение для записи бери только из переменных - хоть и на Change
На Change/Click вызывай Sub и формируй строку

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:55 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Пока нет ответа на #2, о какой логике работы можно говорить?
Поиск пока не нужен, пока мне важно правильно собирать значения из различных атрибутов в записи БД и отображать их в "склеенном" виде по определенным правилам (я уже говорил об этом ранее), т.е. в виде библиографической записи.
 
 
 
Добавлено:

Цитата:
Значение для записи бери только из переменных - хоть и на Change  
На Change/Click вызывай Sub и формируй строку

Да! Именно этим сейчас и пытаюсь заняться.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 00:55 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если не сработает, не забудь поместить код. Для длинного кода используй tag more(см. справку)

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 01:01 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ОК. Про more я в курсе.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 01:03 06-07-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access
ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru