- 締切済み
Access2003の質問です。
まず、日報を作成しました。 【担当者】**** 2008年07月 日 曜日 工事コード 工事名 d h 残 夜 1 火 00-000 ●工事 1 2 水 00-001 ▲工事 3 日報を元にユニオンクエリからクロス集計クエリを作りました。 工事コード 00-000 担当者 項目 7/1 7/2 ・・・・・ **** d 1 1 1 **** h **** 残 **** 夜 ++++ d 1 1 1 ++++ h ++++ 残 ++++ 夜 1 1 工事コードで連結していて、だれがいつ現場に行ったか分かるものです。 この作り方では 横項目である日付が 工事コードによって増減があるため (例:○工事は7/1~8/10 ●工事は7/20~9/10) レポートにした時に増減があるたびに作り直す必要があるようです。又 パラメーターがレポートで使用できません。 何かいい方法はないでしょうか?
- ake-me-2
- お礼率100% (2/2)
- その他(ビジネス・キャリア)
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Dxak
- ベストアンサー率34% (510/1465)
> 何かいい方法はないでしょうか? 質問者さまは、どれぐらいのレベルでしょうか? 方法としては、いろいろあります ・VBAでレポート作成を自動化 (Formatイベント時にコントロールの自動生成する) ・項目の日付を、n日経過に変更固定して、実際のラベルは、関数化する 項目数を可変にするなら・・・VBAでイベント発生でコントロール配置を自動化すると言う手段になります こう言う掲示板で、詳細に・・・と、言う話なれば、無理があると思うんですけどね
不具合1、レポートにした時に増減があるたびに作り直す必要がある。 不具合2、パラメーターがレポートで使用できません。 これは、採用されている手法の宿命だと思います。 一番簡単な解決方法は、レポート用の一時テーブルを用意し更新することかと。 もちろん、一時テーブルは固定ですからレポートも固定フォーマット。 後は、エクセルに吐き出すのも手かと・・・。
お礼
Excelに吐き出すのも手ですね(*^_^*) どうしても出来ない時はその手をもらいます。 ありがとうございました。
関連するQ&A
- Microsoft ACCESSを使った売り上げ日報データの集計方法
売上実績データベースを作成しております。 異なる店舗でそれぞれ、エクセルを使って日報を書いているので、それらの日報をACCESSのテーブルに貼り付け、 (1)渋谷店の日報マスタ 商品A 商品B 商品C 店舗 12/01 2000 3000 5000 渋谷 12/02 2500 2800 4500 渋谷 12/03 2200 2500 5000 渋谷 (2)新宿店の日報マスタ 商品A 商品B 商品C 店舗 12/01 2500 3500 4000 新宿 12/02 2100 3300 4200 新宿 12/03 2000 2600 4100 新宿 (3)池袋店の日報マスタ 商品A 商品B 商品C 店舗 12/01 1800 2200 3000 池袋 12/02 2100 2400 3100 池袋 12/03 1900 2800 2800 池袋 上記の3つのテーブルを作成致しました。 これらのテーブルをユニオンクエリで連結し、 (4)連結クエリ 商品A 商品B 商品C 店舗 12/01 2000 3000 5000 渋谷 12/01 2500 3500 4000 新宿 12/01 1800 2200 3000 池袋 12/02 2500 2800 4500 渋谷 12/02 2100 3300 4200 新宿 12/02 2100 2400 3100 池袋 12/03 2200 2500 5000 渋谷 12/03 2000 2600 4100 新宿 12/03 1900 2800 2800 池袋 上記のクエリを作成致しました。 次に上記の連結テーブルを基にテーブル作成クエリを使い、 (5)日別合計テーブル 商品A 商品B 商品C 12/01 6300 8700 12000 12/02 6700 9500 11800 12/03 6100 7900 11900 上記のテーブルを作成致しました。 さて、次のステップで、 商品A 商品B 商品C 店舗 12/01 2000 3000 5000 渋谷 12/01 2500 3500 4000 新宿 12/01 1800 2200 3000 池袋 12/01 6300 8700 12000 12/02 2500 2800 4500 渋谷 12/02 2100 3300 4200 新宿 12/02 2100 2400 3100 池袋 12/02 6700 9500 11800 12/03 2200 2500 5000 渋谷 12/03 2000 2600 4100 新宿 12/03 1900 2800 2800 池袋 12/03 6100 7900 11900 上記のように、店舗ごとのレポートと日別合計を連結したテーブルを作成したいのですが、(5)のテーブルをユニオンクエリを使って連結することができません。何かよい手は無いでしょうか? ご教示のほど宜しくお願いいたします!
- ベストアンサー
- オフィス系ソフト
- Access レポート作成 表示について
レポートではエクセルのように項目を横に並びを変えたいのですが、クロス集計クエリを元にレポートを作成するしかないのでしょうか? 処理が重すぎてうまくいかないのですが、何か他に方法があればお願いします。
- 締切済み
- オフィス系ソフト
- ACCESSの超初心者です。
ACCESSの超初心者です。 ACCESS2000のクエリについての質問です。 担当者テーブル(多)対会社テーブル(1) 担当者テーブルの会社コードと会社テーブルの会社コードで連結したクエリ。 このクエリで会社テーブル内の会社名は参照だけで変更不可にしたいのですが 変更できてしまいます。 変更不可にする設定があれば、教えてください。
- ベストアンサー
- オフィス系ソフト
- ACCESS 更新クエリについて
更新クエリで更新したいのですが、クロス集計クエリの数値を元にテーブルを更新することは出来ないようで、困っています。 なぜそのようなことをしているかと申しますと、 商品品目_個数_コード(主キー) のようにフィールドを持っているのですが、 印刷に関しては品目ごとに印刷したい、ということで 一度クロス集計クエリ(TRANSFORM)で りんご_ばなな_ぶどう_コード(主キー) 数値_数値_数値_数値 のような並びにして、テーブル作成クエリでテーブルを作成し そのテーブルをレポートに使用しています。 数値などが変わった場合その作成したテーブルの数値を 作成元になったクロス集計クエリで更新したいのですが、出来なくて困っています。 テーブル作成クエリで上書きすると、古いデータが消えてしまうため 何か良い方法はないかと思っています。 回答のほどお願いします。
- ベストアンサー
- オフィス系ソフト
- accessレポートの除外表示、実人数、並べ替え
ご覧いただき、ありがとうございます。 Access2010を使用している初心者です。レポート2枚を作成しています。 3点、お聞きしたいことがあります。 お分かりになる部分だけでも結構ですので、どなたかご教授いただけますでしょうか? ********* (1) グループ化で特定のレコードを除外して表示 レポート名:レポート2 / レコードソース:テーブルI 使用するフィールド:依頼者ID、曜日、項目名 --- 曜日 ヘッダー --- [曜日] --- 項目名 ヘッダー --- ★[項目名] <[項目名]A-Dの各件数> =Count([項目名]) --- レポート フッター --- E <[項目名]がEの件数> =Sum(IIf([項目名]="E",1,0)) ひと月の項目名と件数を下方向に並べます。 この時、項目名A,B,C,Dがあり、Eを除外して表示したいです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ また、そのレポート内の下部で、グループ化せずにEの集計も行いたいのです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ … ★の式を、=iif([項目名]<>"E",null ,[項目名]) としたら循環参照となってしまいます。 … テーブルIから作ったA-DおよびEのみの選択クエリ、またはテーブルIとEのみの選択クエリに分けて、レコードソースに追加し、参照先を分けようとしましたが、「指定されたフィールド '[項目名]' が SQLステートメントのfrom句にある複数のテーブルを参照しました」とエラーが出ます。 ********* (2) 実人数のカウント レポート名:レポート2 / レコードソース:テーブルI 使用するフィールド:担当者名、依頼者名、会員、項目名 --- レポート ヘッダー --- <「項目名」A-Dの総件数> =Count([担当者])-Sum(IIf([項目名]="E",1,0)) ★<「項目名」A-Dの依頼者実人数> <A-Dで「会員」フィールドが null の総件数> =Sum(IIf([依頼者名]<>"" And [会員]="",1,0))-Sum(IIf([項目名]="E" And [会員]="",1,0)) ★<A-Dで「会員」フィールドが null の依頼者実人数> <A-Dで「会員」フィールドが 1 の総件数> =Sum(IIf([依頼者名]<>"" And [会員]="1",1,0))-Sum(IIf([項目名]="E" And [会員]="1",1,0)) ★<A-Dで「会員」フィールドが 1 の総件数> ひと月の項目名をフィールド「会員」で分けて集計します。 実人数はクロス集計クエリを参照して、手入力すれば解決しますが、できれば自動的に行いたいです。 ********* (3) グループ内での任意の並べ替え レポート名:レポート2 / レコードソース:テーブルI / 使用するフィールド:担当者名、依頼者名、会員 --- 担当者 ヘッダー --- <A-Dでの担当者> ★[担当者] --- 依頼者名 ヘッダー --- --- 項目名 ヘッダー --- <A-Dでの依頼者> [依頼者名] [項目名] <各依頼者、各項目名の件数> --- 担当者 フッター --- <担当者ごとの総件数> =Count([担当者])-Sum(IIf([項目名]="E",1,0)) レポート1の問題を踏まえ、一応、項目名Eを除外して集計しています(現時点で未解決) ここでは、担当者の並び替えを任意に行いたいです。 昇順や降順ではなく、例えばあ・い・う・え・おを、い・う・あ・お・えのように並べたいのです。
- ベストアンサー
- その他(データベース)
- Accessフォームにクロス集計クエリを表示させるとき
Accessフォームにクロス集計クエリを表示させようとしています。 クロス集計の横軸の項目数が増減するようなデータを扱っているのですが、 クエリをフォームに貼り付けてフォームを保存した後、クロス集計の横軸の項目数が増減しても、フォーム上の横軸の数は増減してくれません。 もう少し具体的に書くと、 クロス集計クエリは、縦軸に日付、横軸に社員を設定し、日付別の社員のアクセス回数カウントを表示するもので、社員は新しく入ってきたり、辞めていったりするため増減します。 フォーム上に集計クエリを貼り付けて、次のような表ができました。 ----- 日付 アクセス計 社員A 社員B ○日 3 1 2 △日 4 1 3 ----- □日に、StaffCが増えたので、次の様にしたいのですが、StaffCの列が表示されません。 ----- 日付 アクセス計 社員A 社員B 社員C ○日 3 1 2 △日 4 1 3 □日 5 1 2 2 ----- どのような解決方法がありますか? 質問が分かりづらいと思いますが、宜しくお願いします。表は等幅フォントで見ていただければと思います。
- 締切済み
- オフィス系ソフト
- Access2010 レポートについて
商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード 商品名 個数 123 りんご 10 456 みかん 20 789 バナナ 30 【商品マスター】 商品コード 商品名 単価 123 りんご 100 456 みかん 200 789 バナナ 300 【レポート】※商品テーブルをもとに 123 個数 単価 りんご 10 100 ←商品マスターから直接表示したい
- 締切済み
- Windows 7
- Access2010 レポートについて
商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード 商品名 個数 123 りんご 10 456 みかん 20 789 バナナ 30 【商品マスター】 商品コード 商品名 単価 123 りんご 100 456 みかん 200 789 バナナ 300 【レポート】※商品テーブルをもとに 123 個数 単価 りんご 10 100 ←商品マスターから直接表示したい
- 締切済み
- その他MS Office製品
- Accessのクエリーでの並べ替え
いつもこちらではAccessの件でお世話になります。ペコリ。 レポートにデータを落とす為のクエリーなのですが、 店別 日付別 担当者別 売上項目別 と綺麗に並べ変えて印刷したいのですが、どのような関数を使用すればよろしいのでしょうか? お手数ですが、教えて頂けるでしょうか?]
- 締切済み
- その他(データベース)
- ACCESS2003でクエリの質問です
クエリを教えて下さい。 ACCESS2003でクエリを作成したいのですが テーブルに以下のようにデータが入っています。 ID 日付 項目あ 項目い 項目う 項目え 項目お 001 2009/08/27 A B C 001 2008/08/27 D E F G 002 2009/08/27 H I 002 2008/08/27 K L M 002 2007/08/27 K L O M 同一IDで日付の新しいレコードを抽出するのですが、 もしNULLの項目があれば、日付の古いレコードから編集したいです。 結果としては以下のようなテーブルを作成したいです。 [002]の[項目お]の様に過去日付のものがNULLであれば編集はしません。 ID 日付 項目あ 項目い 項目う 項目え 項目お 001 2009/08/27 A E B C G 002 2009/08/27 K H O I また以下のように過去日付のデータが異なる場合は 事前のチェックでエラーとして別テーブルに出すように考えていますが、 こちらも合わせて教えていただけると助かります。 ID 日付 項目あ 項目い 項目う 項目え 項目お 003 2009/08/27 N O P Q 003 2009/08/27 N O P R Q 003 2009/08/27 N O P S Q SQLが苦手で困っています。 宜しくお願いします。
- 締切済み
- その他(データベース)
お礼
私のレベルはかなり低いです。 参考書を片手に「ああしたい、こうしたい」で1つ1つ調べて 方法を探してやっとここまでたどり着きました。 VBAよく目にする言葉ですので勉強した方が後々のためにいいですね。 ありがとうございました。