• 締切済み

Accessの抽出の仕方

Accessの抽出仕方について教えてください。 あるデータ(テーブル)をクリエに表現したいのですが? 1:テーブルのデータの並びが縦列に並んでいます。 例) ロボット  パーツ 個数 金額(一個当たり)  腕   2  100円 胴体  1  500円 足   2  200円 顔   1  1000円 合計  6  1800円   →このデータ項目を横並びに並べて、合計金額が加えて算出し、表示をしたいと思っています。 完成イメージ) 商品名  パーツ 個数 金額 合計金額     合計 ロボット  腕  2  100円  200円 ....  1800円 この様にもともとのデータの並び方を変えて表示し、必要な項目を抽出 する方法を教えて頂けないでしょうか? 宜しくお願いします。

みんなの回答

  • mhassy
  • ベストアンサー率43% (16/37)
回答No.2

失礼ともとれる指摘で恐縮なんですが、知識と考え方に誤りがありそうなのであえて指摘し、「違うアイデア」を検討するような回答を寄せたいと思います。 まず、クエリは、「データ群を、指定する条件で抽出する機能」であるため、その<並ぶ向き>は意識する必要が有りません。 表示させる「レイアウト(質問では横向き)」については、表示や印刷する際の<別の機能(フォームやフォーム上に配置された項目の置き方)>でコントロールするものです。 ご質問の文章を読む限り、データの抽出(=クエリ)とその表示(←本来は別の機能設定が必要なもの)をごっちゃに理解した前提で質問しているように受け取れました。 根本的な知識の誤解からのご質問の様にも受け取れたので、もしその様な誤解があるならば、質問自体が元々成り立たないものになっている気がします。 また、上記の様に2つに機能分けとして考えた場合、 ・ロボットという「大項目」自体は、一つのテーブルとして捉えることになります。 ・そして、テーブル内の項目を「全てと対象」としたクエリで抽出 ・抽出結果を、フォームやレポートの「基データ」として ・横向きに可変な(=表示するために必要な項目数がフォーム作成時には未定)  表示を可能にする制御が必要になる というような考え方で、「技術的には可能な話」ですけど・・・ 横向きに可変長な「明細」=横一行内に、同じ項目(パーツとか)が何度も出てくる表示と言うのは現実的には見辛いため、利用できないものと考えられます。 また、実際には「ロボット」だけではなく、「ロボット1」・「ロボット2」・・・「ロボットn」というように、「表示の時点では明細行が増えるはず」とも考えられます。 それぞれの行が、「横向きに可変長」になる表示って・・・・「合計」の欄がズレまくるので、見難くて使えないですよね。 技術的には可能だけど、それを教わった質問者さん自身でも「使わない」話になってしまいそうです。

yuerippi
質問者

お礼

御回答有難う御座います。 Access初心者なもので、、、考え方の表記が間違っていたかもしれませんね。 レイアウトからその様な表記が可能ならば、その方法で改めて考えてみたいと思います。 どうもすみません。 紛らわしい質問を致しまして、 解りづらい質問を致しましたが、今後ともよろしくお願い致します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

ACCESSのテーブルは、横方向に流れるフィールドで構成されて います(リレーショナルDB一般)。 質問の例示が良くない。各レコードでロボットを表すフィールドはどうなっているのですか。 意味とか、概念でなく、テーブルそのものの例示を、質問にズバリ書くべきです。エクセルで言えばシートの行と列のように。 各レコードに、ロボットというような部品を総合した、上位部品名の フィールドはないのですか。 パーツ数も多分色々という前提だろうし、部品総合部品の切れ目はどのようにして判断するのだろう。 ーー こういうレコードの組み換えは、操作やSQLでは苦手であると思う。連想させる機能はクロスクエリウイザード・ピボットテーブルウイザードでも使えないか、しかない。 ADOででもプログラムを造らざるを得ないのではないかな。横に流す部品(パーツ。個数・金額・合計フィールドも含め4フィールド) 掛けるX個は最大数を見込んで設定することになる。 ーー こういう縦のものを横にするタイプの作業+アルファなら エクセルVBAに慣れていたり、これ1回の作業なら、また出来上がった表を印刷が控えているなら、 Transposeなどが在るエクセルにエクスポートして、エクセルVBAでやる手もあるのではないでしょうか。

yuerippi
質問者

補足

回答有難うございます。 せっかく回答して下さったのの、こちらの質問表記が悪くてすみません。 補足致しますと、、、 夫々のフィールドは、区別されております。(切れ目は、あります。) エクセルで言えば、行・列は、分かれています。 ですので、 パーツ|個数|金額|  腕  | 2 |100円| 胴体 | 1 |500円| 足 | 2 |200円| 顔 | 1 |1000円| この様な並びを横に表示(抽出)し、合計の欄は、追加をして 合算算出した数字を出したいと考えています。 (完成イメージ) 商品名|パーツ|個数|金額|....(続き)|合計金額(追加項目) ロボット|腕 |2 |100円|....(続き)|1800円 以上、説明不足かもしれませんが、お分かりになりますでしょうか?  

関連するQ&A

専門家に質問してみよう