• 締切済み
  • 困ってます

クエリの作り方はこれでよいでしょうか

Access2010で以下のことをやりたいのですが、助言ください。 ・元データはExcelに入っている。 ・sheet1のA列のみに抽出用の番号(商品番号000000001とか)が入力されています。(数千行) ・sheet2はデータベースで、A列に商品番号(こちらは複数同じものあり)、B列に商品名、C列に国名、D列に価格・・~その後J列まで情報が入っています。(行数は1万行以上・・10万行近かったです) 【やりたいこと、現状】 ・sheet1に入っている商品番号でsheet2のデータベースに抽出をかけて、Excelに抽出結果シートを作りたい。 ・最終的にはExcelファイルにしたい。 ・途中経過では現在Accessを使っている。 ・Sheet1に商品番号があっても、Sheet2にないものがある。データベースにない場合も抽出結果シートには反映させたい。(商品番号だけ抽出結果に表示させて、右の列はすべて空欄にしたい) 【やったこと】 ・sheet1をT抽出条件、sheet2をTデータベースとしてAccessにインポートしてテーブルを作りました。 (T抽出条件はA列しかないので、主キーは商品番号、TデータベースはID列を追加して主キーに) ・リレーションを商品番号でかけて、クエリを作成(Q結果) →クエリで使った項目 T抽出条件から商品番号 TデータベースからはIDと商品番号を除くものすべて。 このQ結果をExcelにエクスポートし、完成! と思ったのですが、これだとsheet1にはあって、sheet2にはない商品番号の情報が載ってきません。 sheet1にはあるけど、sheet2にはない情報も載せたいのです。 どのようにしたらよいでしょうか。 また、上記の方法で問題はないでしょうか。 結果が数千も出るので確かめようがありません。 どこがおかしければご指摘ください。 また、確かめ方などもありましたら、ご教授ください。 よろしくお願いします

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数136
  • ありがとう数0

みんなの回答

  • 回答No.3
  • keda3
  • ベストアンサー率33% (1/3)

1の回答のように外部結合ができているという前提で、、もしかしてこういうことかな?と思って回答してみます。 Sheet1が注文を受けた商品番号で、Sheet2が現在取り扱っている商品のデータとすると、Sheet2から廃版商品のデータは抽出されませんね。 Sheet1でさがして、Sheet2に乗っていない情報を引き出したいということは、この廃版商品のデータを抽出したいということなのかな?と想像しました。 答えは、Sheet2のデータの中へ廃版の商品データを追加入力してやればよいのです。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • クエリの質問です。

    Windows2000/Access2000 AとBのテーブルがあり、ID番号が主キーでリレーションが設定されてます。 AのテーブルにはID番号・ユーザー名・住所・商品番号があります。 BのテーブルにはID番号・ユーザー名・住所・商品番号・受注年・月・日があります 。 Bのテーブルと同じ商品番号の値を持つAのレコードを抽出させたいのですが、抽出条件をどのように設定したら良いのか分かりません。 初歩的な事ですがアドバイス宜しくお願い致します。

  • Accessで任意のテーブルのフィールド値をクエリの抽出条件にできますか?

    Accessで任意のテーブルのフィールド値をクエリの抽出条件にできますか? 工程管理のAccessDBがあり、毎日更新される工程を管理するため、数種類の選択クエリを作成しています。 そのクエリからExcelのデータベースクエリを使ってExcelシートにクエリ毎に各シートに取り込んでいます。 Accessクエリは不定期で抽出条件を変更しています。 抽出条件はどのクエリでも同時に同じものを使うところが多いため、任意に入力した値を抽出条件に指定できれば、一度で全クエリの抽出条件を変更できるのではないかと考えています。 色々調べてもフォームを使った方法は紹介されていますが、上記の条件下でいい方法はないでしょうか? 抽出条件は『Is Null Or >#2008/06/30#』のような感じです。

  • アクセス:主キーでクエリ結果を検索:データ型違う

    アクセス2010を使用しています。 出来上がったあるクエリより、ある結果をID(主キー)から検索して抽出しようとしました。 IDの抽出条件の欄に "0243" という文字列を入れたのですが、データ型が違うというエラーメッセージが出ました。 調べてみると主キーはオートナンバー型ですが、これは検索できないのでしょうか。 できるとしたらどのように検索するのでしょうか。 初心者の質問で不手際があると思います。もし不足がありましたら補足します。 どうぞ上級者の方にご指導願えたら幸いです。どうぞよろしくお願いします。

  • 回答No.2
