|
|
|
| Хочу прикрутить к запросу (либо форме с запросом) форму установки параметров, но не знаю как это сделать.
Т.е. допустим в меню есть пункт "Список сотрудников", выбрав его должна появится форма, в которой можно указать например дату рождения и фамилию либо часть фамилии (для поиска по like), на форме есть две кнопочки "ок" и "отмена", соответственно при нажатии на отмену ничего не происходит, при нажатии на "Ок", анализируются введенные параметры, составляется выражение для where и открывается форма с запросом либо запрос.
основная проблема в том, что я попробовал сделать так
call DoCmd.OpenForm ("fmSetParam")
... формируется where
...
...
call DoCmd.OpenForm ("fmQuery", ....
|
но формы открываются подряд без ожидания, в результате, пользователь не успевает ничего ввести на форме, код который должен формировать фразу where делает это не правильно, т.к. у него нет данных, а запрос начинает выполнять поиск по всей БД.
еще не ясно можно ли передавать как-то параметры между формами не используя глобальных переменных?
как вообще это все организовать?
ЗюЫю пробовал делать запросы типа:
Select SerName From tEmployee Where SerName = [Фамилия]
|
Аксес сам выдает окошко для ввода параметра, но когда таких параметров 2-4 получается не очень красиво | |
|
| |
|
|
|
| http://hiprog.com/index.php?option=com_content&task=blogcategory&id=119&Itemid=159
Q16 | |
|
| |
|
|
|
| Полезная информация, но мне не ясно как вывести форму для установки параметров, подождать когда пользователь введет данные, сформировать строку where и вывести другую форму либо запрос применив в ней сформированныей where.
У меня обе формы открываются вместе, не могу сделать так, что программа ожидала ввод данных на первой форме не открывая второй. | |
|
| |
|
|
|
| Можно в первой форме сделать кнопку которая откроет 2-ю форму
В источнике данных 2-й формы сделайте условие со ссылкой на поле первой формы (как в примере по ссылке) , при изменении полей в -1й форме делайте requery формы 2. | |
|
| |
|
|
|
| А почему нельзя просто открыывать формы в режиме диалога.
DoCmd.OpenForm имяФормы [, режим] [, имяФайла] [, условиеWhere] [, режимДанных] [, режимОкна] [, аргументыОткрытия]
режимОкна Одна из следующих встроенных констант:
acDialog (окно диалога)
acHidden (невидимое)
acIcon (значок)
acWindowNormal (обычное) | |
|
| |
|
|
|
| можно, но тогда ее придется скрывать или закрывать, для продолжения и открытия другой формы | |
|
| |
|
|
|
| а можно из нее открывать следующую тоже в режиме диалога, а закрывать их обе сразу, или в обратном порядке, возможно для пользоввателя так будет даже удобнее.
да и можно параметры брать из первой (не закрытой) таблы, а не возиться с глобальными переменными. | |
|
| |