2017-10-04 27 views
1

我試圖寫一個程序在訪問創建查詢使用SQL爲以下使用sql在VBA

For d = DateSerial(2011, 12, 4) To DateSerial(2011, 12, 10) 

newSQL = " SELECT TAXIDATA.HkDt, TAXIDATA.DevID, TAXIDATA.HkTm, TAXIDATA.Lat, TAXIDATA.Lon, TAXIDATA.FlagDown" 'sql code 
newSQL = newSQL & " FROM TAXIDATA" 
newSQL = newSQL & " WHERE TAXIDATA.HkDt = #" & Format(d, "MM/dd/yyyy") & "# AND ((TAXIDATA.DevID)<"002000"))" 
newSQL = newSQL & " ORDER BY TAXIDATA.HkDt, TAXIDATA.DevID, TAXIDATA.HkTm; " 

然而,有一個錯誤,當我運行4號線。 ((TAXIDATA.DevID)<「002000」))「.TAXIDATA.DevID是訪問中的簡短文本,所以我想」002000「將工作得很好,但它不是。

+1

您需要轉義「quote」 – Prisoner

回答

0

您需要使用額外的雙引號來逃避所有雙引號

newSQL = newSQL & " WHERE TAXIDATA.HkDt = #" & Format(d, ""MM/dd/yyyy"") & "# AND ((TAXIDATA.DevID)<""002000""))"