私はAccess 2016で複数のテキストボックスの検索フォームのヘルプが必要です。私のフォームには、ユーザーがサブフォームの検索結果を取得するためにデータを入力できる6つのフィールドがあります。結果を得るには、1つ以上のフィールドに検索パラメータを入力するオプションが必要です。人々が愛しているAccess 2003データベースにも同様の形があります。私はAccess 2003データベースからコードをコピーして更新しようとしましたが、2016年のデータベースでは機能しないようです。私は答えを探して何週間も過ごしてしまった。私は基準の下でLike "*" & [Forms]![WelcomePage]![WCLastName] & "*" Or ([Forms]![WelcomePage]![WCLastName] Is Null)
を持つクエリでMS Access検索フォームのクエリ
Private Sub cmdWCSearch_Click()
Dim strsql As String
strsql = "SELECT * FROM qryWCSearch WHERE ID > 0"
If Not IsNull(Me.WCLastName) Then
strsql = strsql & "And [WCLastName] Like '*" & Me.WCLastName & "*'"
End If
If Not IsNull(Me.WCDOI) Then
strsql = strsql & "And [WCDOI] Like '*" & Me.WCDOI & "*'"
End If
If Not IsNull(Me.WCWorkStatus) Then
strsql = strsql & "And [WCWorkStatus] Like '*" & Me.WCWorkStatus & "*'"
End If
If Not IsNull(Me.WCClaimNumber) Then
strsql = strsql & "And [WCClaimNumber] Like '*" & Me.WCClaimNumber & "*'"
End If
If Not IsNull(Me.WCBodyPart) Then
strsql = strsql & "And [WCBodyPart] Like '*" & Me.WCBodyPart & "*'"
End If
If Not IsNull(Me.WCClaimStatus) Then
strsql = strsql & "And [WCClaimStatus] Like '*" & Me.WCClaimStatus & "*'"
End If
End Sub
:
次のコードは、私はAccess 2003のデータベースからコピーされ、現在のデータベースに更新するものです。
検索を実行すると、次のエラーメッセージが表示されます。イベントプロパティの設定として入力したクリックの式で、Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときに問題が発生しました。
これを機能させるための助けがあれば、大歓迎です!
を。私は、すでに開いているフォームのFilterとFilterOnプロパティを設定したり、OpenFormとOpenReportのWHERE引数を使用する方が好きです。 – June7
検索用語の前後にワイルドカードを使用することで、妥当な数のレコードがあれば、非常に遅く、非常に遅くなります。同じようなものの前にあるワイルドカードを使用すると、インデックスの使用が無効になります。 – Minty