| | автор |
| | 1) если твоя форма вызывается из разных мест 2) Смотрит на разные источники в разных случаях 3) Запрос используется в другом месте, а плодить их неохота. |
Все это одно и тоже!
'Query MyFromQry as Query как я понимаю уже существует?
А чем тебе не нравится таое решение:
Public Sub OpenMyForm(p1, p2 ...)
Dim db as DataBase: Set db = Currentdb
dim qd as QueryDef: Set qd = db.QueryDefs("MyFromQry")
Dim fm As Form, se as Sting
se = "SELECT ... FROM ... Where ((p = " & p1 ") And (p2 = " & p2 & " And ...))"
или
if p1 = 0 Then
se = "SELECT ... FROM ... Where
Else
...
Endif
qd.SQL = se
DoCmd.OpenForm "MyFrom"
End Sub
И все! На все случаи жизни открытия твоей формы из любого места!
А если охота, создай коллекцию твоих форм и плоди их как New MyFrom, но при этом выкини MyFromQry и пользуйся
после
DoCmd.OpenForm "MyFrom"
Set fm = Forms("MyFrom")
fm.RecordSource = se
И все в одной процедуре!