• 締切済み

クロス集計クエリの最後のデータについて

初めて質問いたします。 デザインビューの程度ですが、よろしくお願いいたします。 クエリで以下のようにデータが並んでいます。フィールド1のデータごとに年月昇順ソート フィールド1 フィールド2 フィールド3 フィールド4 111    1200   あああ    年月 111    1500   あああ    年月 111    1000   いいい    年月 これをクロス集計クエリでフィールド1でグループ化してフィールド2の合計をしています。 フィールド3のデータは、最後の「いいい」を持って来たいので、最後と指定しています。 ところが、どうも「いいい」を持ってくることができず、「あああ」を持ってきているようなのです。 クエリの並びが集計クエリにすると変わるのでしょうか? 集計クエリの最後というのは、どのように考えれば良いのでしょうか? よろしくお願いいたします。m(._.*)mペコッ

みんなの回答

noname#11841
noname#11841
回答No.4

No.3の続きです。  解決方法2のやり方を試されたということは、前任の方のクエリーを修正されたのですね?  前任の方のクエリーを修正してよいのなら、No.1のやり方でできると思うのですが…  即ち、年月のフィールドとあああのフィールドをこの順に連結したフィールドの最大値を取得すればよいのではないでしょうか?  年月のフィールドとあああのフィールドをこの順に連結したフィールドの最大値においては、年月が最大になるはずですので。

noname#11841
noname#11841
回答No.3

#2の続きです。  検索してみたら、参考URLを見つけました。  「先頭」や「最後」というのは、 >レコードがテーブルに入力されたときの順序 に基づくようですね。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;208190
mikeko_007
質問者

お礼

検索までして下さって、ありがとうございました。(o^∇^o)ノ レコードが入力されたときの順序は、内部的に持っているという事でしょうか? その点が今一よく分かりませんが・・・ 解決方法2のやり方を明日にも試してみます。 上手くいくと嬉しいです。 ありがとうございました。

mikeko_007
質問者

補足

解決方法2のやり方を試してみました。選択クエリではできるのですが、クロス集計クエリではできませんでした。私の理解ややり方が悪いのかもしれません。わからないままです。

noname#11841
noname#11841
回答No.2

#1です。  手元で実験してみましたが、元テーブルをソートしてもだめでした。格納順と書いたのは、位置的な意味ではなく、時間的な意味です。いずれにしても推測に過ぎませんが。  クエリーを変更せずに実現する方法は、申し訳ありませんが判りかねます。

noname#11841
noname#11841
回答No.1

 クロス集計ではなく通常の集計ですね?  手元で確認しましたが、確かにクエリーの順序ではなく、どうも元テーブルの格納順における「最後」のような気がします。  新たに、「フィールド4&フィールド3」というフィールド(フィールド4とフィールド3をこの順に文字列としてつないだフィールド)を作って、そのフィールドの「最大」を指定してはいかがでしょうか。

mikeko_007
質問者

補足

ご返答ありがとうございます。 質問が悪かったのですが、フィールド4の年度ごとに金額の集計をしています。 出来上がりを フィールド1 フィールド2 フィールド3 フィールド4 111      いいい    年度1の合計  年度2の合計 これは、前任者が作ったもので、私はフィールド1ごとの最終年月レコードを抽出してからフィールド2の結果を出しました。 その結果と前任者の上記クエリの結果が違うので気付きました。 私のクエリを追加して持ってくるのは簡単なのですが、できるなら前任者のクエリをそのまま使いたいのです。 教えていただいた「元テーブルの格納順における「最後」」と言うのは、そのデータの大元テーブルをソートすればできるということでしょうか? 間にクエリがたくさん入っていますが・・・ よろしくお願いいたします。

