• 締切済み

Accessで2テーブルの差分出力

Access2000を使っています。 2つのテーブルの不一致レコードを表示したいと思っています。 下記例では『玄米茶の単価が違う・ 紅茶の数量が違う』ため、差分のレコードを出力したいのです。 (新しいテーブルにINSERTしてもかまいませんし、クエリで出力してもかまいません) 例) Aテーブル 品目  単価  数量 緑茶  100   10 玄米茶 200   15 紅茶  150   5 Bテーブル 品目  単価  数量 緑茶  100   10 玄米茶 150   15 紅茶  150   30 差分テーブル(クエリでも可) 品目 玄米茶 紅茶 実際に処理するレコードが10万件を超える為、差分レコードのみを表示したいと思っています。 上記例では、緑茶レコードは表示したくありません。 どなたか教えてください。お願いします。

みんなの回答

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

SELECT Aテーブル.品目 FROM Aテーブル INNER JOIN Bテーブル ON Aテーブル.品目 = Bテーブル.品目 WHERE (Aテーブル.単価<>Bテーブル.単価) OR (Aテーブル.数量<>Bテーブル.数量);

tyurajima
質問者

お礼

素早い回答ありがとうございます。 早速試してみます。

関連するQ&A

  • 差分出力及び差分出力について

    プログラム初心者です。教えてください。 vbscriptで2パターンプログラムを書きたいです。 ・1つはテーブルから差分データをcsv形式で出力  既に出力済のレコードは出力しない。 ・もう1つはあるファイルを読み込み、テーブルに追加する  既に取り込み済のレコードについては取り込まないようにする。 基本的な質問ですが、テーブルから出力やテーブルへの取り込みについては、 テーブルにフラグの列を作って、レコードのそのフラグの列が 1の場合は出力済、もしくは取り込み済 0の場合は未出力、もしくは未取り込み と判断させるようなプログラムを書き、該当するレコードだけ 出力もしくは取り込みという処理を書けばいいのでしょうか? 何か参考になる例があれば教えていただけないでしょうか。 よろしくお願いします。

  • アクセスのテーブルの差分の抽出について

    アクセスの初心者です。今、仕事でデーターの差分の抽出の仕方についてわからず困っています。 2つのテーブルがあります。 テーブルには100以上の項目と500件ほどのレコードがそれぞれ入っています。 この2つのテーブルを比較して差分を出したいのですが方法が思いつきません。 出したいものは、テーブル1とテーブル2の共通のIDを比較し、 テーブル1からテーブル2で変更、追加されたものを出したいのです。 レコードの追加だけなら差分クエリを利用してやれると思うのですが、 100以上の全フィールドをそれぞれ比較するとなるとどうすれば良いのかわからないのです。 2つのテーブルの項目は基本一緒ですが、追加されたり、変更されたりします。 もともとはエクセルのデータで毎週やりとりされるもので、 エクセル上で手作業で、 シート1とシート2でマッチングを行い、シート3に追加、変更されたものを書き出しています。 100列ほどの項目も追加や変更されるので、前回データと今回データで (1)列の比較をして2つの列数を揃えてから、 (2)KEYになる列でVLOOKUP関数を使い、追加されたデータをよけて、 (3)前回データと今回データが一緒のデーター並べ替え、揃えて、シートを比較して変更、追加を探す という作業を行っています。 データー数が多く、エクセルでは限界がでてきました。 また、アクセスを使えば簡単にできる。と言われましたが、 まだまだ初心者のため、この大量のデータをどう処理すればいいのかわかりません。 質問は、 (1)アクセスで100項目以上あるテーブルのそれぞれの差分をだすことができるのでしょうか? (2)その方法はどうすればよいのでしょうか? また、アクセス初心者でも勉強すればすぐにできるのでしょうか? と、いうことです。 会社に迷惑をかけないためにも、可能、不可能を判断したいです。 よろしくお願いいたします。

  • アクセスからエクセルのテンプレートへの出力

    お世話になっております。 アクセス(クエリ)から テンプレートファイル(エクセル)へ ユーザー単位で出力するには どのようにすれば良いでしょうか? QRY_出力: ユーザー名|ユーザーID|商品|単価|数量|日付 という表示クエリがあり、 このクエリから ユーザー名毎(もしくはユーザーID毎)に テンプレートファイル(エクセル)の「出力Sheet」へ出力した上で、 [ユーザー名]_出力日.xlsx という名前で別名保存したいです。 ※商品×1のユーザーは1レコード  商品×2のユーザーは2レコード・・・の出力のイメージです。 初心者につき、つたない説明かもしれませんが、 ご教示のほどよろしくお願い致します。

  • access テーブルへのデータ入力について

    只今accessにて受発注のデータベースを作っておりますが、初心者でつまずいているため、ご教授ください。 商品テーブルに仕入単価が入っています。受注テーブルには仕入金額を入力する欄があります。普通なら、仕入単価と受注の数量をクエリで計算させて様々に加工、使用していくと思うのです。しかし、仕入単価は一応1年単位で決まっていますが、原材料の価格によって変動がある場合があります。 そこで、納品書の入手時点で仕入金額を入力しようと考えていますが、基本的には商品テーブルの単価使用したいので、フォームの仕入金額を入力する規定値に商品テーブルからの単価で計算させ、違った場合は手入力という形にしたいと思っています。 規定値に =[数量]*[単価](このフォーム自体のレコードソースが各テーブルをつなげた参照クエリです。) と設定しましたがname?エラーが返ってきています。 どうしたらいいでしょうか?この方法に限らず、単価変動がある場合の金額をどのようにすれば管理できるか案がありましたらお教えください。

  • アクセス

    アクセスでテーブル上で、   単価 数量 金額    3 5 15 のように単価、数量いれると金額が合計されるテーブルができますか? クエリはつかわないで・・

  • CSVファイルをアクセスのテーブルに出力する

    こんにちは Access VBA初心者です。 やりたい処理なのですが CSVファイルをmdb内であらかじめ作成されているテーブルに出力したいのですが、 最初にTransferTextwでワークのテーブルにインポートして そのワークテーブルを1レコードずつ読み込みmdbのあらかじめ作成されているテーブルにINSERTしていくという方法しか今思いつきません。 インポートするとワークテーブルはすべてテキスト型になっていますが、 それを違う型の項目にINSERTするということなど可能なのでしょうか? それとももっとスマートな方法があるのでしょうか? ざっくりと書いてしまいましたが、よろしくお願いいたします。

  • ACCESSで計算をさせたい。

    お世話になっています。 早速ですが、ACCESS2003でテーブルに入力した数字がエクセルのように結果を出し残すことはできるのでしょうか? テーブルでは計算ができないのでクエリでやるとしたらどのようにしたらいいでしょうか? 数量(A1)×単価(B1)=金額(C1)というC1の計算結果もレコードに保存できるものでしょうか? フォームではもちろん入力した数字を計算させることはできるのですが、その結果をレコードに残して行きたいと思っています。 どうかよろしくお願い申し上げます。

  • Access2000について

    テーブルの項目に [数量][単価][合計]が在ります  [数量]*[単価]=[合計]をテーブルの[合計]欄に 表示したいのですができません  どうしたらいいのでしょうか? よろしくお願いします。

  • ACCESS教えて下さい。

    こんにちは。 ACCESSで今データーベース作ってます。 初心者なのですが、 売上管理の為 テーブルを作成 ID 数量 単価 金額 を作成し、入力(フォーム)で数量と単価をいれると自動計算できるようにしたいのです。 今までは、合計をクエリーで作成してました。計算は出来るのですが、テーブルで合計が入力されないし、その金額を次利用しようとしても、使えません。 数量*単価⇒の値を金額へ保存していきたいのですが・・。 宜しくお願いします。

  • ACCESSでデータ削除すると「読み取り専用」と出る

    WINXP、ACCESS2003 ACCESSで二つのテーブルの差分のクエリを作りデータの修正を行っています。 差分のクエリをそのまま、すべて選択してDeleteボタンでデータを削除しようとすると「データは読み取り専用です」と表示され、削除することができません。 レコードを選択して右クリックしても「削除」「新しいレコード」の箇所がグレーになっていて利用できません。 どこかが、読み取り専用になっているのでしょうか? ちなみに、元のテーブルは削除できます。 よろしくお願いします。