検索フォームを作成中でどうしても複数条件の検索がうまくいかず
苦戦しており質問をさせていただきます。
【内容】
検索条件項目が3個ありそれぞれにテキストボックスを配置
テキスト名
担当者名 含む検索 "担当者名 like '*" & Me!担当者名検索& "*'"
顧客名 含む検索 "顧客名 like '*" &申込者名検索& "*'"
利用日 "利用日 like #" & 利用日検索 & "#"
それぞれのテキストボックスは、常に3個の条件で抽出するわけでなく、
担当者名のみ・顧客名のみ・利用日のみのテキストボックスに入力して検索ボタンを
クリックして検索結果を求めるようにしたいのですが。
どなたかご教授お願いいたします。
Access2013使用
No.2ベストアンサー
- 回答日時:
No.1 です。
> Me.Filter = Mid(strFilter, 3)⇒⇒この部分でエラーストップしてしまいます。
ここは変更してはいけません。
Me.Filter = Mid(strFilter, 6)
です。
コードの意味は
テキストボックスに何らかの条件が入力されている場合、
変数 strFilter は、" AND " で始まる文字列になります。
" AND 担当者名 like '*田中*' AND 顧客名 like '*高橋*'" などのように。
先頭の " AND " が余計で エラーになりますから
それを取り除くために、この文字列の 6文字目から取り出す、
それが Mid(strFilter, 6) になります。
Mid 関数の 第3引数を省略すると、残りすべての文字が返ります。
(省略しなければ、その文字数分)
以下、余計なお世話かもしれませんが
2018/01/17 13:12 のコメントでは、Like の ワイルドカードの記述のところに
余分な スペースが含まれています。
文法的には正しくても、期待する抽出ができませんので、
きっちり正確に記述しましょう。
あとは、
"利用日 like #" & 利用日検索 & "#"
「利用日」は 日付時刻型 ですよね?
テキストボックス「利用日検索」に 日付 を 入力しているなら
比較 は 「Like」 ではなく 「=」で比較しましょう。
「利用日検索」に日付以外、"2018/1" などと入力して
特定の年月のものを抽出しようとしているなら、「#」は不要ですし、
コントロールパネルの設定によっては期待する結果になりません。
No.1
- 回答日時:
bonaronさん
コメントありがとうございます。
すいません。回答頂いたアドレスを参照しながら、自分に必要な部分
をコピーしてイベントプロシージャーを作成したのですが、意味が分からず、
ただ、コピーをしたので実行時エラーが発生してしまい先に進めない状態と
なってしまいました。
イベントプロシージャーは以下のように作成しました。
Private Sub 検索_Click()
'テキスとボックス内容を保存する変数を定義
Dim strFilter As String, strExp As String, aryOpe As Variant
If Not IsNull(Me.担当者名検索) Then
strFilter = strFilter & " and 担当者名 like ' * " & Me.担当者名検索 & "*'"
End If
If Not IsNull(Me.申込者名検索) Then
strFilter = strFilter & " and 顧客名 like ' * " & Me.申込者名検索 & "*'"
End If
If Not IsNull(Me.利用日検索) Then
strFilter = strFilter & " and 利用日 #" & Me.利用日検索 & "#"
End If
Me.Filter = Mid(strFilter, 3)⇒⇒この部分でエラーストップしてしまいます。
If strFilter = "" Then
Me.FilterOn = False
Else
Me.FilterOn = True
End If
End Sub
エラー部分の意味が全然分かりません。申し訳けございませんが、
教えて頂けませんでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Visual Basic(VBA) WordのVBAについて 5 2023/01/11 14:38
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- X(旧Twitter) Twitter検索から除外 1 2023/08/18 11:00
- Excel(エクセル) Excelで、別シートへ情報を参照表示する関数について。 2 2023/06/26 09:58
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Android(アンドロイド) Pixelのレコーダーで文字起こしした英文を検索する方法 4 2022/10/21 07:45
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
アクセスでのテキストボックスの複数条件での抽出
その他(Microsoft Office)
-
-
4
Accessフォームでの複数条件検索
Excel(エクセル)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
ACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?
Access(アクセス)
-
7
AccessVBA 実行時エラー'2766'について質問です。
その他(データベース)
-
8
Returnに対するGoSubがありません
Access(アクセス)
-
9
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
10
Access 複数条件検索の設定が上手く行きません
Access(アクセス)
-
11
ACCESSでフォームのチェックボックスにチェックを入れて任意の数値を入力したい!!!
Access(アクセス)
-
12
年月日を持つテーブルから年月を指定して抽出したいのですが
その他(データベース)
-
13
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
14
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
15
access2000:フォームで入力した内容を新規レコードにコピー
その他(データベース)
-
16
falseとtrue 0,1,-1 の意味が知りたいです
PowerPoint(パワーポイント)
-
17
アクセスVBAのMe!と[ ]
Access(アクセス)
-
18
アクセスで、チェックボックスにyesの時、金額表示の方法
Access(アクセス)
-
19
ACCESSのフォームからハイパーリンクで開く
Access(アクセス)
-
20
ACCESS で マクロの中でフィルタを使用する方法
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索フォームで空白を抽出したい
-
Accessのフォームで、空欄のレ...
-
Access2000で文字列中の半角ス...
-
SQL*Loader
-
★アクセス2002★DoCmd.ApplyFilt...
-
VBAからクエリのパラメータを設...
-
Accessの検索フォーム
-
アクセスのフォームにカンマ区...
-
ACCESS2003 でクエリの抽出条件...
-
年月日を持つテーブルから年月...
-
アクセス データ条件検索
-
access 検索フォームで検索が...
-
ACCESS マクロで検索に...
-
複数条件検索について
-
アクセス マクロのメッセージ...
-
Access レポート印刷するときに...
-
YahooのIDがロックされてしまい...
-
passwordが入れられません・・・・
-
レコードを保存するコード ア...
-
Accessでフィールド名を変数(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
Accessのフォームで、空欄のレ...
-
検索フォームで空白を抽出したい
-
ACCESSのフォーム上で複数検索...
-
VBAからクエリのパラメータを設...
-
ACCESS2003 でクエリの抽出条件...
-
アクセス マクロのメッセージ...
-
Accessの検索フォームで。
-
Access2007のサブフォームのReq...
-
パススルークエリの動的パラメ...
-
ACCESS マクロで検索に...
-
access 検索フォームで検索が...
-
AccessにてExcelファイル名にパ...
-
Access2000で文字列中の半角ス...
-
AccessのデータをExcelテンプレ...
-
アクセスの複数検索で日付の絞...
-
アクセスのフォームにカンマ区...
-
DBソフト ACCESS:検索フォー...
-
Accessでの電話番号下4桁での検...
おすすめ情報