- 締切済み
Access2010 レポートについて
商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード 商品名 個数 123 りんご 10 456 みかん 20 789 バナナ 30 【商品マスター】 商品コード 商品名 単価 123 りんご 100 456 みかん 200 789 バナナ 300 【レポート】※商品テーブルをもとに 123 個数 単価 りんご 10 100 ←商品マスターから直接表示したい
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- puku_oh_pu
- ベストアンサー率47% (47/99)
>まず、クエリで必要なフィールドを抽出し、商品テーブルに書き出しています。 「商品テーブルに書き出す」という表現が なにをなさっているのか解りません "テーブル"はデータを格納する入れ物です 強引に解釈して 「商品テーブルの[個数]フィールドにデータを入力している」という事でしょうか? とにかく そのクエリを示してください (デザインビューを画像キャプチャしたものでも SQL文でもいいです 念のため SQL文の出し方分かりますよね? クエリを開いた状態でメニューバーの表示→SQLビュー(当方Access2000なので違うかも) それをコピー、貼り付け してください) >「直接」というのは、商品テーブルの商品コードと商品マスターの商品コードが同じであれば、商品マスターにあるフィールド(単価)を表示するという計算式をレポートのテキストボックスに入力したいということですが・・・。 "レポート"上に表示するだけならANo.2さんのおっしゃるとおり Dlookup関数を使えばできますが それをすることに意味があるのか… なぜ クエリを使わずにやりたいのですか? >○複数のテーブルからレポートを作れば・・・とありますが、クエリを先に作成しなくてもレポートに複数のテーブルを設定できるのですか? 新規作成のレポートウィザードに従えばできますよ でもクエリを作ってからそのクエリを基にレポートを作ったほうがやりやすいですね >○テーブル"商品"に[商品名]フィールドを設けてはいけません・・・・何故ですか? これを理解するのがリレーショナルデータベースソフトの第一歩ですね だっていらないでしょ 商品マスターテーブルで"りんご"を"123"と表す、と定義しているんだから 二つのテーブルに設ければ混乱の元です 必要があれば またのちほど述べさせていただきます 解らない点をもう一つ聞いときます [商品テーブル]の[個数]とは何の数ですか? 販売個数? 在庫個数? 買ってくる個数? ↑これは間接的な聞き方で 直接的には [商品テーブル]の主キーはどうなってるの?
- ksd_hiro
- ベストアンサー率76% (29/38)
非連結テキストボックス+Dlookup関数
- puku_oh_pu
- ベストアンサー率47% (47/99)
う~ん 困ったな >商品マスターから直接レポート上に単価の項目を呼び出したいのですが この「直接」とはどういう意味ですか? >クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? これから察すると クエリを使わないで、ってこと??? 複数のテーブルからレポートを作れば表に出てきてないとしてもクエリは作られてますよ 「クエリで必要な項目(フィールド)を選択表示させ、条件で抽出し、レポートにする」ためのデータベースソフトなのですが… もう少し補足をお願いします *あと余計なことかもしれませんが テーブル"商品"に[商品名]フィールドを設けてはいけません
補足
補足になるかどうか分かりませんが・・・ まず、クエリで必要なフィールドを抽出し、商品テーブルに書き出しています。 その商品テーブルに書き出したフィールドを基にレポートを作成しています。 「直接」というのは、商品テーブルの商品コードと商品マスターの商品コードが同じであれば、商品マスターにあるフィールド(単価)を表示するという計算式をレポートのテキストボックスに入力したいということですが・・・。 (クエリを使わずに表示したいというのは無理なことでしょうか?) 教えてくださいm(__)m ○複数のテーブルからレポートを作れば・・・とありますが、クエリを先に作成しなくてもレポートに複数のテーブルを設定できるのですか? ○テーブル"商品"に[商品名]フィールドを設けてはいけません・・・・何故ですか? Access初心者で申し訳ないです(>_<)
お礼
回答を受け、商品テーブルの商品名フィールドを削除しクエリを実行したところ、きちんと商品名は表示されたので、私のクエリの受け取り方に問題があったと思います。 (商品テーブルの商品名フィールドには商品マスターから呼び出した商品名が入るものだと思っていたから・・・実際は空白ですよね(>_<)) なので、作成し直しました。気づかせて頂いてありがとうございます。 レポートの表示については、=DLookUp関数を使用し、レポートに表示させることが出来ました。 クエリを作成しレポートを作成するか、レポートに=DLookUp関数を使用し表示させるかは、今後使用していく中で検討していこうと思います。 ありがとうございました。