アクセスVBA検索結果をフォームに表示するコードの使い方

アクセス担当のまみです。

今回は、クエリで抽出した結果をフォームに表示させるところまでご紹介できたらと思っています。

検索結果が表示されるなんて感激ですね!

 

Contents

クエリの抽出結果を帳票フォームに表示のおさらい

 

今回は、クエリの抽出結果をフォームに表示します。クエリの抽出結果については前回お伝えしているので、下記の記事でおさらいをしておいてくださいね。

アクセスのクエリの抽出結果を帳票フォームに表示!

2018年10月4日

 

今回、説明のために「宛名印刷」ファイルを使用します。

プログラム作成の基本となる「フォームの作成」、「データの登録」、「データの検索」、「データの修正」、「レコードの削除」を「宛名印刷」ファイルを作成しながら、お伝えしています。

シリーズを読破すると、ついでにはがきの宛名印刷ができるようになっちゃいます。

お時間がありましたら是非、下記の記事から作成してみてください。

 

アクセスVBAでフォームにボタンを配置しよう

2018年9月18日
 
 
 
 
 
 
 
前回突然宿題を出してしまいましたので、宿題の答え合わせをしておきますね。
 
 
「F_データ検索」の「btnクリア」ボタンのクリック時に「イベントプロシージャ」の記載があり、「Private Sub btnクリア_Click()」と「End Sub」の間に下記のコードが記載されていればOKです。
 
 
    Me!tx氏名検索 = ""

 

コードをコピーされたい場合は下記の記事を参考にしてください。

関連記事

 

(はてな君)
動作確認もちゃんとしたよ!クリアされる!

 

フォームに検索結果を表示

 

ではさっそく、「btn検索」ボタンを左クリックで、検索結果がフォームに表示されるようにしてみましょう!

(はてな君)
コードを書く位置ならわかるよ!「btn検索」のクリック時に「イベントプロシージャ」を選んで表示させたとこ~!

 

(あいちゃん)
はてな君はしっかり復習してくれてますね!

 

 

「Private Sub btn検索_Click()」と「End Sub」の間に下記のコードを記載してみましょう。

'クエリの結果を表示
    If Me.tx氏名検索.Value = "" Then
        MsgBox "検索対象が入力されていません"
        Exit Sub
    Else
    End If
    
    Me.RecordSource = "select * from Q_検索"

 

「tx氏名」が空欄だったら、「検索対象が入力されていません」ってメッセージをだして終了。

そうじゃなかったら、「Q_検索」の結果を表示させてねって意味のコードです。

「F_データ検索」フォームをフォームビューで開いて確認してみましょう。

 

 

(はてな君)
検索結果が表示されたよ!

 

検索結果をクリア

 

ではクリアボタンを押してみましょう。

 

(はてな君)
えっと、氏名は消えたけど、クエリの結果ってそのままでいいの?

 

(あいちゃん)
そうですね。検索結果もクリアしたいですね。

 

クエリの結果もクリアさせるには、「btnクリア」ボタンにコードを追加する必要があります。

 

下記のコードを追加します。

    Me.Requery

 

これで、動作確認してみてください!

(はてな君)
検索結果もクリアされた!

 

 

これで「F_データ検索」のフォームに検索結果が表示されるようになりました。

 

[quads id=2]

 

フォームの体裁を整える

 

編集不可にしたテキストボックスの背景色をプロパティシート内の書式で変えておきましょう。

 

視覚的にこのデータはさわれないんだなって思ってもらえますね。

 

それから、「tx氏名」以外のタブストップはプロパティシート内のその他タブで「いいえ」にしておきましょう。

タブオーダーについては下記の記事を参考にしてくださいね。

 

【アクセス】フォームのタブオーダーを調整しよう

2018年9月22日

 

十分動作確認をしたら、「F_データ検索」フォームは保存して終了しておきましょう。

 
 

まとめ

 

「F_データ検索」フォームに検索結果が表示されるようになりました。

 

ボタンを押して、結果が表示されたらとっても嬉しいですね。

 

時々思った通りに動かなくて迷路に迷い込むこともありますが、迷路から抜けられると気分爽快です!

 

スポンサーリンク