У меня есть форма с кнопкой, которая вызывает и фильтрует пару запросов на объединение с примерно 40 запросами SELECT между ними. Затем он отображает данные в отчете. Каждый запрос SELECT в запросе Union собирает записи из нескольких уникальных таблиц в базе данных. Недавно мне пришлось добавить еще пару запросов SELECT в запрос на объединение, чтобы получить записи из новых таблиц, и именно тогда я получил ошибку времени выполнения. Он отлично открывал отчет, прежде чем я добавил эти запросы SELECT, поэтому я предполагаю, что в запросе UNION слишком много запросов SELECT. Чтобы решить эту проблему, могу ли я просто не использовать запрос UNION и найти альтернативный способ объединения записей? или что-то в коде VBA нуждается в корректировке? Вот мой код
Private Sub Command189_Click()
DoCmd.SetWarnings False
DoCmd.Close acReport, "Operator Daily Review"
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim varItem As Variant
Dim strCriteria As String
Dim strSQL As String
Set db = CurrentDb()
Set qdf = db.QueryDefs("Productivity_WeeklyFinal")
Set qdf2 = db.QueryDefs("qFiller_Names")
strSQL = "SELECT Info_ME_Employees.ID, gs_1_week_finalUnion.SampleID,
gs_1_week_finalUnion.Operator, Format$([TestDate],'m/dd/yyyy') AS Test_Date,
gs_1_week_finalUnion.Test FROM Info_ME_Employees INNER JOIN gs_1_week_finalUnion ON
Info_ME_Employees.Full_Name = gs_1_week_finalUnion.Operator" & _
" WHERE Info_ME_Employees.ID IN (4,5,6,7)AND gs_1_week_finalUnion.TestDate Between (Date()-7-
Weekday(Date(),2)) And (Date()-Weekday(Date(),2)-1) " & _
" ORDER BY gs_1_week_finalUnion.Operator"
strSQL2 = "SELECT Info_ME_Employees.ID, Info_ME_Employees.Full_Name FROM Info_ME_Employees" & _
" WHERE Info_ME_Employees.ID IN (4,5,6,7)"
qdf.SQL = strSQL
qdf2.SQL = strSQL2
DoCmd.OpenReport "Operator Daily Review", acViewReport
Set db = Nothing
Set qdf = Nothing
End Sub