Access2000でクラスによって異なるSQLを発行しレポートに取り込む方法

このQ&Aのポイント
  • Access2000でフォームのリストボックスで選択されたクラスによって異なるSQLを発行し、レポートに取り込む方法を知りたいです。
  • (1)SQLの発行タイミングとレポートへの渡し方についてご教示ください。
  • (2)取得した行ごとに1ページのレポートにする設定方法について教えてください。
回答を見る
  • ベストアンサー

access2000で列数によって違うページに

初心者にて畏れ入ります。 Access2000で帳票を作成してます。 フォームのリストボックスで選択されたクラスによって 異なるSQLを発行し、 レポートに取り込みたいのですが、方法がわかりません。 (1)SQLはどのタイミングで発行し、どうレポート渡すのでしょうか?  コンボボックスのイベントでレポートのオープンはできますが、  ここでSQLを発行したとしても、どうレポートに渡せばいいか  分かりません。 (2)取得した行につき1ページのレポートにしたいのですが、 (3行なら1行目は1ページ目など、3ページにしたい) どう設定すればよいでしょうか? ・フォームのデザインは同じものを使用します。 ・テーブルはたとえば以下のようなものです。 table A(クラス 名前 点) A a 100 B b 80 B c 50 B d 80 A e 60 畏れ入りますが、よろしくお願いします。

  • mnaka
  • お礼率78% (11/14)

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

  • ベストアンサー
noname#32244
noname#32244
回答No.1

こんばんは。 何か他のプログラミングの経験がおありがゆえに、 逆にとまどっておられるみたいですね。 アクセスの場合は、 レポートのレコードソースのSQL(クエリ)の抽出条件欄に フォームのコンボボックスを参照する式([Forms]![f_クラス選択]![cboクラス]など)を入力しておき、 レポートをプレビューするとフォーム上コンボボックスの値で抽出したデータが表示されます。 一行ごとの改ページについてですが、 詳細セクションのプロパティの[改ページ]を”カレントセクションの後”に変更する と一行づつ改ページされると思います。 ご参考サイト http://www.accessclub.jp/ http://www.moug.net/boards/index.htm

mnaka
質問者

お礼

hanoi88さん、 ありがとうございました。 解決しました。 おっしゃるとおり、C一辺倒で来てますので 少し戸惑ってます。。。 参考サイトも役立ちそうです。

