2013-06-20 108 views
0

所以下面的查詢語句工作得很好。但我需要添加一個額外的字段來檢查,這是可能的嗎?查詢語句中的多個字段

因此,如果FIELD1或FIELD2等於Combo254.text中的任何值,則選擇這些記錄。

這裏是我當前運行的查詢:

Temp = Combo254.Text 

Dim strSQL As String 
Dim strWhere As String 
strWhere = (Chr(34) + Combo254.Text + (Chr(34))) 

strSQL = "SELECT * FROM MainQuery WHERE [FIELD1] Like " & strWhere 

'MsgBox (strSQL) 
[Form_Main].RecordSource = strSQL 

回答

2

加入每個附加標準字ANDOR

作爲一個側面說明,VBA允許您在包括文字字符串引號,如果你加倍引號。我認爲這比使用Chr(34)更具可讀性。

strSQL = "SELECT * FROM MainQuery " & _ 
    "WHERE [FIELD1] Like """ & Combo254.Text & """ OR " & _ 
    "[FIELD2] Like """ & Combo254.Text & """" 

在這種情況下,Access不關心,如果您使用單引號或雙引號,所以你可以重寫本查詢:

strSQL = "SELECT * FROM MainQuery " & _ 
    "WHERE [FIELD1] Like '" & Combo254.Text & "' OR " & _ 
    "[FIELD2] Like '" & Combo254.Text & "'" 
+0

戴上這個有關吧?我發現了一個期望的最終聲明,可能缺少「或」地方。我沒有看到它。 – Muhnamana

+0

'STRSQL =‘SELECT * FROM MainQuery’&「WHERE [FIELD1]象「」&Combo254.Text&「'或「&「[FIELD2]象‘」&Combo254.Text「’」' – Muhnamana

+1

你需要一個和最後一個字符串常量。Combo254.Text與之前的「'」。另外,你只需要使用&你什麼時候來連接字符串需要加入一個變量或將字符串分成多行,如果它全部在一行上,那麼你的第一個&就不必要了,例如: – Tmdean