関連するQ&A

  • クロス集計クエリ

    クロス集計クエリは、行の合計しか表示する事が出来ないのでしょうか? 列の合計(縦の合計)もクロス集計クエリで表示するには どうすればいいですか? サブクエリとか使わないとダメでしょうか? もうひとつ合計行のクロス集計クエリを作るのが楽ですか?

  • <>となるフィールド クロス集計クエリ

    クロス集計クエリを作った時に <>となるフィールドがあるのですが、 これはどういう意味ですか?

  • Access2003 クロス集計クエリでの合計

    ☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [A]      [B]    [C]     1    111     英語    10    2    222     英語    20    3    333     数学    30    4    111     国語    40   5    222     数学    50    6    333     国語    60    7    222     国語    70   8    333     英語    80     9    111     数学    90     =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、    フィールド[B]を列見出しに設定、    フィールド[C]を集計する項目に設定する。   (2) フィールド[C]の値を列ごとに平均を計算し、    行ごとに合計を計算する。   ※ 列と行で、それぞれ集計した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]     合計  英語  国語  数学     111  140   10    40    90        222  140   20    70    50     333  170   80    60    30  --------------- 平均  150   36     56   56 ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • クロス集計クエリ

    アクセス2003です。 行見出しフィールドに「10人」となるように、 合計: [Qクエリ]![フィールド] & "人" としたのですが、 "人"が付きません。 (集計方法:カウントです) 不可能なのでしょうか?

  • クロス集計クエリの合計 テキストボックスに表示

    クロス集計クエリの合計と、フォームのテキストボックスに表示させたいのですが無理でしょうか? クロス集計クエリの行見出しには会社名A社B社が入っていて、 合計 金額フィールドには各会社の合計金額が入っています。 そのクロス集計クエリを元にサブフォームを作り、 親フォームにはめ込んだのですが その親フォームにテキストボックスを設置し、 クロス集計クエリの合計 金額フィールドの合計を表示させたいのですが サブフォームのレコードをクリックするたびに、 親フォームにテキストボックスに表示される値は、そのアクティブなレコードの値になってしまいます。 テキストボックスのコントロールソースは =[テーブル1のクロス集計のサブフォーム].[Form]![合計 金額] としています。 A社B社のそれぞれのクロス集計クエリを作成し、 それぞれを足すしか、テキストボックスに合計を表示させる方法はないでしょうか?

  • [ACCESS]クエリで抽出したレコードをデータシートビューで編集するには?

    ACCESS2003です。 クエリで集計&グループ化したレコードをデータシートビューで編集したいのですが無理なのでしょうか? クエリ内容 フィールド |集計   |並び替え|抽出条件 製品名   |グループ化|    | セイヒンメイ|グループ化|昇順  | 販売元   |最後   |    | 単価    |最後   |    | 在庫    |最後   |    | 残高    |最後   |    | 製品区分  |     |    |<=6 クエリ実行後の「在庫」と「残高」は空なので データシートビューで編集(追加)したいのですが 無理なのでしょうか? 抽出したレコードの一覧で編集、追加を行いたいのです(エクセルのような感じ)が、 クエリではなく他の方法で可能であれば教えてください。

  • Access2003 クロス集計で集計値を四捨五入

    ☆以下のようなテーブルで、フィールド[ID]~[点数]があり、文字および数字のデータが混在しています。   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== (テーブル(1)) [ID]  [クラス]  [科目]  [点数]     1     A     英語    11    2     B     英語    22    3     C     数学    33    4     A     国語    44   5     B     数学    55    6     C     国語    66    7     B     国語    77   8     C     英語    88     9     A     数学    99     =========================================== ☆上記のテーブルをクロス集計クエリで集計する ・フィールド[クラス]を行見出しに設定、 ・フィールド[科目]を列見出しに設定、 ・フィールド[点数]を集計する項目にし主計方法を「合計」に設定する。 =========================================== [クロス集計結果]   合計   英語  国語  数学       A  154   11    44    99        B  154   22    88    55     C  187   99    77    33  =========================================== [課題] クロス集計クエリで、集計値を四捨五入する (1) フィールド[クラス]を行見出しに設定、    フィールド[科目]を列見出しに設定、    フィールド[点数]を集計する項目にし主計方法を「合計」に設定する。 (2) クロス集計の値を、下1桁で四捨五入した値を表示する。   (3) 「合計」の値を、下1桁で四捨五入した値を表示する。 ※ クロス集計した合計値を、四捨五入した値を表示する   ↓  ↓  ↓  ↓  ↓  ↓  ↓  ↓ =========================================== [クロス集計結果]   合計   英語  国語  数学     A  150   10    40   100        B  150   20    80    60     C  190   90    70    30  ===========================================   ↑  ↑  ↑  ↑  ↑  ↑  ↑  ↑    上記のように、クロス集計クエリでの集計値を四捨五入して 表示させたいのですが、どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ 幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。

  • アクセス集計クエリでの書式設定

    アクセス2000を使っています。 テーブルにある「金額」フィールドをグループごとに合計する、集計クエリを作成したのですが、「金額の合計」の書式をコンマ区切りにしたいのですがどうしたら良いでしょうか? デザインビューで「金額の合計」のプロパティの書式にコンマスタイルにしたのですが、表示形式は変わりません。 「金額」フィールドはテーブルで設定している通り、コンマスタイルになっているのですが・・・。 よろしくお願い致します。

  • SQL文でクロス集計をしたい

    アクセスでクロス集計のSQL文で作りたいと思っています。 このようなデータがあります 年月 支払先 数量 金額 201301 A 10 1000 201302 A 5 500 201302 B 20 2000 201301 C 10 3000 201303 C 15 1500 このデータを下記のように表示したいのですが、 分からなくて困っています。 支払先  データ   201301 201302 201303 A 数量     10      5 A 金額 1000 500 B 数量      20 B 金額 2000 C 数量     10 15 C 金額 3000 1500 合計 数量 20 25 15 合計 金額 4000 2500 1500 どのようにすれば実現出来ますか? 今は、 SELECT 支払先, "数量" AS データ, Sum(IIf([年月]='201301',[数量],0)) AS 201301, Sum(IIf([年月]='201302',[数量],0)) AS 201302, Sum(IIf([年月]='201303',[数量],0)) AS 201303, FROM T_データ GROUP BY 支払先; のクロス集計を 数量と金額、数量の合計と金額の合計でクロス集計をしたクエリを UNIONで実現しています。 出来れば数量と金額は1つのクエリで実現したいと思いますが方法があれば教えて頂きたい と思います。 どうぞ、よろしくお願い致します。

  • Access 2003、2007 なぜクロス集計クエリだけクエリパラメータを設定しないといけないのか?

    Accessで、なぜクロス集計クエリだけクエリパラメータを設定しないといけないのでしょうか? 普通の選択クエリなどでパラメータクエリを作る時は抽出条件に[ ]を記入するだけで作成できますが、クロス集計クエリでパラメータクエリを作ろうとすれば、クエリパラメータでダイアログボックスの文字列とデータ型を指定しなければいけません。 これはなぜなのでしょうか?