• ベストアンサー

Access2000のレポートについて・・・。

どなたか教えてください。 レポートにこれまで作成してきた任意のクエリーを 読み込むにはどうしたらよいでしょうか? 出来ればクエリーをリストボックスの中から 選択して、レポートに流し込む方法を 教えて頂けないでしょうか・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • ykymtkt
  • ベストアンサー率51% (14/27)
回答No.2

フォームにコンボボックスを作り、 値集合タイプを"テーブル/クエリ" 値集合ソースに "SELECT Name FROM MSysObjects WHERE type = 5 AND LvProp Is Not Null" を設定すると作成したクエリの一覧を表示できます。 コマンドボタンのクリックイベントで DoCmd.OpenReport "レポート名", acViewPreview,[コンボボックスで選んだ値] を実行します。 [コンボボックスで選んだ値]の部分はコンボボックスのフォーカス喪失時に適当なPublic変数にTextプロパティーを代入してから記述してください。 クエリの構造(フィールドの名称等)は統一しておく必要があります。

nbh801
質問者

お礼

返事が遅れましたが、試したところ確かにできました。どうもありがとうございました。

その他の回答 (1)

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.1

その作成してきたクエリーは構造は同じでしょうか?もしくはレポートで使いたいフィールド名は全て存在しますか? 私がよく使う、既存のクエリーを生かして、レポート1つに複数のクエリーを表示させたい場合の方法です。この場合は、コンボボックスなどで選択した場合です。 1.同じ構造のレポート用クエリーを作る(データは抽出できてもできなくても良い) 2.それを元にレポートを作成する 3.レポートの呼び出し元で、選択したクエリーの SQLプロパティ(QueryDefs("").sql)から SQL文を取得する 4.レポートで使用しているレポート用クエリーの SQLプロパティに3で取得した SQL文を設定する 5.レポートを呼び出す 3~5を VBAで書けば、お望みの物ができると思いますよ。

nbh801
質問者

お礼

VBAのスキルが低いのでよくわかりませんが、方法を提示していただき感謝します。どうもありがとうございました。