0
我有我使用的填充查詢的窗體。我在下面給出了一個代碼片段。有多個字段供用戶輸入信息以縮小報告範圍。我發現了下面的代碼,如果用戶只希望每個類別做一個選擇,即「status」= C,那麼它就很好。我的問題是,有些情況下用戶可能一次查找多個狀態。如果我現在以C或S形式輸入表單,則查詢填充爲C或S,由於它應該是「C」或「S」或C或S,所以不會產生結果。任何人都可以幫助我轉換此代碼,以允許輸入多個值並將其正確讀入查詢中?Access查詢在一個領域
Function SearchCriteria()
Dim strSQL As String
Dim tblname, strqry As String
Dim qdf As QueryDef
Set dbs = CurrentDb
Dim allexists As QueryDef
strqry = "All Selected"
tblname = "SelectionWeeklyAuto1000"
On Error GoTo err_handler
Set allexists = dbs.QueryDefs("All Selected")
err_handler:
Select Case Err.Number
Case 3265
strSQL = "SELECT " & tblname & ".* From " & tblname & " WHERE (1=1)"
Set qdf = dbs.CreateQueryDef(strqry)
qdf.SQL = strSQL
DoCmd.Save
End Select
DoCmd.DeleteObject acQuery, strqry
Set qdf = dbs.CreateQueryDef(strqry)
strSQL = "SELECT " & tblname & ".* From " & tblname & " WHERE (1=1)"
If Not IsNull([Forms]![Report Tool]![Text1]) Then
strSQL = strSQL & " And ([Screen] Like ""*" & [Forms]![Report Tool]![Text1] & "*"")"
End If
If Not IsNull([Forms]![Report Tool]![Text2]) Then
strSQL = strSQL & " And ([Status] Like ""*" & [Forms]![Report Tool]![Text2] & "*"")"
End If
謝謝你的幫助@Skippy。它的工作原理與我期望的完全相同。希望當我學習時,我會更好地提出這個問題。 – MattM52