• 締切済み

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)  レポートにした時に増減があるたびに作り直す必要があるようです。又 パラメーターがレポートで使用できません。 何かいい方法はないでしょうか?

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

> 何かいい方法はないでしょうか? 質問者さまは、どれぐらいのレベルでしょうか? 方法としては、いろいろあります ・VBAでレポート作成を自動化 (Formatイベント時にコントロールの自動生成する) ・項目の日付を、n日経過に変更固定して、実際のラベルは、関数化する 項目数を可変にするなら・・・VBAでイベント発生でコントロール配置を自動化すると言う手段になります こう言う掲示板で、詳細に・・・と、言う話なれば、無理があると思うんですけどね

ake-me-2
質問者

お礼

私のレベルはかなり低いです。 参考書を片手に「ああしたい、こうしたい」で1つ1つ調べて 方法を探してやっとここまでたどり着きました。 VBAよく目にする言葉ですので勉強した方が後々のためにいいですね。 ありがとうございました。

noname#140971
noname#140971
回答No.1

不具合1、レポートにした時に増減があるたびに作り直す必要がある。 不具合2、パラメーターがレポートで使用できません。 これは、採用されている手法の宿命だと思います。 一番簡単な解決方法は、レポート用の一時テーブルを用意し更新することかと。 もちろん、一時テーブルは固定ですからレポートも固定フォーマット。 後は、エクセルに吐き出すのも手かと・・・。

ake-me-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 ←商品マスターから直接表示したい

  • Access2010 レポートについて

    商品というテーブルと商品マスターというテーブルがあります。 商品テーブルに入力した商品コードをもとに、商品マスターから直接レポート上に単価の項目を呼び出したいのですが、どうすれば良いのですか? (両テーブルの商品コードが一致した場合、マスターテーブルの単価の項目を呼び出す) クエリで必要な項目を表示させ、レポートにするしか方法はないのでしょうか? 【商品テーブル】 商品コード   商品名      個数  123      りんご        10  456      みかん       20  789      バナナ       30 【商品マスター】 商品コード   商品名      単価  123      りんご       100  456      みかん       200  789      バナナ       300 【レポート】※商品テーブルをもとに 123    個数    単価 りんご    10     100 ←商品マスターから直接表示したい

  • 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が苦手で困っています。 宜しくお願いします。

専門家に質問してみよう