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