●全ページ一覧の表示(ページ下へ移動)>>

▲PAGE TOP

フォームへのクエリの連結のやり方


NO 内容 分類 発行日
vol155 フォームへのクエリの連結のやり方 VBA 2012年2月29日

お客様からの質問を受けました。

フォームやサブフォームでデータを一覧で表示する場合です。

通常は、

  • フォームのプロパティの「レコードソース」にテーブル名やクエリ名を選択します。

  • データを表示する「テキストボックス」のプロパティの「コントロールソース」にテーブルやクエリの項目(フィールド名)選択します。

これで、フォームを開くとフォームに連結された、テーブルやクエリが表示されます。

でも、クエリがパラメータクエリだと困りますね。

パラメータクエリが動くと条件のポップアップが開きます。
条件の項目を入力しないと先に進めません。

フォームを開いたときに、いつもパラメータクエリが開くと困りますね。

フォームを開いたときには、フォームが開いて、ボタンなどをクリックしてパラメータクエリが動いて条件をいれてデータを表示させたいですね。

そのやり方です。

いろいろなやり方がありますが、今回は、ボタンをクリックしたときにサブフォームにデータを連結するやり方を説明します。

通常は、サブフォームへのクエリを既に連結していると思います。
そして、項目を表示するために、テキストボックスのコントロールソースにクエリの項目を連結していると思います。

この2つをまず削除します。

フォームを開いたときは、連結はありませんので、データは何も表示しません。

ボタンをクリックしたときにデータを表示したければ、ボタンのクリック時にサブフォームのフォーム/レコードソースにクエリを連結します。

Forms!フォーム名!サブフォーム名.Form.RecordSource = "パラメータクエリ名"

次にテキストボックスのコントロールソースに項目名を連結します。

Forms!フォーム名!サブフォーム名!テキストボックスの項目の名前.ControlSource = "クエリの項目名"

最後にサブフォームを読みこみます。

Me!サブフォーム名.Requery


これで、ボタンをクリックしたときに、パラメータクエリのデータを表示することができます。

もし、フォームを開いたときに前のレコードソースやコントロールソースが残っている場合は、フォームを開いたときにレコードソースやコントロールソースに空白を入れるVBAが必要になります。

レコードソースには、クエリだけではなくて、SQL文も入れることができます。
とても、便利です。


参考にしてください。



おすすめ教材


就職・転職にはマイクロソフトオフィスの知識が必修です。





[↑一番上へ]
[マイクロソフトアクセス(Access)活用法(メールマガジン)(ホームへ)]
11:421108

<<全ページのメニューリストです>>

アクセス(Access)の概要

アクセス(Access)全体

テーブル

クエリ

フォーム

レポート

マクロ

VBA

SQL Server

システム開発

SQL Azure

その他