2015-03-08 107 views
0

我正在嘗試使用多個組合框選擇來篩選顯示在最終組合框中的記錄。如果使用Select Where,它工作正常,但只要我爲語句添加AND,它就不會返回任何記錄。我沒有得到任何錯誤。沒有結果,並且已經驗證結果應該填充。現在,我已經刪除了組合框變量(me.combobox.value),並且將這些值放入代碼中以簡化並嘗試使其工作(例如,通用電氣公司和Stage 1渦輪葉片)。第一個代碼集只適用於WHERE子句。第二個不起作用,因爲我插入了一個AND子句。誰能告訴我爲什麼這不會返回結果?使用SQL選擇在哪裏設置組合框Rowsource

Private Sub cboConfiguration_AfterUpdate() 

On Error Resume Next 
Dim strSQL As String 
Dim strComponent As String 
Dim strOEM As String 
Dim strScope As String 
Dim strConfig As String 

strScope = Me!cboScope.Value 
strConfig = Me!cboConfiguration.Value 

'this one will work 
'strSQL = "SELECT * FROM MASTER_WORKSCOPES " & _ 
    "WHERE OEM = " & " 'General Electric'" 

'this one returns no results 
'strSQL = "SELECT * FROM MASTER_WORKSCOPES " & _ 
    "WHERE OEM = " & " 'General Electric' AND Components = " & " 'Stage 1 Turbine Blade'" 

Me.cboTables.RowSourceType = "Table/Query" 
Me.cboTables.RowSource = strSQL 
Me.cboTables.Requery 
Me.cboTables.Enabled = True 
Me.cboTables.SetFocus 
Me.cboTables.Dropdown 

End Sub 
+1

你說你證實結果應該填充。這是否意味着您運行相同的SQL並返回記錄? – 2015-03-08 18:28:43

+0

當您將相同的'SELECT'語句粘貼到新的Access查詢的SQL視圖並在那裏運行時,Access會找到多少條記錄? 'SELECT * FROM MASTER_WORKSCOPES WHERE OEM ='General Electric'AND Components ='Stage 1 Turbine Blade'' – HansUp 2015-03-08 18:38:40

回答

0

如果您試圖將AND關鍵字更改爲OR,該怎麼辦?我的預感是沒有任何行同時具有與這些值相等的列。動態SQL似乎沒有任何問題。