Возможно, вы находитесь в регионе, в котором даты начинаются с первого дня, а не первого месяца.Следовательно, независимо от того, какие диапазоны даты введены, данных в соответствии с этим разделом не существует, поскольку вы не получаете никаких ошибок.
Следовательно, рассмотрите две корректировки:
Удалите любое форматирование и попросите пользователя ввести дату в любом регионе, в котором он находится, и скорректировать даты по умолчанию своего ЦПУ.
Использование параметризации с MS Access ' QueryDefs в отличие от конкатенации SQL в VBA, как показано ниже для соединения DAO.
Sub RunQuery()
Dim SDATE As Date, EDATE As Date
Dim SQLstring As String
Dim conn As Object, db As Object, qdef As Object
SDATE = Application.InputBox("Beginning Date", "Date 1", Date - 31) ' REMOVE Format()
EDATE = Application.InputBox("Ending Date", "Date 2", Date) ' REMOVE Format()
Set conn = CreateObject("DAO.DBEngine.120")
Set db = conn.OpenDatabase("C:\Path\To\Database.accdb")
' PREPARED STATEMENT (NO DATA) - CAN BE SAVED IN MS ACCESS AS QUERY OBJECT
SQLstring = "PARAMETERS [Prm_SDATE] Date, [Prm_EDATE] Date;" & _
"SELECT i.HistDate, s.MasterPNo, s.ItemDescription," & _
" i.HistType, i.HistText, i.HistQty " & _
"FROM tblitemhistory i " & _
"INNER JOIN tblstockitems s ON i.StockID = s.ItemID" & _
"WHERE i.HistDate BETWEEN [Prm_SDATE] AND [Prm_EDATE];"
' BIND PARAMETERS
Set qdef = db.CreateQueryDef("", SQLstring)
qdef![Prm_SDATE] = SDATE
qdef![Prm_EDATE] = EDATE
' OPEN RECORDSET
Set rst = qdef.OpenRecordset
' DUMP OUTPUT TO EXCEL SHEET
Worksheets("Sheet1").Range("A1").CopyFromRecordset rst
rst.Close: db.Close
Set qdef = Nothing: Set db = Nothing: Set conn = Nothing
End Sub