ACCESS 検索フォームの作成 その1 連結 非連結とは

B!

目次

検索フォームの作成について

こんにちは。伊川(@naonaoke)です。

今回は、ACCESSの初心者が、いったんは、疑問に思うことを説明します。

そして、疑問を解消しながら、カンタンな検索フォームを作成します。

問題提起

 

株)IKAWAの阿久 世子男(アク セスオ)は上司から、下記の依頼を受けました。

・オートルックアップクエリを使うこと。

・検索フォームを作成すること。

ACCESSのマニュアル本を読んだのでが、連結、非連結という言葉でてきます。

まったく何を言っているのか理解できません。

どうしたらいいだろうか?

解決策

 

回答

・非連結ボックスで、検索窓を作成する。・カンタンな検索フォームなら、オートルックアップクエリを使う。

連結ボックスと非連結ボックス

連結ボックス

フォームで入力した内容が、直接テーブルに反映されるのが、連結ボックスです。

フォームでデータ入力のために使います。

非連結ボックス

フォームで入力した内容が、テーブルに反映されないのが、非連結ボックスです。

フォームで、検索窓などによく使います。


こんな型になっています。

検索窓が、なぜ、非連結ボックスになっているのかという疑問を回答します。

検索するたびに、検索ワードがデータベースに反映されたら、データベースがパンクするからです。

検索フォームを作成する

オートルックアップクエリ、連動コンボボックスを作成します。

上の記事はすでに紹介済です。

作成手順 その1 データベースを確認する


 


ここがポイント

各車の購入金額を検索したいとします。データベースを確認すると、一意のキーがありません。つまり、主キーがありません。オートルックアップクエリが使えません。なので、必ず、主キーは設定しましょう。今回はガムシャラに主キーを設定します。データベースを作成するときはオートルックアップクエリが使えるように設計しましょう。


検索キーに主キーを設定しました。

主キーを設定できたということは、検索キーが、重複がなく、かつ、空白ではないということです。

主キーが設定できたということは、オートルックアップクエリが使えるということです。

作成手順 その2 非連結のボックスを使って、5連動のコンボボックスを作成


検索フォームを作成します。

検索フォーム作成後、検索窓を作成します。


この5つの条件で、検索条件を絞ります。

このボックスに関しては、全て非連結のボックスです。

そこに、5連動のコンボボックスを作成します。

コンボボックスの作成に関しては、上の記事を読んでください。

作成手順 その3 オートルックアップクエリを作成する



上の図のように、一対多のリレーションを設定して、クエリを作成します。

クエリの名前をQ_オート検索にしました。

作成手順 その4 検索フォームのレコードソースを変更する

一応全てのフィールドの配置が終わったら、検索フォームのレコードソースを変更してください。

Q_オート検索に必ず変更してください。

Q_オート検索に変更しないと、オートルックアップクエリが使えないからです。

作成手順 その5 検索ボタンにVBAのコードを仕込む

Private Sub コマンド83_Click()

Me.検索キー = Me.[メーカー検索] & Me.[車種検索] & Me.[ハイブリット検索] & Me.[色検索] & Me.[備考検索]

Me.検索した日 = Date

End Sub


仕掛けはものすごく、カンタンです。

各項目をアンパサド(&)で連結しました。

連結した言葉は、そのまま検索キーとなります。

その検索キーが、芋づる式に、値を引っ張ってきます。

まとめ

今回のまとめ

非常にカンタンな検索フォームを作成しました。オートルックアップクエリと、主キーがあれば検索は、カンタンです。

サンプルファイルはNo39です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

最新の記事はこちらから