所以我在尝试使用SQL查询填充Access中的Listbox时遇到了一些问题。我还在学习VBA,但这是一个困扰我的问题。我已经尝试修复我的代码,但 AND-date-BETWEEN 部分似乎不适用于我的其他 AND-columnname-LIKE 部分。
我能够让BETWEEN部件独立工作,LIKE部件可以自己工作但不能一起工作。这是我一直在尝试修改的主要vb代码。此外,DQ是另一个有助于查询的双引号的函数。
Me.lstGngSheets.RowSource = _
"SELECT gangID, fileName, date, crossStreets FROM tblgangSheets " & _
"WHERE borough LIKE ""*" & DQ(Me.cboBoro.Value) & _
"*"" AND date BETWEEN #" & txtDtBeg.Value & "# and #" & txtDtEnd.Value & "#" & _
"*"" AND onStreet LIKE ""*" & DQ(Me.cboOnStr.Value) & _
"*"" AND yard LIKE ""*" & DQ(Me.cboYrd.Value) & _
"*"" AND safeStreets LIKE ""*" & DQ(Me.chkSenior.Value) & "*"""
这是一个SQL输出,我正试图填充我的列表框。
SELECT gangID, fileName, date, crossStreets
FROM tblgangSheets
WHERE borough LIKE "Queens"
AND date BETWEEN #01/1/2013# and #1/1/2014#
AND onStreet LIKE "**"
AND yard LIKE "**"
AND safeStreets LIKE "**";
我一直在讨论这个问题,如果有人能给我建议或解决方案,我一定会很感激!
答案 0 :(得分:0)
你的SQL在日期和类似之间有一些奇怪的间距。试试这个。
Me.lstGngSheets.RowSource = "SELECT gangID, fileName, date, crossStreets FROM tblgangSheets " & _
"WHERE borough LIKE ""*" & DQ(Me.cboBoro.Value) & _
"*"" AND date BETWEEN #" & txtDtBeg.Value & "# and #" & txtDtEnd.Value & "#" & _
" AND onStreet LIKE ""*" & DQ(Me.cboOnStr.Value) & _
"*"" AND yard LIKE ""*" & DQ(Me.cboYrd.Value) & _
"*"" AND safeStreets LIKE ""*" & DQ(Me.chkSenior.Value) & "*"""
请注意,我在#结束你的结束日期后立即删除了“*”。