noname#192382
noname#192382

回答します。クエリのデザインでTデータベース テーブルのの商品番号をなぜ除外したのですか。これを入れないといけません。二つのテーブルを関連付ける大事なデータですから。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
noname#208392
noname#208392

正直言えば、何をしたいのかよくわかりません。 >sheet1に入っている商品番号でsheet2のデータベースに抽出をかけて 「抽出をかける」ってどういう意味? Sheet2のレコードのうち、商品番号がSheet1にあるものを抽出するってこと? だから外してるかもしれないけど、 >sheet1にはあるけど、sheet2にはない情報も載せたいのです。 というのに注目して書きます。 クエリビルダでSheet1の商品番号とSheet2の商品番号を線で結んでますね? その線を選んで右クリックします。 出てきたメニューから「結合プロパティ」を選びます。 先をダブルクリックしても結合プロパティのウィンドウが開くらしい。 日本語の文字で書いてはあるけれども、私にはほとんど意味不明な三つの選択肢が出てきます。 その中で、「Sheet1の全レコードと...」とある選択肢を選びます。 すると、商品番号を結んでいる線が、Sheet2に向かう矢印になります。 これで出来上がり。 外部結合っていうんです。 あなたが試したような、両方のテーブルで一致するレコードしか選んでこないのは、内部結合(Inner Join)。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Accessクエリ 複数条件での更新クエリ

    Access初心者でございます。 テーブルには、受注番号と商品IDフィールドがあり、 以下のような構造になっています。 配送ID  受注番号  商品ID 5     1548315   11147 5     1548315   11146 5     1549647   11146 5     1551248   25587 5     1551248   16475 この中で、11147と11146の商品IDの両方を含む受注番号を抽出し、その配送IDを5から6に更新したいと思っています。 集計クエリを咬ませると更新できなくなるので、DSumであれこれ試してみたのですが、うまくいきませんでした。 どうかご教授のほど、よろしくお願いいたします。

  • VBAで検索して、行をコピー&追加したい

    Excel2010で以下のことをしたいのですが、VBAがあまりできないのでやれません。 どうか助けてください。 ・sheet1のA列に検索用の番号(例として商品番号)が入力されています。 ・sheet2はデータベースで、A列に商品番号B列に商品名、C列に国名、D列に価格・・~その後J列まで情報が入っています。(行数は1万行) ・sheet1に入っている商品番号でデータベースから行をピックアップし、該当の行をsheet1のB列以降にコピーしたいのです。 (シート3を新しく作っても構いません。やりやすい方で) ・ただし、同じ商品番号で複数の行がヒットしますので、複数の行がヒットしたら行を追加しながら、行をコピーしたいです。 どのように書いたら良いか参考になるURLだけでもご教授ください。 よろしくお願いします。

  • Access2003 削除クエリで式1フィールドがドンドン作成される

    Access2003で削除クエリを作成しました。 抽出条件に「Aフォーム」内のトグルボタン「チーム1」(オプショングループ名=商品区分)をクリックした時に、[商品番号]が100より小さいものを、トグルボタン「チーム2」をクリックした時には、[商品番号]が100以上のものを抽出するよう入力しました。 【クエリデザインビューの状態↓】 フィールド  | [商品番号] | AA: [forms]![Aフォーム]![商品区分] 抽出条件 | < 100   | 1 または  | >= 100  | 2 一応上記で削除クエリは思うように実行できたのですが、このクエリを閉じてまた開くとフィールドAAと同じ内容で『式1:』フィールドが作成されてしまいます。また閉じて開くと、同じ内容で『式2:』が、次は『式3:』が…とドンドンと作成されてしまいます。 Access2003以外のAccessでは「式」フィールドは増えなかったです。 この『式~:』フィールドが勝手に作成されないようにするには、どうすればいいのでしょうか?もしくは、最初の削除クエリの作り方がおかしいのでしょうか? 教えて頂きたく、よろしくお願いします。

  • Access 切り捨て合計クエリ

    Accessのクエリにて以下の集計・抽出を作成したいです。 抽出クエリの条件 (1):テーブルから商品名フィールで商品で始まるレコードを抽出する (2):抽出したレコードの数量フィールドの値を2000で割る (3):割り算後、小数点以下(1未満)が発生した場合は、0とする。 集計クエリの条件 (4):抽出クエリの条件式(1)&#65374;(3)を実施したのち、商品ごとに切り捨て後の整数を合算する ※数量が2000以上のレコードを抽出したいです。 どのようにすればよろしいでしょうか?

  • Accessのパラメータークエリについて教えてください。

    よろしくお願いします。 Accessのパラメータークエリについて教えていただきたいのですが、 例えば、商品名 と 担当者 と言うフィールドがあって、クエリを使用し[商品名を入力してください。][担当者を入力してください。]というパラメータクエリを作成しました。 そして、商品名のダイアログが出てきたときに「鉛筆」 担当者のダイアログが出てきたときに「遠藤」と入力すると思い通り物ものが出来るのですが、同じパラメータクエリを使用して、「遠藤」だけを抽出しようと思うと何も抽出されません。(たぶん「遠藤」と「空白」の抽出になっているのだと思うのですが・・・) ひつのクエリを使用して、2つでの条件と1つだけの条件で抽出することは出来ないでしょうか?よろしくお願いします。 Accessは2000or2002です。

  • 《エクセル2000》VLOOKUP、クエリについての質問

    こんにちは。エクセルのバージョンは2000(アップデート済み)です。 タイトルのとおり、2つほど質問があります。 詳しい方、なにとぞよろしくお願いします。 【1.VLOOKUP】 A列に市町村名、B列に人口が入っています。 市町村名をキーに、VLOOKUPを使ってC列に別シートにある庁舎の住所を入れたいです。 …といった場合なのですが、当然自治体名には重複があります。 そこで質問なのですが、キーとなる列のデータに重複がある場合、VLOOKUPを使うとどうなるのでしょうか? 【2.クエリを使った外部データの抽出】 クエリを使ってデータを抽出する場合、数値の範囲など色々な条件を加味させることができますが、「抽出する行の範囲を指定する」のに、一番手っ取り早い方法は何でしょうか。 例えば、A列に番号を入れるようにして、その数字の範囲内で拾うという方法があると思うのですが、もっとスマートな方法はあるでしょうか。

  • アクセス 複数クエリ⇒エクセルの各シートに

    MS Access と MS Excelとの連携テクニックについて、 教えてください。 アクセスで、クエリA・クエリB があるとすると、 マクロ・VBAを使用して、 これらを、エクセルファイル(ファイル名は任意)の 各シートとして、Sheet1,Sheet2としてエクスポートしたいのですが、 可能でしょうか?

  • Accessのクエリで。

    Accessのクエリで。 お世話になります。 Accessのクエリにて、デザインビューで色々抽出 条件を入力していて、#から始まる物を抽出しようとした所 (LIKE "#*")、数字の行のみしか抽出できない状態です。 どの様にしたら、#から始まる文字の行を抽出出来ますでしょうか。 ご教授下さいます様、宜しくお願い致します。

  • ACCESSでクエリがうまく使えません。

    ACCESS2003初心者です。 製品区分というルックアップがあります。 ルックアップの列数は2、連結列は2になっています。 1列目 | 2列目 薬剤A | 1 薬剤B | 2 ・ ・ ・ 薬剤S | 19 まであります。 このデータの11までをクエリで抽出したいのですが、 クエリの製品区分の抽出条件に <="11" と入力して実行しても上手く処理してくれません。 1と10と11だけに該当して表示されます。 >="1" And <="11" としても同じ結果でした。 ※仮に、抽出条件に"8"と入力して実行すると 問題なく、8に該当するデータが表示されます。 他の数字も同じように抽出されます。 11以下に該当するデータだけを抽出したいのですが、 どこが悪いのでしょうか? そもそも、ルックアップの2列目を抽出するような方法は良くないのでしょうか?

  • テーブルに表示されているものがクエリに表示されない

    Windows NTでAccess2000を使っています。(ACCESSは初心者です) あるテーブルに入っている伝票番号をクエリでひっぱってみたのですが テーブルにはある番号ががクエリでは出てこないものがあります。 昇順に並び替えているぐらいで特に抽出条件を設けているわけでもないのに 何がおかしいのでしょうか?? 教えてください。よろしくお願いします。