2011-05-11 75 views
0

我試圖通過查看課程表中的教師ID和課程ID來搜索課程ID。其一個簡單的查詢,但是當推出我接收(錯誤3071)訪問

(這個表達式的輸入不正確,或者是太複雜,無法評價。例如,一個數字表達式可能包含太多的複雜元件。嘗試通過分配部件簡化表達(錯誤3071)

VB腳本的表達變量。我使用這個樣子的。

Private Sub Course_ID_DblClick(Cancel As Integer) 

Dim x As Integer 

Dim y As String 

Dim z As Integer 

x = Me.Faculty_ID.Value 

Me.Course_ID.RowSource = "SELECT Course.[Course ID] FROM Course WHERE Course.[Course Name]=['Course']AND Course.[Faculty ID]='" & x & "'" 

End Sub 

回答

0

我覺得你得到這個消息,因爲使用的是錯誤的分隔符和對象或者易混淆術語名稱(其中字段內容「課程」和表名[課程]相同)

我想你的數據源是一個MS訪問數據庫。然後,您應該使用「(雙引號)作爲值分隔符(你必須在表達式內的標誌雙)文本,並沒有對數字那麼你的選擇指令可能看起來像:

"SELECT Course.[Course ID] FROM Course WHERE Course.[CourseName]=[""Course""] AND Course[FacultyID]=" & x 

添加一個「debug.print Me.Course_ID.RowSource」來檢查應該是一個最終的字符串:

SELECT Course.[Course ID] FROM Course WHERE Course.[CourseName]=["Course"] AND Course[FacultyID]= 3 
+0

Avcess支持單引號或雙引號作爲查詢中的字符串分隔符 – phoog 2011-05-11 05:28:23

0

應該有你的周圍字符串文字沒有括號:

Me.Course_ID.RowSource = "SELECT Course.[Course ID] FROM Course WHERE Course.[Course Name]='xyz' AND ... 

此外,您還可以在訪問查詢中使用單引號或雙引號作爲字符串分隔符。