Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форма параметров
 
 автор: novex   (10.10.2009 в 11:18)   личное сообщение
 
 

Хочу прикрутить к запросу (либо форме с запросом) форму установки параметров, но не знаю как это сделать.
Т.е. допустим в меню есть пункт "Список сотрудников", выбрав его должна появится форма, в которой можно указать например дату рождения и фамилию либо часть фамилии (для поиска по like), на форме есть две кнопочки "ок" и "отмена", соответственно при нажатии на отмену ничего не происходит, при нажатии на "Ок", анализируются введенные параметры, составляется выражение для where и открывается форма с запросом либо запрос.

основная проблема в том, что я попробовал сделать так


call DoCmd.OpenForm ("fmSetParam")

... формируется where
...
...

call DoCmd.OpenForm ("fmQuery", ....


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

еще не ясно можно ли передавать как-то параметры между формами не используя глобальных переменных?

как вообще это все организовать?

ЗюЫю пробовал делать запросы типа:
Select SerName From tEmployee Where SerName = [Фамилия] 

Аксес сам выдает окошко для ввода параметра, но когда таких параметров 2-4 получается не очень красиво

  Ответить  
 
 автор: osmor   (11.10.2009 в 08:46)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=blogcategory&id=119&Itemid=159
Q16

  Ответить  
 
 автор: novex   (11.10.2009 в 12:55)   личное сообщение
 
 

Полезная информация, но мне не ясно как вывести форму для установки параметров, подождать когда пользователь введет данные, сформировать строку where и вывести другую форму либо запрос применив в ней сформированныей where.
У меня обе формы открываются вместе, не могу сделать так, что программа ожидала ввод данных на первой форме не открывая второй.

  Ответить  
 
 автор: osmor   (12.10.2009 в 09:20)   личное сообщение
 
 

Можно в первой форме сделать кнопку которая откроет 2-ю форму
В источнике данных 2-й формы сделайте условие со ссылкой на поле первой формы (как в примере по ссылке) , при изменении полей в -1й форме делайте requery формы 2.

  Ответить  
 
 автор: kot_k_k   (12.10.2009 в 09:27)   личное сообщение
 
 

А почему нельзя просто открыывать формы в режиме диалога.

DoCmd.OpenForm имяФормы [, режим] [, имяФайла] [, условиеWhere] [, режимДанных] [, режимОкна] [, аргументыОткрытия]

режимОкна Одна из следующих встроенных констант:
acDialog (окно диалога)
acHidden (невидимое)
acIcon (значок)
acWindowNormal (обычное)

  Ответить  
 
 автор: osmor   (12.10.2009 в 09:30)   личное сообщение
 
 

можно, но тогда ее придется скрывать или закрывать, для продолжения и открытия другой формы

  Ответить  
 
 автор: kot_k_k   (12.10.2009 в 09:38)   личное сообщение
 
 

а можно из нее открывать следующую тоже в режиме диалога, а закрывать их обе сразу, или в обратном порядке, возможно для пользоввателя так будет даже удобнее.
да и можно параметры брать из первой (не закрытой) таблы, а не возиться с глобальными переменными.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList