- ベストアンサー
重複削除をマクロで
ganbaroの回答
重複データの削除に関して以下の発想ではだめでしょうか ただし、主キーになる項目がありデータ内容も同じで重複している場合ですが、案外簡単です。 1.まず重複しているデータが入っているテーブルの構造を複写し、主キーも設定します。 (テーブルの新規作成とデザインから作成) すでに登録済みであればそれを使う 2.元のテーブルと、新しいテーブルの主キーによる不一致クエリーを作成し、デザイン編集にて不一致分を新しいテーブルに追加にすればOKと思います
関連するQ&A
- ACCESS 重複データ削除の順番について
追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID] [クラス] [名前] [時間] 1 A ああ 11:00 ←重複 2 B 鈴木 12:00 3 C アア 13:00 ←重複 4 A ああ 14:00 ←重複 5 B 森 15:00 6 C アア 16:00 ←重複 7 B 青山 17:00 8 C アア 18:00 ←重複 9 A ああ 19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 重複行削除のマクロ
重複行を削除するマクロを作っていますが、うまくいきません。 2行目にタイトルが入っていて、3行目以降が必要なデータになります。 この中でA列が一致しているデータ行を削除したいと考えており、 重複データが削除された後、タイトル行がなぜか一番下の行にはりついてしまいます。 どなたか詳しい方助けてください!!!よろしくお願いします。 ちなみに以下が現在使用しているVBAコードです。 =============================================================== Sub GoodRemoveDuplicates() 'A列にデータが入力されており、そのデータを並べ替えた後、 '重複するデータが含まれている行を削除するマクロ Worksheets("貼り付け用用マクロ").Range("A1").Sort _ key1:=Worksheets("貼り付け用用マクロ").Range("A1") Set currentCell = Worksheets("貼り付け用用マクロ").Range("A1") Do While Not IsEmpty(currentCell) Set nextCell = currentCell.Offset(1, 0) If nextCell.Value = currentCell.Value Then currentCell.EntireRow.Delete End If Set currentCell = nextCell Loop End Sub ===============================================================
- ベストアンサー
- Visual Basic
- Accessのテーブルへのデータインポートについて
Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- Access、マクロの最後に最適化を入れられる?
Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!
- ベストアンサー
- その他MS Office製品
- accessで重複データの削除について
accessというよりSQLについてなのかと思いますが、教えていただけないでしょうか。 重複するIDがあり、1件を除いて他のデータを削除してデータを抽出したいです。 抽出条件としては、[年月日]カラムがあるため、日付が一番直近のものを残したいです。 ※こちらも重複しております。 また、[フィルタ]カラムが「2」のレコードのみを対象としたいと思っています。 accessの場合、重複クエリを用いるのかと思い、クエリウィザードから作成しましたが 一意とはなりませんでした。 SELECT テーブル1.[共通ID], テーブル1.[連番], テーブル1.[郵便番号], テーブル1.[住所], テーブル1.[担当者名], テーブル1.[年月日], テーブル1.[フィルタ] FROM テーブル1 WHERE (((テーブル1.[共通ID]) In (SELECT [共通ID] FROM [テーブル1] As Tmp GROUP BY [共通ID] HAVING Count(*)>1 )) AND ((テーブル1.[フィルタ])=2)) ORDER BY テーブル1.[共通ID], テーブル1.[年月日] DESC; distinctも使ってみましたがうまくできませんでした。 何が原因でしょうか。 申し訳ありませんがご教示いただきたくお願いいたします。
- 締切済み
- その他(データベース)
- マクロによるインポート
アクセス初心者です。仕事でデータベースを作っているのですが、簡単な物がようやく完成しそうなのですが・・・。だた1つ、マクロを使ったインポートが上手く作動しません。エクセルからアクセスのテーブルにインポートさせたいのですが、マクロでワークシート変換→エクセルからアクセスへの指示を入力し、パス自体も間違えてはいない様なのですが、インポート元のエクセルシートを開いた状態でしかテーブルが更新されません。閉じた状態でマクロを動かしても、エラーメッセージは出て来ないのですが、いざテーブルを開いてみても、インポートされていないのです。更新する前にデータが重ならない様に、テーブルを削除してから、新たにインポートさせる指示にはしてあります。エクセルを閉じた状態でインポートさせるにはどうしたら良いのでしょうか?分かりにい文章で申し訳ありません。どうかお願いします。
- 締切済み
- その他(データベース)
- Accessで重複したデータを削除したい。
AテーブルとBテーブルがあります。AテーブルとBテーブルのフィールド名は同じですがデータはそれぞれ違います。AテーブルとBテーブルにあるデータを一つにまとめたいのですが、その際に、 「AテーブルとBテーブルの間で重複したデータがあるのでそれを削除したい。」のですが、手順としてどのような方法がスマートなのでしょうか。 (1)BテーブルをAテーブルに追加クエリで追加する。 (2)Aテーブルで重複クエリを作成し、重複しているデータを表示する。 ・・・・とここまで考えたのですが重複しているデータをどのように削除していけばいいかわかりません・・・。根本的にやり方が間違っているのでしょうか。どなたか詳しい方、いい方法を教えてください。よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- accessのデータで重複している行を削除したい
accessのテーブルで、データシートに顧客のデータが入っています。 そこに、まったく同じデータが存在していますので、それを削除したい のですが、簡単に抽出して削除する方法等あるのでしょうか?? 重複クエリを試してみましたが、ちょっと違うようなので、 なにかいい方法を教えてください。 初歩的な質問で申し訳ありませんがよろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- 重複しているレコードを一気に削除する方法
重複しているレコードを一気に削除する方法はありますか? 主キー フィールド1 フィールド2 1 あ い 2 あ い のように、主キー以外は重複していえるのですが この場合、1か2を削除する方法はありますか? 一つのテーブルに主キー以外の値が重複しているレコードが多々あるので一気に削除したいです。
- ベストアンサー
- オフィス系ソフト