2016-02-05 48 views
0

我想使用名爲cboYearQtr的組合框字段來檢索該信息並在窗體上的該選擇上返回數據。我得到一個數據不匹配運行時錯誤3464. Date_YYYYQX字段是一個文本字段,我在代碼中調用myYearQtr一個字符串。我不明白爲什麼這裏拋出錯誤。我認爲它應該工作。我已經看過這個網站,而且在哪裏,它看起來對我來說是正確的。訪問2010年運行時錯誤消息3464

代碼:

Private Sub cboYearQtr_AfterUpdate() 

Dim myYearQtr As String 

myYearQtr = "Select Distinct Date_YYYYQX from [tbl_YYYYQX_LU] where [Date_YYYYQX] = " & Me.cboYearQtr & "" 
[Forms]![frm_tbl_Drug_Master_Date_LU].Form.RecordSource = myYearQtr 
[Forms]![frm_tbl_Drug_Master_Date_LU].Form.Requery 


End Sub 

感謝您的幫助!

回答

1

在構建運行sql的文本字符串時,您需要在變量周圍放置'

myYearQtr = "Select Distinct Date_YYYYQX from [tbl_YYYYQX_LU] where [Date_YYYYQX] = '" & Me.cboYearQtr & "'" 
+0

謝謝它現在沒有錯誤。我發誓我嘗試過,並得到一個錯誤。現在進入下一部分。找出爲什麼它沒有在有數據時返回表單中的任何記錄。 :) – vbnewbie

+0

在'myYearQtr ='行之後的新行插入'Debug.Print myYearQtr'。運行代碼。檢查立即窗口中的SELECT語句文本(Ctrl + g會帶你到那裏)。你可以複製語句文本並將其粘貼到一個新的Access查詢的SQL視圖中進行測試。它應該返回不超過1行(這讓我想知道爲什麼它作爲窗體的'RecordSource'有用,但無論如何...)。但是,如果它實際上在您期望的時候沒有返回任何行,請向我們展示SQL語句和來自'[tbl_YYYYQX_LU]'的簡短示例,它應返回一行,但不返回。 – HansUp

+0

@HansUp - 我跑了它,發現一些奇怪的東西。它看起來像SQL是在表中選擇正確的myYearQtr,但窗體有Date_YYYYQX作爲另一個日期。我會進一步研究爲什麼我放在這張表格上的兩張表格不正確。謝謝你的幫助。 – vbnewbie