![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
画像のようにコンボ1、コンボ2、テキストボックス3という検索フォームフォームを作りました。
コンボ1は会社の部署、コンボ2は所属課、テキスト3は備考、メモ欄です。
検索開始をクリックしたら選択されている項目のみでレコードを表示させたいです。
パターンは、
コンボ1コンボ2テキスト3全て完全一致の検索。
コンボ1は選択、コンボ2は未選択、テキスト3は検索範囲を絞るワードを入れる、検索。
コンボ1、2が選択でテキスト3は空白で検索
最後にテキスト3のみで検索。
4パターンを作れと指示があり、本を読みながら検索フォームまで何とか漕ぎ着けた初心者です。
完全一致はマクロビルダーを使って出来たのですが、他のパターンがand検索にならず困っています。
マクロビルダーではこれらの事をするのは難しいでしょうか?
![「Access 複数条件検索の設定が上手く」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/f/543175455_62da8b9c792d4/M.jpg)
No.1ベストアンサー
- 回答日時:
こんにちは。
なかなか回答付かないですね、、
自信ありませんけど回答してみます。ご質問の内容自体はそれ程難しいことではないです。
ただ、さらりと書いていらっしゃいますが、マクロビルダーでこれを考えるのは大変です。できるとは思いますけど、その手順を説明するのがしんどいです。
よって、コンボボックスへデータ追加等の基本的な部分はできている前提で、VBA の回答をします。考え方は応用できると思います。
1.>レコードを表示させたいです。
・・どこに?
とりあえず、[検索フォーム結果] というサブフォームを作って、そこに表示させます。
2.検索条件について
4パターンあるとのことですが、恐らく考え過ぎです。シンプルに考えてみます。
まず、テキスト3が「備考」であるなら、テキストボックスに完全一致する検索語を入力するって大変じゃないですか?
部分一致検索(ワイルドカードによる)で問題ないと思います。
テキスト3が空の時は、ワイルドカードで挟んでしまえば良いだけ。
そこを押さえたら後は、
1)ComboBox1 に入力値があれば AND で条件を追加する
2)ComboBox2 に入力値があれば AND で条件を追加する
でご希望の結果を表示させる SQL が完成します。
検索ボタンの名前が btnSearchとしたら、そのクリック時に[イベントプロシージャ]、次のようなコードを書き込みます。なお、
cbo部署 → ComboBox1
cbo所属課 → ComboBox2
txt備考 → TextBox1
の様にご自身のコンロール名に置き換えて下さいね。
Private Sub btnSearch_Click()
'/Guard
If IsNull(cbo部署) * IsNull(cbo所属課) * IsNull(txt備考) Then
MsgBox "検索条件を入力して下さい", vbInformation
Exit Sub
End If
Dim dep As String: dep = Nz(cbo部署.Value)
Dim sec As String: sec = Nz(cbo所属課.Value)
Dim mem As String: mem = Nz(txt備考.Value)
Dim sql As String
sql = ""
sql = sql & "SELECT *"
sql = sql & " FROM [テーブル1]"
sql = sql & " WHERE [備考] LIKE '*" & mem & "*'"
If Len(dep) Then sql = sql & " AND [部署] ='" & dep & "'"
If Len(sec) Then sql = sql & " AND [所属課] ='" & sec & "'"
sql = sql & ";"
With Me.検索フォーム結果.Form
.RecordSource = sql
.Requery
End With
End Sub
ありがとうございます!!
ちゃんと検索できるようになりました。
KenKen_SP様の言う通り難しく考えすぎていたんですね…すべてのパターンで考えなければならないと思っていました。
頼るものが本しかなかったので本当に助かりました。
SQLというのも初めて知ったので、教えていただいたコードを意味を調べてみてとても勉強になりました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- 迷惑メール・スパム gmailの過去のメールを一括削除する方法について 3 2023/04/19 05:27
- エッセイ・随筆 尋常小学校唱歌『さくら さくら』の解釈について以下のものは成立しますか?普通じゃおもろない? 7 2023/02/26 16:52
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- au(KDDI) Android Gmail で検索して消す方法 1 2022/11/10 16:10
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
ACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?
Access(アクセス)
-
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
-
4
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
5
フォームに複数の検索機能をつける方法
Access(アクセス)
-
6
ACCESS検索★ある文字を複数のフィールドの中から検索したい
その他(コンピューター・テクノロジー)
-
7
accessvba 複数条件でFilterをしたい
Access(アクセス)
-
8
ACCESSのクエリで抽出条件「または」は9個までしかかけませんよね…
Access(アクセス)
-
9
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
10
access マクロでのフィルタの解除の方法
Access(アクセス)
-
11
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
12
アクセスVBAのMe!と[ ]
Access(アクセス)
-
13
アクセスで特定のレコードのみのレポートを印刷したいのですが。
Access(アクセス)
-
14
Accessでの抽出で完全一致。
Excel(エクセル)
-
15
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
16
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
17
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
18
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
19
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
20
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access 複数条件検索の設定が上...
-
コンボとセットの違い
-
Access コンボボックスの値を...
-
アクセスのコンボボックスの重...
-
Access パラメータークエリ VBA...
-
「ぱーりない」「パーリナイ」...
-
異世界転生ってなんで流行って...
-
半分寝ている状態のとき、不思...
-
闇
-
ラテン語で「闇」を意味する単...
-
タイムリープ経験者いますか。...
-
以下は、イアン・スティーヴン...
-
もみじの別名は?
-
経管栄養について
-
梶井基次郎の「闇の絵巻」という...
-
ヒロアカのオールマイトは何で...
-
マシンゼウス周回パーティーに...
-
光と闇、どっちが好きですか?
-
パーティ券
-
TinasheのParty Favorsと言う曲...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
コンボとセットの違い
-
Access 複数条件検索の設定が上...
-
アクセスのコンボボックスの重...
-
Access パラメータークエリ VBA...
-
「コンボ」の意味教えてください
-
しょーもない質問ですが…
-
ACCESSコンポボックス
-
アクセス コンボボックス VBA
-
access vba コンボボックス 読...
-
Nullについて
-
CD-RWドライブで、CD-...
-
PS3バイオハザード6 マーセナリ...
-
コンボボックスの値が変更され...
-
「ぱーりない」「パーリナイ」...
-
ラテン語で「闇」を意味する単...
-
転生アニメの食事問題。 日本人...
-
闇バイトの応募はおとり捜査で...
-
ヒロアカのオールマイトは何で...
-
梶井基次郎の「闇の絵巻」という...
おすすめ情報