• 締切済み

エクセルでアクセスデータの差分のみを読み込むには?

エクセルでアクセスのデータを自動で読み込むようにしているのですが、 都合上、データ内容に変更があった場合、アクセスではなくエクセル上で修正しています。 ただ、そうした場合、エクセルデータ修正後にアクセスデータを読んだ場合、当然ながらエクセル上で修正した部分まで書き換えられてしまいます。 これを防ぐため、エクセルとアクセスデータを参照し、エクセルより新しいレコード(判別はレコードごとのオートナンバーID)のみ読み込む、というようなことはできませんでしょうか。 どうかよろしくおねがいします。

みんなの回答

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

アクセスは使ったことがないので何ですが。。 現在エクセルに取込んであるデータの「最終ID」は分かっていいるわけですから、 次回アクセスからデータを取込むときは、その「最終ID」より大きいIDのレコードのみを エクセルに取込んであるデータの最終行の次の行から、取込めばいいのではありませんか?  

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

普通は無理 Excelでの変更をAccess側へ反映させたのちにExcelファイルへ書き出して修正しましょう マクロを使用することで可能だろうと思いますが、マクロを作成するよりも 上記の方法を取った方が確実に早いですよ。しかも間違いが無いです Excelで変更した箇所が変更中にAccess側で更新されているような事態であれば 上記の方法を含め質問にある方法は賢明ではありません Excelで編集すること自体を放棄してください その方法ではデータの画一性を保つことができません おかしくなってしまったデータを修正する手間を考えたら、 Access上でデータを修正できるように工夫することを強くお奨めします

shigaieto
質問者

補足

親身なアドバイス、ありがとうございます。 ただ、エクセル上での修正が必要なのは、行やセルに色を付けたりするためで、運用上は、 ■既存レコードの修正はエクセル上でのみ ■アクセスは新規登録のみで、過去入力分は触らない というルールを決めることにより、画一性を持たせられればと思うところです。 どうぞ宜しくお願いします。

関連するQ&A