Accessの追加クエリの方法(重複データをオートナンバーでキー作成)

このQ&Aのポイント
  • Accessを使用して追加クエリを作成し、重複データをオートナンバーでキーを作成する方法について教えてください。
  • 重複しているデータがある場合、追加先のオートナンバーフィールドで番号を振って追加する方法を知りたいです。
  • 質問者は、元データと追加先データの例を示し、それらを結合するために良い方法を求めています。
回答を見る
  • ベストアンサー

Accessの追加クエリの方法(重複データをオートナンバーでキー作成)

Access2003使用 追加クエリを使い、キー設定してあるフィールドにデータを追加していきたいのですが、重複しているデータがあるのでこの重複しているフールドは追加先のオートナンバーフィールドで振られる番号を追加して追加したいと思います。 元データ 番号  商品  金額 123-222 だんご 100 123-223 アイス 200 123-222 だんご 150 追加先データ 番号  商品  金額 オートNO 123-333 赤飯  100  1 123-444 ご飯  200 2 123-555 五平餅 150 3 123-222/4 だんご 100 4 123-223  アイス 200 5 123-222/6 だんご 150 6 とやりたいのですが、良い方法は無いでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

このオートナンバーを使うのは、決定した仕様でしょうか。 私が考えれる範囲では、かなり厳しい仕様なのでは、と思ってしまいます。 番号  商品  金額 オートNO 123-333 赤飯  100  1 123-444 ご飯  200 2 123-555 五平餅 150 3 ここに 番号  商品  金額 123-222 だんご 100 123-223 アイス 200 123-222 だんご 150 を追加したら、 番号  商品  金額 オートNO 123-333 赤飯  100  1 123-444 ご飯  200 2 123-555 五平餅 150 3 123-222/4 だんご 100 4 123-223  アイス 200 5 123-222/6 だんご 150 6 に、ということですよね。 さらに 番号  商品  金額 123-222 だんご 100 123-223 アイス 200 123-222 だんご 150 を追加したらどうなるのでしょう。 番号  商品  金額 オートNO 123-333 赤飯  100  1 123-444 ご飯  200 2 123-555 五平餅 150 3 123-222/4 だんご 100 4 123-223  アイス 200 5 ←ここも書換え? 123-222/6 だんご 150 6 123-222/7 だんご 100 7 ←? 123-223/8 アイス 200 8 ←? 123-222/9 だんご 150 9 ←? オートナンバーは、レコードを登録した際に確定する数値だった(?)と思うので、 1度仮の番号で登録、 オートナンバー値を取得、 重複番号をチェックし、 加工した番号で更新 以前のオートナンバーなし番号に対して更新処理+α (α:他のテーブルデータの書き換えもあり?) というような流れになるのかもしれません。 VBAでの記述になるのでしょうか。 以下のような変更では? 番号  細番 商品  金額 123-333 1  赤飯  100 123-444 1  ご飯  200 123-555 1  五平餅 150 123-222 1  だんご 100 123-223 1  アイス 200 123-222 2  だんご 150 123-222 3  だんご 100 123-223 2  アイス 200 123-222 4  だんご 150 「細番」は、番号が重複した際の数値 追加時に、番号がなかったら、細番=1 あったら、細番=Max(細番)+1 (その番号での細番最大値+1) IIF で DLookup や DMax を使えば、クエリでもできると思います。 番号と細番で、主キーとするのでしょうか。 ※ 何に使うテーブルなのかわからないので、これがいいのかわかりません。 識者の回答を待って下さい。

baggio100
質問者

お礼

早速の回答ありがとうございました。 補足の内容により、とりあえずは締め切ります。

baggio100
質問者

補足

早速の回答ありがとうございます。 返信が遅くなってすいません。 やりたいと思っていたことは 番号  商品  金額 オートNO 123-333 赤飯  100  1 123-444 ご飯  200 2 123-555 五平餅 150 3 123-222/4 だんご 100 4 123-223  アイス 200 5 ←そのまま 123-222/6 だんご 150 6 123-222/7 だんご 100 7 ←追加 123-223/8 アイス 200 8 ←追加 123-222/9 だんご 150 9 ←追加 以上のような内容にしたいです。 クエリでもVBAでも結構ですが、VBAがあまり使ったことが無いので理解できるかどうかです。 しかし仕様が大幅に変更になりこの作業自体無くなりました。 なので、一度締め切って、再度仕様が固まってわからないようでしたら質問させてもらいます。

