• ベストアンサー

Access vbaで重複レコードの削除がしたい

 以下の様なレコード(実際は他にもデータがあります)があります。必要な部分のみを抽出しています。  事業所名と職種名が同じものですから、整理番号が最大のものを残して、ほかは削除したいのですが、思うように重複レコードの削除ができません。ご教授ください。  整理番号 事業所名 職種名  20110001 ○○○○ △△△  20120001 ○○○○ △△△  20130001 ○○○○ △△△ ←このデータを残したいのですが・・・ よろしくお願いします。

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.4

できると思います。 クエリをSQLビューで表示させると、 SELECT Max(テーブル1.整理番号) AS 整理番号の最大, テーブル1.事業所名, テーブル1.職種名 FROM テーブル1 GROUP BY テーブル1.事業所名, テーブル1.職種名; このようになっているはずです。

moodesu
質問者

お礼

早速の御返事ありがとうござしました。私のやり方が間違っていたのですね。できることが分かって安心しました。画像つきで送って下さり、誠にありがとうございました。多謝!

その他の回答 (3)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

整理番号を選択に変える⇒整理番号を最大にかえる でした。 スミマセン。

moodesu
質問者

お礼

ShowMeHowさん、何度もありがとうございます。回答No.1のお礼欄に書きましたが、同一レコードのグループが複数あり、「最大」がうまく働いてくれないようです。それぞれのグループ内の「最大」とはならないのでしょうか? 整理番号 事業所名 職種名 20080001 ○○病院 看護師 20110001 ○○病院 看護師 20120001 ○○病院 看護師 ←これを残す 20090012 △△商事 事務職 20100012 △△商事 事務職 20130012 △△商事 事務職 ←これを残す  以上のようなデータでも成功するのでしょうか? 何度もすみません。

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

選択クエリで ・整理番号、事業社名、職種名を表示させ、 ・デザインビューで右クリック、集計を選択して、 ・整理番号を選択に変える それをテーブル作成クエリに変えれば、テーブルを作ることもできます。

参考URL:
http://www.mahoutsukaino.com/ac/ac97/basic/s_query1.htm
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

グループ化して、整理番号が最大のものだけを書き出すと、同じ結果が得られます。 元のテーブル名にしたいなら、仮テーブルに出力した後、データを削除して 仮テーブルより書き戻せばよいと思います。

moodesu
質問者

お礼

 遅くなりましたが、ご回答有難うございました。ネットで調べてグループ化をして実行してみましたが、質問の仕方が悪かったので、思うような結果が出ませんでした。  もう少し詳しく書きますと、 整理番号 事業所名 職種名 20080001 ○○病院 看護師 20110001 ○○病院 看護師 20120001 ○○病院 看護師 ←これを残したい。 20090012 △△商事 事務職 20100012 △△商事 事務職 20130012 △△商事 事務職 ←これを残したい。  上記のように同じようなものが複数あるのです。それぞれに整理番号が最大のものを残したいのです。説明不足で申し訳ございませんでした。  よろしくお願いします。

moodesu
質問者

補足

すみません。グループ化の具体的な方法を教えていただければ幸いです。初心者ですので…

関連するQ&A