Утро, пожалуйста, кто-нибудь может мне помочь, чтобы этот запрос SELECT работал?У меня есть форма (frm_Reports), на которой у меня есть два текстовых поля (Text98 и Text100 оба отформатированы, чтобы взять ShortDate) и кнопку (RunReport).Пользователь вводит начальную дату в Text98 и конечную дату в Text100, а затем нажимает кнопку RunReport.Даты из Text98 и Text100 хранятся в переменных как Dates (называемые stardate и enddate), а затем выполняется запрос SELECT (см. Код ниже), который извлекает все записи в таблице (tbl_details), которые имеют дату входа (подстолбец с заголовком DateTime) падает между начальной и конечной датами, введенными пользователем.Проблема в том, что я не могу заставить работать запрос SELECT.
Я плохо разбираюсь в выражениях типа sql, поэтому я попытался немного выстроить строку запроса, тестируя ее по ходу работы.Мне удалось получить это далеко успешно:
sqlstr = "SELECT * FROM tbl_details WHERE (tbl_details.DateTime) > #" & startdate & "#;
"
Однако, как только я пытаюсь превратить эту строку в запрос типа BETWEEN, я получаю
"Ошибка времени выполнения '13': несоответствие типов.
Private Sub RunReport_Click()
Dim selectedreport As String
Dim startdate As Date
Dim enddate As Date
Dim sqlstr As String
selectedreport = Me.ComboReport.Column(1)
startdate = Me.Text98
enddate = Me.Text100
'sqlstr = "SELECT * FROM tbl_details WHERE (tbl_details.DateTime) > #28/04/2019#;" - THIS WORKS
'sqlstr = "SELECT * FROM tbl_details WHERE (tbl_details.DateTime) > #" & startdate & "#;" - THIS WORKS
sqlstr = "SELECT * FROM tbl_details WHERE (tbl_details.DateTime) BETWEEN #" & startdate & "#" And "#" & enddate & "#;" 'THIS DOES NOT WORK
Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(sqlstr)
With rst
While Not .EOF()
vName = .Fields("DateTime").Value
Debug.Print vName
.MoveNext
Wend
End With
dbs.Close
End Sub
Я был бы очень признателен, если бы кто-нибудь мог показать мне, где я ошибаюсь в этом утверждении, и предложить тот, который на самом делеРабота.Спасибо