関連するQ&A

  • ACCESSでフォームの明細で他の値を参照させたい

    ACCESS2010でフォームで明細行のコンボボックスを、他のテキストボックスの値を使って 行単位で動的に変更したいのですが、どのようにしたらよろしいのでしょうか 例えば、 1行目のAのコンボボックスで「果物」を選択したら、Bのコンボボックスは「リンゴ・みかん・イチゴ」を表示させたい 2行目のAのコンボボックスで「野菜」を選択したら、Bのコンボボックスは「きゅうり・きゃべつ」を表示したい もちろん、テーブルに下記のように保存されています 【分類】|【名称】 野菜|きゅうり 野菜|きゃべつ 果物|りんご 果物|みかん 果物|イチゴ

  • accessのレポートで…

    レポート(テーブル1から作成)にあるフィールド1には「1・2・3…」という数字が入っています。 この1・2・3はテーブル2(ID・名前)とリンクしています。 フォーム上ではコンボボックスにして、テーブル2の名前も表示するようになっています。 (テーブルに値としては入っていません) これでレポートを作成した場合、テーブル2の名前を表示させたいのですが、テキストボックスで Iif([フィールド1] = "1","****",Iif(… というようにしてしまうと、せっかくリンクにしたのにデータが固定になってしまうのを避けたいんです。 フォームだとコンボボックスの更新後処理とレコードの移動にコードをかけば最新の情報を表示することができたんですが、レポートでもこのようなことはできるんでしょうか? (コードをかいて処理したいです) Access2000です。 よろしくお願いします。

  • accessのコンボボックスのことで質問です。

    accessを勉強しているのですが、ちょっとしたことで分からなくなってしまいました・・。 質問の内容なのですが、まずフォーム上にコンボボックスAとコンボボックスBを配置するとします。 レコードソースには仮に[情報テーブル]というテーブルが選択されているとします。 コンボボックスAには[情報テーブル]のフィールド名が、 例えば[顧客NO]、[商品]、[値段]というフィールド名が入っているとし、フィールドにはそれぞれ10件ずつデータが入力されています。 そしてコンボボックスAで[顧客NO]を選択するとコンボボックスBに[顧客NO]の10件のデータが挿入され、選択できるようにしたいのです。 他のフィールド名を選んだときにも同じようにコンボボックスBにフィールドのデータが入るようにしたいと思っています。 コンボボックスAにテーブル名を入れることはできたのですが、 コンボボックスAで選択されたフィールドのデータを、コンボボックスBで選択できるようにするというやり方がわからないのです・・。 accessは2002を使っています。 よろしくお願いします。

  • アクセスのコンボボックスの内容が消えてしまいます

    入力フォームでサブフォームを作り、そこに設置したコンボボックスA,Bという2つの連鎖したコンボボックスがあります。 1つ目(1行目)を入力すると正常に動くのですが、2つ目のレコードに進み同様に入力していくと、1つ目のコンボボックスBの内容が消えて、2つ目のコンボボックスBが正常に表示します。 どうすればレコードが複数進んでも、コンボボックスBの内容が消えないようにできるのでしょうか?

  • Accessのフォームとテーブルについて教えてください。

    Access2003を使用しています。 既存のフォームAにフィールド3個を増やしました。 フォームAはテーブル(1)と連動していました。 追加したフィールドはテーブル(6)のものです。 ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。 フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。 フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。 テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。 テーブル(6)の画面では入力できます。 フォーム上からは入力できません。 設定が何か欠けているからでしょうか? 他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか? 手順なども踏まえて教えていただけると助かります。 よろしくお願いいたします。

  • ACCESSで質問です

    ACCESSで質問です。 利用するのは  フォームZ  フォームZ内にコンボボックスA、コンボボックスB  商品テーブル  部門テーブル  振分テーブル  詳細テーブル になります。 やりたいこと (1)コンボボックスA、コンボボックスBがあるフォームZで、コンボボックスAで選択した値を元にコンボボックスBの値を絞りたいです。 (2)変更した値がフォームZを開いた時に表示されるようにしたいです。 現在の設定 フォームZはデータを更新する画面で、コントロールソースで商品テーブルの各項目に値を読み込ませています。 この時、コンボボックスAは商品テーブルに登録済みの部門テーブルの区分を、 コンボボックスBは商品テーブルに登録済みの詳細テーブルの保障を表示させるようにしたいです。 現在うまくいかない点 コンボボックスBに登録済みの初期値が反映されません。 各テーブルの中身は以下の様な感じで、部門テーブルのIDが振分テーブルのIDとリンクし、 振分テーブルのNoが詳細テーブルのNoとリンクしています。 部門テーブル(コンボボックスA)  ID(1カラム目):区分(2カラム目)  1:テーブル  2:チェア  3:ソファ  4:テレビ台  5:本棚 振分テーブル  ID(1カラム目):区分(2カラム目):保障(3カラム目):No(4カラム目)  1:テーブル:1年:1  1:テーブル:2年:2  1:テーブル:3年:3  1:テーブル:5年:4  1:テーブル:10年:5  2:チェア:1年:1  2:チェア:2年:2  2:チェア:3年:3  2:チェア:5年:4  2:チェア:10年:5  3:ソファ:1年:1  3:ソファ:2年:2  3:ソファ:3年:3  4:テレビ台:1年:1  4:テレビ台:3年:3  4:テレビ台:5年:4  5:本棚:1年:1  5:本棚:5年:4  5:本棚:10年:5 詳細テーブル(コンボボックスB)  No(1カラム目):保障(2カラム目):金額(3カラム目)  1:1年:10,000  2:2年:19,000  3:3年:24,000  4:5年:35,000  5:10年:50,000 コンボボックスA  コントロールソース:区分  値集合タイプ:テーブル/クエリ  値集合ソース:SELECT 区分,ID FROM 部門テーブル  列数:2  列幅:2;0 コンボボックスB  コントロールソース:保障  値集合タイプ:テーブル/クエリ  値集合ソース:SELECT 保障,金額,No FROM 詳細テーブル  列数:3  列幅:1;3;0 どなたかご教示頂けないでしょうか。 宜しくお願い致します。

  • (アクセス)全てのイベントプロシージャが無反応に

    何らかの原因でプロシージャやコマンドボタンに設定したマクロ等が無反応になる現象に苦慮しています。 多くのフォームの中で、この現象に関連するフォームは2画面あり、それぞれをフォームA、フォームBということで説明いたします。((1)~(4)) (1)フォームAのコマンドボタン押下でフォームBを開きクエリーのデータ(フォームAで指定した条件)  を表示しています。  フォームBで他のフォームと異なっているプロパティは次の通りです。  ・ポップアップ ----はい  ・作業ウィンド固定 --はい (2)フォームBにはレコードソース(クエリ)の値を表示する幾つかのテキストボックスとコンボボックス  が2つあり、それぞれをコンボA、コンボBとするとフォームBを開いた時はそれぞれにクエリーの   データを表示し、変更する場合はコンボAで選定した条件でクエリによりコンボBにデータを表示す  るようにしています。 (3)なお、コンボAの列数は2で、コンボボックスには列1のデータ(商品名)を表示するようしていて列 2の値(商品コード)を一旦テキストボックスに取り出し、そのコードでクエリによりコンボBのデータ  を表示しています。テキストボックスのプロパティのコントロールソースには次のように記述していま す。   =コンボ186.column(1)   ※=コンボ186がコンボAのことです (4)あと、フォームBにはデータをチェックするためのイベントプロシージャが幾つかとフォームAへ戻る ためのコマンドボタンがありますが他のフォームと比べても特に問題は無いように思えます。 以上のような環境でフォームAからフォームBを開いた時に、フォームBにはレコードソースであるクエリの値は全て表示するものの全てのイベントプロシージャ及び(3)で説明しました  =コンボ186.column(1) の処理が一切動作しなくなります。 しかし、次の操作により回復し、その後はACCESSを終了し再起動しても正常に動作します。  ・フォームBをデザインビューで開く  ・フォームBを開く時に設定しているイベントプロシージャを表示  ・イベントプロシージャをいじって閉じる。(内容は変更しない)  ・フォームBをホームビューで開く   だらだらと長くなり説明も不十分かと思いますが、原因がどうしてもわからなく困っております。 何か手がかりを教えて頂けたらと思い投稿しました。 よろしくお願いいたします。

  • フォームを開くときに、コンボボックスの値を選択(アクセスVBA)

    こんにちは。 アクセスVBAで、フォームを開いたとき (フォームのOpenイベント)に、 コンボボックスの値を選択したいのですが、 どういう方法が、あるでしょうか。 理想は、 フォームのOpenないし、Loadイベント内で、 コンボ0.ItemData(2).Selected と、書くような感じです。 (無論、Selectedは使えませんでした)。 よろしくお願いします。

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

  • accessで2つのフィールドを同時に入力したい

    access2003を使っています。 フォームからではなく、テーブルに直接入力する場合での質問です。 [メインテーブル] NO |名前 |クラス ---|-------|--------- 1 |Aさん |1組 2 |Bさん |1組 3 |Cさん |2組 というテーブルがあって 名前のフィールドは以下のテーブルから ルックアップでコンボボックスを使って 入力したいと思っています。 [名前テーブル] 名前 |クラス -------|--------- Aさん |1組 Bさん |1組 Cさん |2組 そのとき、メインテーブルに「名前」を入力と同時に「クラス」も入力できるように したいのですが、どうしたらよいでしょうか?