- 締切済み
Accessでの顧客管理フォームを作成しています
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hotosys
- ベストアンサー率67% (97/143)
回答No.2
No.1の回答者です。 回答の中に確認用の MsgBox f が残っていたので、削除してください。
- hotosys
- ベストアンサー率67% (97/143)
回答No.1
サブフォームのFilterプロパティ(とFilterOnプロパティ)を制御します。 絞り込みなので各条件をANDで結びます。 各テキストボックスに文字がある場合にその条件の文字列を追加します。 サブフォームが[サブフォーム1]の場合です。 各テキストボックス名と元テーブルのフィールド名が[日付] [名前] [会員番号] [金額]の場合です。 コマンドボタンは[検索]です。 会員番号は文字列でなく数値の場合です。 名前は入力した文字を含むデータを選択します。 Private Sub 検索_Click() Dim f As String f = "(TRUE)" '条件が無かった場合は全部を選択する f = f & IIf(Nz([日付]) = "", "", "AND([日付]=#" & [日付] & "#)") f = f & IIf(Nz([名前]) = "", "", "AND([名前] LIKE '*" & [名前] & "*')") f = f & IIf(Nz([会員番号]) = "", "", "AND([会員番号]=" & [会員番号] & ")") f = f & IIf(Nz([金額]) = "", "", "AND([金額]=" & [金額] & ")") MsgBox f サブフォーム1.Form.Filter = f サブフォーム1.Form.FilterOn = True End Sub