2014-02-28 49 views
0

因此,我嘗試使用SQL查詢嘗試在Access中填充列表框。我仍然在學習VBA,但這是困擾我的一個問題。我已經嘗試修復我的代碼,但它的AND-date-BETWEEN部分似乎不能與我的其他AND-columnname-LIKE部件一起使用。在將SQL查詢轉換爲vba行源時的問題

我能夠讓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

你的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) & "*""" 

注意,我刪除了「*」「後,立即關閉#您的結束日期。

+0

非常感謝你!它可以根據需要!我沒想到的是,‘’*」的一部分也影響了我的發言。 –

+0

很高興聽到它! – Jeremy