
ACCESS 2010を使用しています。
一つのテキストボックスに対してキーワードを複数入力して、or条件で
かつ、テキストボックスを複数設置して、テキストボックス間はand条件で検索したいです。
例えば、テキスト型のフィールドが2フィールドあります。
「フィールドあ行」 には
あ
あい
いうえ
のようなデータがあって、
「フィールドか行」 には
か
かき
きくけ
のようなデータがあるときに、
「テキストボックスあ行」 に 「あ い」
「テキストボックスか行」 に 「か き く」
を入力して、検索ボタンを押すと、
「フィールドあ行」 が 「あ or い」 を含み、かつ
「フィールドか行」 が 「か or き or く」 を含むレコードを検索する
のようなコードをかきたいのですが、うまくいきません。教えていただけないでしょうか
No.2
- 回答日時:
「検索実行」ボタン(MySearch)を作成し、それぞれのテキストボックスの内容を元に、下記のような検索文字列を作成するプログラムを作ることが考えられます。
MyCriteria="(フィールド1 Like '*あ*' Or フィールド1 Like '*い*') And (フィールド2 Like '*か*' Or フィールド2 Like '*き*' Or フィールド2 Like '*く*')"
Me.Filter=MyCriteria
Me.FiterOn=True
具体的には下記のようになります。
MyResearchのクリック時プロシジャーに記載します。
全角スペースを半角に変換していますが、Replaceでも対応済かもしれません。
Private Sub MySearch_Click()
Dim MyCriteria As String, TempString As String
MyCriteria = ""
If Not IsNull(Me![Research1]) Then 'テキストボックス1の場合
TempString = Replace(Me![Research1], " ", " ") '全角スペースを半角に変換
MyCriteria = "(フィールド1 Like '*" & Replace(TempString, " ", "*' Or フィールド1 Like '*") & "*')"
End If
If Not IsNull(Me![Research2]) Then ’テキストボックス2の場合
If MyCriteria <> "" Then
MyCriteria = MyCriteria & " And " '前の検索文字列がある時は、Andを付加する。
End If
TempString = Replace(Me![Research2], " ", " ") '全角スペースを半角に変換
MyCriteria = "(フィールド2 Like '*" & Replace(Me![Research2], " ", "*' Or フィールド2 Like '*") & "*')"
End If
If MyCriteria <> "" Then
Me.Filter = MyCriteria
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
End Sub
参考にして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷での全角表示について...
-
ファイルメーカーのCase関数で
-
エクセルデータをワードで差し...
-
ACCESSでの文字数カウント
-
Accessのハイパーリンクをクリ...
-
ACCESSでフィールド名の変更(...
-
ACCESSのデータに自動で半角ス...
-
Acsess アクセス のクエリで...
-
ACCESSで条件によってフォーム...
-
sqlserverにはグループ集計のfi...
-
Word差し込み印刷のハイフン(...
-
エクセルにおける「フィールド...
-
フィールドの更新がない
-
ACCESS 重複データを1...
-
Access 複数のフィールドの平均...
-
WORD2003でドロップダウン...
-
CSVファイル読み込みでズレがお...
-
クエリで割り算する方法を教え...
-
Accessのデータをテキストファ...
-
ワードファイルの文字数制限ロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷での全角表示について...
-
ACCESSでの文字数カウント
-
ファイルメーカーのCase関数で
-
エクセルデータをワードで差し...
-
Accessのハイパーリンクをクリ...
-
エクセルにおける「フィールド...
-
フィールドの更新がない
-
クエリで割り算する方法を教え...
-
ACCESS 重複データを1...
-
Acsess アクセス のクエリで...
-
ACCESSのデータに自動で半角ス...
-
Word差し込み印刷のハイフン(...
-
ACCESSで条件によってフォーム...
-
sqlserverにはグループ集計のfi...
-
クエリーで、全角混じりデータ...
-
「Access2007」でレポートが作...
-
実行時エラー '3464': 抽出条件...
-
アクセスの操作について
-
access2007のフォームウィザー...
-
Access クエリの編集について
おすすめ情報