• ベストアンサー

アクセスでレコードを展開させたい。

アクセス2000で下記のようなデータがあります。 商品名   数量 ---------------------- A品     2 B品     1 C品     3 このようになっているものを 商品名   数量 ---------------------- A品     1 A品     1 B品     1 C品     1 C品     1 C品     1 このように展開させるクエリを教えていただけないでしょうか。 やりたいこととしては、 A品、B品、C品それぞれ数量分だけラベルを作りたいが、 はじめのような状態だと、A品、B品、C品ひとつづつ しか印刷されないという問題があるからです。 アクセス初心者ですがよろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

以下のようなデータ 数量 ---- 1 2 2 3 3 3 (snip.) を持つ、テーブルNumLblを作って、 select T.商品名, 1 as 数量 from T inner join NumLbl on T.数量 = NumLbl.数量; とか。 数量の上限を事前チェックする必要があります。

7_11shop
質問者

お礼

ありがとうございます。 数量がおおいので、展開するのが大変ですが、 がんばってやってみます。

その他の回答 (1)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

一番簡単な方法として#1のosamuyさんの言うように数量の展開用テーブルを作り その展開用テーブルと商品名・数量のレコードのあるテーブルをリレーションします。 「展開用テーブル」 数量 -------  1  2  2  3  3  3  4  4  4  4 のように数量と同じ数だけデータを繰り返します。(5なら5を5回・6なら6を6回) 商品名・数量のレコードがあるテーブルを例えばテーブルAとして Aテーブルを元にしたクエリを作り展開用テーブルを追加します。 Aテーブルの数量と展開用テーブルの数量にリレーションを作り結合を[Aのレコー ドと展開用テーブルの同じ結合フィールドのレコードだけを含める]のリレーション にします。 そのクエリ(Aテーブルの商品名・数量がある状態)に展開用テーブルの数量のフィ ールドを追加し商品名などキーになるフィールドに昇順のソートをすれば 商品名   数量 ---------------------- A品     2 B品     1 C品     3 このデータが 商品名   数量   数量 ---------------------- A品     2     2 A品     2    2 B品     1     1 C品     3     3 C品     3     3 C品     3     3 の様になります。 これが一番簡単な方法だと思います。 ただし数量の値が多くなるとその分展開用テーブルに数量の入力が多くなります。 初心者の方でも簡単に作れるクエリだと思います。

7_11shop
質問者

お礼

ありがとうございます。 無事解決いたしました。

