アクセスで15年ぶりに設計作業に携わっています。その中で設計の仕方に問題があるのか、データが取得できないため困っています。レポートに複数のテキストボックスを置き、レポート全体のデータソースは”売上情報”という名のテーブルからの選択クエリー[q_売上情報]としています。問題なのは、あるテキストボックスに表示させたい情報が、クエリーのデータの中で、あるフィールドの一部の情報だけとなる事です。具体的には下記のとおりです。
レポートの①テキストは[q_売上情報]の[事業所]フィールドのデータが”1”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。
レポートの②テキストは[q_売上情報]の[事業所]フィールドのデータが”null”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。
レポートの③テキストは[q_売上情報]の[事業所]フィールドのすべてのデータで且つ[商品]フィールドのデータが”0”の際の、[売上金額]フィールドのデータを集計させて表示させたい。
レポートの④テキストは[q_売上情報]の[清算日]フィールドから抽出した日付データを表示させたい。
最終的にレポートには縦列が日付で、横列に左から④①②③の順に並ばせて、日付ごとの売上データを表示させて完成、です。
各テキストボックスのデータソースにSQL分を書き込んで表示させようとしましたが、データが一位に取れないからなのか(?)テキストのデータが すべて「#Name?」となってしまいます。
そもそも設計の仕方に問題があるのではとも思いますが、解決策が見当たりません。どなたかお教えただけませんか?
ACCESSはクエリの作成においてSQLの直接入力にも対応しています。
リボンや右クリックのポップアップメニューからSQLビューとデザインビューを相互に切り替えられるので、q_売上情報クエリのSQLをコピーして質問されるとより良い回答が得られると思います。(場合によっては売上情報テーブルの構造も)
特定のフィールドの値を条件に部分的な集計をしたい場合、集計用のフィールドを用意して、そのフィールドで集計したいフィールドだけを抽出する条件を指定するとできます。
たとえば、①テキスト用なら
のようなフィールドを作り、クエリの集計機能を有効にし、集計の項目で合計を設定すると良いでしょう。