【发布时间】:2019-02-06 21:51:11
【问题描述】:
我正在使用 Excel VBA 从 Access 数据库中提取数据。我的“Select”和“From”语句工作正常。当我添加“Where”语句时,我没有得到任何结果。你能帮忙吗?!
Dim SDATE As String
Dim EDATE As String
Dim SQLstring As String
SDATE = Application.InputBox("Beginning Date", "Date 1", Format(Date - 31, "MM-DD-YY"))
EDATE = Application.InputBox("Ending Date", "Date 2", Format(Date, "MM-DD-YY"))
SQLstring = "SELECT tblitemhistory.HistDate, tblstockitems.MasterPNo, tblstockitems.ItemDescription, tblitemhistory.HistType, tblitemhistory.HistText, tblitemhistory.HistQty " & _
"FROM tblitemhistory INNER JOIN tblstockitems ON tblitemhistory.StockID = tblstockitems.ItemID" & _
"where (((tblitemhistory.HistDate) between #" & [SDATE] & "# AND #" & [EDATE] & "#"""
getSQLString = SQLstring
我希望在用户输入的两个日期之间提取记录。运行代码时我没有收到任何错误,但我也没有得到任何结果。
【问题讨论】:
-
能否请您添加
Debug.Print getSQLString的结果,以便我们查看日期的实际日期和格式? • 另请注意,在where (((tblitemhistory.HistDate) between中,您打开了3 个括号,但您只关闭了一个。因此,您的代码要么不完整,要么无效。 -
PEH 可能就是这样,以及末尾的 3 个双引号。