Добрый день!
Проект Access. БД на SQL 2000.
Вызываю из процедуры форму, источником записей для которой является запрос (SELECT tblZakaz.* FROM tblZakaz ORDER BY Zakaz):
stDocName = "frmProsmotrZakazovPakOt"
stLinkCriteria = "[Status]='Исполнение'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Выбираю необходимую запись и по кнопке вызываю другую форму, источником записей для которой является запрос (SELECT tblPakOt_Form_4.* FROM tblPakOt_Form_4 ORDER BY ID_Paketa):
strDocName = "frmPakOt_Form"
strLinkCriteria = "[Zakaz]=" & Me.ctlZakaz
DoCmd.OpenForm strDocName, , , strLinkCriteria
Из этой формы по кнопке вызываю следующую форму, источником записей для которой является запрос (SELECT tblSpecific_Pak_Otgruzki.* FROM tblSpecific_Pak_Otgruzki ORDER BY ID_Tower, N_Section, Pos):
stDocName = "frmSpecific_PaketOtgruzki"
strLinkCriteria = "[Zakaz]=" & Forms!frmProsmotrZakazovPakOt!ctlZakaz
DoCmd.OpenForm stDocName, , , strLinkCriteria
В этой форме произвожу обработку (см. вложенный файл), после которой закрываю форму:
Forms!frmPakOt_Form.Requery
stDocName = "frmSpecific_PaketOtgruzki"
DoCmd.Close acForm, stDocName
При этом очень часто форма запоминает фильтр как серверный и дальнейшая работа невозможна.
Как отключить запоминание формой серверного фильтра?
Заранее благодарю.
Access. SQL. Как отключить серверный фильтр
Модератор: Naeel Maqsudov
- Вложения
-
[Расширение txt было запрещено, вложение больше недоступно.]
-
- Сообщения: 526
- Зарегистрирован: 04 фев 2007, 18:37
- Откуда: Сургут
- Контактная информация:
Здравствуйте Putincev.
Рекомендую совсем отказаться от использования фильтра формы.
если источник строк (SQL конструкция) будет подключаться по событию открытия формы, такой проблемы не будет. Конструкция может быть подобной:это избавит Вас от "проблемы" и не будет потребности в обновлении. (...Form.Requery)
конструкции JET (DoCmd.RunSQL SQL_Vybor) замените на ADO (con1.Execute SQL_Vybor), это тоже облегчит работу приложения и отпадет потребность в "борьбе" с системными сообщениями (DoCmd.SetWarnings False)
Евгений.
Рекомендую совсем отказаться от использования фильтра формы.
если источник строк (SQL конструкция) будет подключаться по событию открытия формы, такой проблемы не будет. Конструкция может быть подобной:
Код: Выделить всё
Dim s$
Const s0$ = "SELECT tblPakOt_Form_4.* FROM tblPakOt_Form_4 WHERE [Zakaz]=", s1$ = " ORDER BY ID_Paketa
s = s0 & Me.ctlZakaz & s1
Form_frmSpecific_PaketOtgruzki.RecordSource = s
...
конструкции JET (DoCmd.RunSQL SQL_Vybor) замените на ADO (con1.Execute SQL_Vybor), это тоже облегчит работу приложения и отпадет потребность в "борьбе" с системными сообщениями (DoCmd.SetWarnings False)
Евгений.