シリーズ動画「実践!Access検索フォーム」

シリーズ動画「実践!Access検索フォーム」

YouTubeで「はじめてのMicrosoft Access」という入門講座シリーズを作りましたが、続いて実践編のシリーズも始めています。動画を見ながら同じように動かしてみたい方向けに、撮影したサンプルと同じものを用意しました。zipファイルになっているので、ダウンロード&展開してお使いください。


第1回 サブフォーム×選択クエリ

まずは検索のためのフォームを作ります。非連結のフォームにサブフォームを配置して、選択クエリを表示するところまでを解説しています。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。マクロを使っていないのでブロックのままご利用いただいて問題ありませんが、解除する場合はこちらをご覧ください。

第2回 抽出条件×コントロール

選択クエリの抽出条件に、指定のフォーム上のテキストボックスを指定します。それだけだと動かないので、サブフォームを再読込する命令をVBAで書きます。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。マクロを使っていないのでブロックのままご利用いただいて問題ありませんが、解除する場合はこちらをご覧ください。

第3回 キーワード×絞り込み

テキストボックスを追加、その中に入れたテキストを「含む」条件を設定して、キーワード検索を実装します。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。こちらを参照してご利用ください。

第4回 VBA×SQL

VBAに直接SQLを書いて、クエリを上書きする方法を解説しています。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。こちらを参照してご利用ください。

第5回 ボタン×条件切替

2つめのボタンを付けて、抽出条件のあり/なしを切り替える方法を解説しています。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。こちらを参照してご利用ください。

社員名の検索も追加するには

コメントをいただいたのでこちらへ追記します。フォームへ「txb_社員名」というテキストボックスを追加したうえで、更新ボタンのイベントプロシージャを以下のようにしてみてください。

Private Sub btn_更新_Click()
    Dim sqlTmp As String
    sqlTmp = _
        "SELECT T_備品持出履歴.持出ID, T_備品持出履歴.持出日, T_備品持出履歴.備品名, T_備品持出履歴.数量, T_社員マスター.社員名 " & _
        "FROM T_社員マスター INNER JOIN T_備品持出履歴 ON T_社員マスター.社員ID = T_備品持出履歴.社員ID " & _
        "WHERE (((T_備品持出履歴.持出日) Between [Forms]![F_検索]![txb_開始日] And [Forms]![F_検索]![txb_終了日]) " & _
        "AND ((T_備品持出履歴.備品名) Like '*' & [Forms]![F_検索]![txb_備品名] & '*') " & _
        "AND ((T_社員マスター.社員名) Like '*' & [Forms]![F_検索]![txb_社員名] & '*')) " & _
        "ORDER BY T_備品持出履歴.持出ID;"
    CurrentDb.QueryDefs("Q_検索").SQL = sqlTmp
    Me.sbf_履歴.SourceObject = "クエリ.Q_検索"
End Sub

日付は必須項目なので、両日入っていないと結果がゼロになってしまいますのでご注意ください。

第6回 リストボックス×SQL

サブフォームを使わずに、リストボックスへシンプルにデータを表示する方法を解説しています。

ダウンロードサンプル 

インターネットからダウンロードした.accdbファイルは安全のためマクロがブロックされる仕様になっています。こちらを参照してご利用ください。

公開日:2025/06/23
更新日:2026/01/23

書籍を執筆しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)

YouTubeでQ&Aコンテンツを企画しています

運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。