0
私は、クエリを生成するために使用しているフォームを持っています。私は以下のコードスニペットを与えました。ユーザがレポートを絞り込むために情報を入力するための複数のフィールドがあります。私は以下のコードを見つけました。ユーザがカテゴリごとに1つの選択、すなわち "ステータス" = Cを選択したい場合にはうまくいきます。私の問題は、ユーザが一度に複数のステータスを探している場合があるということです。今すぐフォームにCまたはSを入力すると、クエリーにはCまたはSが入力され、結果は「C」または「S」またはまたはSであるため、結果は得られません。誰も私は複数の値を入力し、クエリに正しく読み込むことができるようにこのコードを変換することができますか?さて、あなたの主な質問は=
を使用しており、コードスニペットはLike
を使用しているという事実を無視して1つのフィールドに複数のパラメータを使用したフォームによるクエリへのアクセス
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