関連するQ&A

  • Accessにてできますか・・・?

    Accessにて、クエリで下記のようなものがあります。 氏名  商品A  商品B  商品C  月 山田  100   200   300   4月 佐藤  200   150   120   4月 田中  300   120   220   4月 山田  320   200   130   5月  ・    ・     ・     ・     ・  ・    ・     ・     ・     ・   これを、レポートにて下記のように印刷するようにはどのようにしたらよいでしょうか? 氏名  商品名  4月   5月   6月   ・・・・ 山田  商品A  100   320   200   ・・・・      商品B  200   200   150   ・・・・      商品C  300   130   200   ・・・・ 田中  商品A  300   200   100       ・     ・     ・    ・       ・     ・     ・    ・ クロス集計クエリ等も考えましたが、うまくいきませんでした。 よろしくお願いします。

  • ACCESSのクエリに行番号をつける

    Microsoft ACCESS 2003で、簡単な以下の様なクエリを作っています。 (1) 元のテーブル  売上年月日/販売先顧客名/商品名/数量/価格 (2) 売上年月毎価格集計クエリ  売上年月(グルーピング)/商品名(グルーピング)/数量(集計)/価格(集計)  このクエリが、以下の様に出るとします。  例1)  2009/09 商品A 50 25,000  2009/09 商品B 20 12,000  2009/09 商品C 33 45,000  ・  ・  2009/10 商品A 50 25,000  2009/10 商品B 20 12,000  ・  ・  このクエリの先頭に、以下例2の様に、年月毎にブレークする「行番号」をつけたいのですが、どの様にすればいいか見当がつきません。  行番号をつけられる(かつ、特定の条件でブレークして、行番号を"1"から振り直す)様な関数、関数が無ければやり方等、わかる人がおられたらお助け下さい。  よろしくお願いします。  例2)  1,2009/09 商品A 50 25,000  2,2009/09 商品B 20 12,000  3,2009/09 商品C 33 45,000  ・  ・  1,2009/10 商品A 50 25,000  2,2009/10 商品B 20 12,000  ・  ・

  • ACCESSのクエリ機能で重複したデータを除く方法

    accessの初心者です。 どなたかお詳しい方是非よろしくお願い致します。 accessのクエリ機能をつかい、レコードを結合したいのですが、重複したレコードを省く方法を教えてください m(_ _)m 例えば、下記のようなAとBというテーブルがあり、Aには商品番号と商品名、Bには商品番号と倉庫名が入っているとします。 テーブルA(※商品番号の重複なし) 商品番号 商品名 001    商品A 002    商品B 003    商品C テーブルB(※商品番号の重複あり) 商品番号 倉庫名 001    倉庫A 001    倉庫B 001    倉庫C 002    倉庫B 002    倉庫C 003    倉庫A 003    倉庫B 商品番号でクエリをかけて、テーブルAのレコード数と同じレコードの商品番号、商品名、倉庫名と表示させたいのです。 (倉庫名はテーブルBのレコードの中のいずれかだけでOKです。) 例えば、下記のようなクエリ結果を表示させたいです。 商品番号 商品名 倉庫名 001   商品A  倉庫A 002   商品B  倉庫B 003   商品C  倉庫A 説明がうまくできず申し訳ありませんが、どなたかお詳しい方よろしくお願い致します。

  • Accessで重複データを結合するには?

    こんにちわ、みなさん。 Access超初心者です。よろしくお願いします。 Accessのテーブルで下記のようなデータがあるとします。  店名  | 商品 |  A店  |リンゴ |  A店  |トマト |  A店  |ナシ  |  B店  |リンゴ |  B店  |みかん | これを下記のように店名ごとに商品名を結合したいのです。 (レポートではなく、テーブルにしたいです)  店名  | 商品        |  A店  |リンゴ;トマト;ナシ |  B店  |リンゴ;みかん    |   重複クエリーを使えばと思ったのですが、 思ったとおりにはなりませんでした。。 どうぞ、よろしくお願い致します。m(__)m ---------------------------------------- OSは、Windows 98 アプリケーションは、Access 2000 です ----------------------------------------

  • 一致するレコードを削除したい。

    質問します。ACCESS(office2000)を使って下記の様に実行したいのですが。 テーブルA         テーブルB 商品名、 管理番号    単価、 管理番号 パソコンA   101      \1,200  112 パソコンB  102       \1,300  102 パソコンC  103      \1,500  123           ↓ テーブルA 商品名、  管理番号 パソコンA  101 パソコンC  103 削除クエリを実行して管理番号が一致するレコードをテーブルAから削除したいのですが、削除クエリどうやって設定すればいいのでしょうか。どうかご教授をお願い致します。

  • OFFICE アクセスのマクロで教えてください。

    アクセスについて、超初心者です。 アクセスのフォームに商品a、b・・それについてのそれぞれデータA、Bがあるとします。 表示したフォームに印刷ボタンをつけて、そのボタンに 各データA、Bをファイル名にもつレポートを印刷するマクロを作りたいのですが、 どうしたらよいでしょうか? マクロかVBAで、どのようにしたら、よいでしょうか?

  • accessのレポートで重複データに〃を印刷する方法は?

    アクセスを使って納品書を印刷しています。 レポートの内容が現在、 日付 商品 数量 単価 金額 備考 1/1   A   1   10  10  い 1/1   B   2   20  40  ろ 1/5   A   2   10  20  ろ このように印刷されているのですが、 これを、 日付 商品 数量 単価 金額 備考 1/1  A   1   10   10   い  〃  B   2   20   40   ろ 1/5  A   2   10   20   〃 このように、上のデータと重複するデータがあった場合に、  〃 ←この同じという記号を印刷するには どうしたらよいのでしょうか? 今の所、日付と備考欄でこの記号が印刷できればよいのですが。 アクセスはまだまだ初心者です。 よきアドバイスありましたら宜しくお願い致します。 

  • Accessのクエリ(初心者)

    Access超初心者です。 クエリで悩んでいるので、お教えください。 テーブル1に CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付)の4項目があり、 クエリを使って、最も大きいSUUを抽出したい (かつ最も大きいSUUのデータが重複している場合、その中で最も古い日付のデータのみを抽出したい)のですが・・・ たとえば、 テーブル内容: CODE(商品ID)_NAME(名前)_SUU(数量)_DAY(日付) A_あめ_600_0517 A_あめ_900_0518 A_あめ_400_0618 B_ガム_120_0217 B_ガム_060_0319 B_ガム_180_0718 B_ガム_180_0518 抽出結果: A_あめ_900_0518 B_ガム_180_0518 ということです。 デザインビューを使うとして、どのような方法がありますでしょうか? どうかご教授お願いします!

  • アクセス抽出条件設定方法について

    アクセスでのクエリの記述方を教えてください。 今、 商品A 200511 3 商品A 200512 4 商品b 200512 3 のようなデータがあり、これを     200511 200512 ------------------------------ 商品A  3    4 商品B       3 このように並べたいと思っています。 以前も似たような問題でつまずいたことがあり、回答をいただいているのですが、やはりやり方がわからず、悩んでいます。 初心者にもわかるような、簡単な方法の説明をいただけるととても助かるのですが・・。 出来れば、SQLを書いて実行したいです。 (アクセスのクエリデザインはあまり使い慣れていません。) どうぞよろしくお願いします。

  • Excelでマクロを使った印刷教えてください

    仕事でExcel2003を使い、お客様の注文に応じた商品のラベルを社内で印刷するよう にしようと考えています。 シート1には、 A列に100行(種類)ほど、商品の型式がそれぞれのB列に商品名、それぞれのC列に ロット番号、それぞれのD列に数量の項目があります。 A及びB列は新商品が出ない限り追加や、変更はありませんが、C及びD列はその都度変 わります。 AとBとCの情報を別のシート2に参照させて表示するところまではできました。 その情報をシート2で拡大等をしてラベルにしたいので、数量に応じてB5のラベル シートに印刷すると共に、数量の入力の無い箇所は無視するような事をしたいのです が、方法はありませんか? よろしくお願いします。