pickup

目次

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

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

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

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

問題提起

 

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

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

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

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

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

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

解決策

 

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

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

連結ボックス

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

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

非連結ボックス

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

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


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

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

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

検索フォームを作成する

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

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

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


 


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


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

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

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

作成手順 その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


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

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

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

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

スポンサーリンク

まとめ

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

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

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

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

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

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

スポンサーリンク

Twitterでフォローしよう

おすすめの記事