Аналогичным образом, рассмотрите возможность поиска во всех датах в пределах диапазона дат, поскольку DateValue
может иметь проблемы с эффективностью:
select * from bericht
where fromtime = 6
and b_date >= CDate("2020-01-30")
and b_date < CDate("2020-01-30") + 1
И указывать непосредственно на поле формы / отчета. Сохраните ниже как сохраненный запрос и при необходимости вызовите его в VBA с помощью DoCmd.OpenQuery
:
select * from bericht
where fromtime = Forms!myForm!von
and b_date >= [Forms!myForm!l_date]
and b_date < ([Forms!myForm!l_date] + 1)
Если вы используете запрос для сборок наборов записей, все еще используйте предпочтительный метод параметризации и использует сохраненный запрос и в VBA открывает его с помощью QueryDefs и связывает необходимые параметры во время выполнения:
SQL
parameters [myint] int, [mydate] date;
select * from bericht
where fromtime = [myint]
and b_date >= [mydate]
and b_date < ([mydate] + 1)
VBA
Dim qDef As QueryDef
Dim rst As Recordset
Set qdef = CurrentDb.QueryDefs("mySavedQuery")
qdef!myint = Me.von
qdef!myDate = Me.l_date
Set rst = qdef.OpenRecordset()
...