2015-09-24 61 views
1

我一直試圖得到一個查詢,我在Access中運行以在VBA中運行,但由於我一直使用的感嘆號數量不斷收到錯誤。我現在用的語句是訪問中的SQL語句

SQLstat = "SELECT tbl_Date_Check.DateofChecklist, tbl_Tasks.QuestionNumber,tbl_Tasks.Frequency, tbl_Tasks.Questions " _ 
& "FROM tbl_Tasks, tbl_Date_Check " _ 
& "WHERE (((tbl_Date_Check.DateofChecklist)=""" & [Forms]![Daily_Checker]![TxtDate] & """) And ((tbl_Tasks.Frequency) = """ & [Forms]![Daily_Checker]![ComFreq]"""))" 

任何幫助將是巨大的感謝

+1

什麼錯誤這是否給你? –

回答

0

這可能是由以下SO問題進行解釋:What is the difference between single and double quotes in SQL?

這說明你需要利用單引號''到幾乎在每種情況下都在SQL中環繞文本。您使用雙引號""的事實可能是導致錯誤的原因。

我希望這會有所幫助。

-C§

+1

您引用的問題不適用於Microsoft Access SQL。這個問題的答案更多的是指Microsoft SQL Server(TSQL)。對於Microsoft Access,可以使用單引號或雙引號來分隔字符串,而不會有任何問題。他的錯誤在於他在陳述結尾缺少一個連接符號,正如@HansUp在他對OP的評論中指出的那樣。如果他確實正在比較兩個日期字段('DateofChecklist'和'TxtDate'),那麼他可能也需要使用@Gustav指出的'#'日期分隔符,但是這並不確定是基於帖子。 –

0

它必須這樣寫的日期:

SQLstat = "SELECT tbl_Date_Check.DateofChecklist, tbl_Tasks.QuestionNumber,tbl_Tasks.Frequency, tbl_Tasks.Questions " _ 
& "FROM tbl_Tasks, tbl_Date_Check " _ 
& "WHERE ((tbl_Date_Check.DateofChecklist = #" & Format([Forms]![Daily_Checker]![TxtDate], "yyyy\/mm\/dd") & "#) And (tbl_Tasks.Frequency = " & [Forms]![Daily_Checker]![ComFreq] & "))"