関連するQ&A

  • Access2003 データ型 オートナンバーについて エクセルからテ

    Access2003 データ型 オートナンバーについて エクセルからテーブルをインポートする方法 主キーである、IDと名をつけたフィールドのデータ型は"オートナンバー"でレコード新規入力際、自動で番号がふられていくようにしています。 このテーブルにエクセルのレコードをインポートして追加したいのですが、インポートできません。 ※オートナンバーフィールドが原因と思われます。 どうすれば、エクセルからこのテーブルにレコードをインポートし、追加されたレコードにオートナンバーで番号を割り振る事が出来ますででしょうか? 最も、シンプルな方法をお教え願います。

  • Access で重複データを削除

    Access2010を使用しています。フィールドが2個あります。【都道府県名フールド】【市区町村名フィールド】です。 都道府県フールドには、重複データが有ります。【東京都 品川区】【 東京都 大田区】【千葉県 市川市】【千葉県 船橋市】・・・・】このような重複データがある時に、エクセルの【データ 重複の削除】の様な結果が欲しい。実行後は【東京都 品川区】【千葉県 市川市】です。*エクセルの重複の削除は最初の行が残ると有りました。簡単な方法をお願い致します。現在実施している方法はアクセスで、エクセルでエクスポートして、【データ データの削除】を実施しています。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • accessで重複を排除してデータ追加したい

    access2000使っています。 EXCELからリンクしたテーブルAのデータをテーブルB追加しています。テーブルBには累計というか履歴のようにデータを蓄積させています。 今は追加クエリでA→Bにデータ入れていますが、どうしても重複するものがあると警告メッセージが出てしまいます。フィールドは、日付*、コード*、金額、で*のものをキーにしています。 警告メッセージを出さず追加する方法、もしくは現在Bにある日付移行のものだけ追加する方法はないでしょうか?

  • Accessでのテーブル作成や追加クエリなどについての質問です。

    ◆テーブル作成クエリで作成するテーブルにオートナンバー型のフィールドを設けたい。◆ (ナンバーが必ず1から振られることが条件) ※補足※ あらかじめオートナンバー型を含むテーブルを用意し、追加クエリ&削除クエリを使用すればよいという意見もありますが、この場合オートナンバー型のフィールドはカウントをアップし続けてしまう為断念。 ★教えてほしい事★ テーブル作成クエリからオートナンバー型のフィールドを作成できるのか? もしくは あらかじめオートナンバー型を含むテーブルを用意し削除クエリでテーブルのデータを空にしてから追加クエリでデータを入力しても必ずオートナンバー型のフィールドの先頭値は"1"から始まるようにできるか? 宜しくお願い致します。

  • アクセス2007で追加クエリが動かないのですが・・

    あるテーブル(以下「テーブル(1)」といいます。)のオートナンバーを1から振り直すために、テーブル(1)の構造のみをコピーしたテーブルを作り、そこに追加クエリでテーブル(1)のオートナンバー以外のフィールドのデータをくっつけようと思っているのですが、「無効モードのため,アクションまたはイベントはブロックされました。」とのメッセージがでてしまいます。 選択クエリを追加クエリに変換する方法が間違っているのでしょうか? 選択クエリをテーブル(1)を元に作ったうえでデザインビューで、「追加」をクリックし、追加先テーブルを「テーブル(1)のコピー」を選んでいるのですが、何が問題なのでしょうか?

  • アクセス2007でオートナンバーを任意の番号から始めるには

    テーブルを開いて、作成のリボン中の「クエリデザイン」→オートナンバーを任意の番号から始めたいテーブルを選んで「追加」→オートナンバー型の当該フィールド(以下、受付番号という。)を選択→デザインのリボン中の「更新」→「レコードの更新」で「100+[受付番号]」と入力→実行 すると 「フィールド「受付番号」は更新できません。フィールドが更新可能ではありません。」とのエラーメッセージが出るのですが、どうしたらオートナンバー型のフィールドである受付番号を101から始められるのでしょうか?

  • access追加クエリ実行時の重複を防ぎたい

    ACCESS 2010にて、追加クエリでテーブルにレコードを追加しています。 テーブル構造は、ID、製品名、在庫数、入荷日、依頼日となっています。 いくつかの選択クエリとクロス集計クエリを経て、その結果を追加クエリで、製品名、在庫数、入荷日の3フィールドに追加しています。 依頼日は、追加クエリ実行後にデータシート型フォームから入力しています。 その後、追加クエリを実行すると、依頼日の入力されていない重複データが追加されてしまうので、追加クエリを実行しても重複しないようにしたいのです。 わかる方、ぜひ教えて下さい。 宜しくお願いします。

  • access2000 オートナンバーでマイナス??

    こんにちは。レプリケーションでデータを追加していると、-158694322とかという番号がオートナンバーで出てきます。特に大きな問題は無いとは思うのですが、主キーを置いているところなので怖いです。一度、主キーを変えてオートナンバーの番号をそろえてみたのですが、その後データを追加するとまたマイナスや非常に大きな番号が出てしまいます。何か対処法・問題点等ありませんでしょうか?

  • Accessでの新規レコードの追加の方法

    Windows XP上でMicrosoft Access 2000を使用しています。 オートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加したいのですが、クエリやそれを基にしたフォームを介した方法はもちろんのこと、テーブルをデータシートビューで表示した状態でも追加することができません。 例えばレコードセレクタからレコード追加を選んでレコード保存を選んでも追加されません。 このテーブルに別のフィールドを追加してデータを入れるとレコードの追加が可能なのですが、オートナンバー型フィールド1つのみではうまくいきません。 どなたかオートナンバー型フィールド1つのみを含むテーブルに新規レコードを追加する方法を御存知でしたら御教示下さいませ。

  • Accessでクエリに規則性の無い重複データが

    Accessに二つのテーブルを作りました。 Tユーザー情報 ・ユーザーID ・郵便番号 ・性別 T都道府県 ・都道府県名 ・郵便 Tユーザー情報には都道府県のデータがないため、 T都道府県とひもづけたいのです。 続いてクエリを作成しました。 ・ユーザーID(Tユーザー情報) ・性別(Tユーザー情報) ・郵便番号(Tユーザー情報)→リレーションシップ:郵便(T都道府県) ※結合プロパティで「両方のテーブルの結合フィールドが同じ行だけを含める。」 ※無効な〒番号のユーザーは省きたいため ・都道府県(T都道府県) 結果、Tユーザー情報の件数よりも、クエリのレコードの件数が多くなってしまいました。 ユーザーIDを見ると、全く同じレコードが数行混ざっていました。 重複レコードはそれぞれ件数が違い、規則性も見つかりません。 全体で10万件のうち8千件くらいの重複データができてしまいます。 googleで調べると、もともと重複データのあるレコードを削除する方法は あるようですが難しく、そもそも重複データを作らない方法が見つかりません。 クエリの作り方が間違っているのでしょうか… どうぞよろしくお願い致します。