TLDR:質問の最後に長い質問をまとめました。Msアクセス、Excelを使用してテーブルを変更する。 IDのオートナンバーを扱う
私のビジネスは、リレーションシップ、PK、FKを適切に設定したMsアクセスDBを使用しています。私はときどきテーブルに大きな変更を加える必要があります(フィールドの追加、列操作の実行、Excelのみができると信じているもの:文字列操作(LEFT、RIGHTなど)、INDEX/MATCH(VLOOKUPS)、フィールドなど...
私は、Excelにテーブルをエクスポートして適用し、変更を行います。 完了したらテーブルをインポートしたいのですが、問題が発生します。 IDとオートナンバー機能がAccessにあります。テーブルをインポートするときに、以前のID列を使用できず、新しいID番号列を取得できるようにして、動作するオートナンバー型ID列を取得する必要があります。レコードの順序、レコードの数(レコードが削除された場合など)は、新しい自動生成IDは古いものと同じではなく、関係。 FKはもう正しいPKを指し示すことはありません。
この問題を処理する方法を検索しようとしましたが、他に誰もこの問題がないかのように何も見つかりませんでした。私はおそらくそうは思わないでしょう。
ショートバージョン:Access-ExcelのテーブルをエクスポートするとPK/FKの問題が発生する。インポート中、私は自分の最初のPK列をAutoNumberとして再利用することができないため、新しいID autonumber列を作成すると、IDが変更され、FK(関係)に問題が発生するという問題が発生します。同期中
Excelにエクスポートするのではなく、Accessで直接更新を行う方法を見つける傾向があります。アクセスは、多くの文字列操作(LEFT、RIGHT MIDなど)とルックアップ(DLOOKUPをチェックアウトするか、探している列にテーブル結合を使用するだけでも可能です)。 VBA関数を書く必要があるかもしれませんが、Accessで何とか実現できないExcelでできることはたくさんあります。それをすべてAccessに保存すると、PK/FKの問題を取り除くはずです。 – Skippy
あなたの洞察に感謝します。 Accessに留まって問題を解決することは事実です。しかし、今日の問題では、既存のテーブルに多くの列を追加する必要があります。本質的に、ウェブサイトに関連する属性(ユーザー名、ユーザー役割、およびその他のユーザー関連属性)を顧客に追加する必要があります。私は悲しいことにエレガントな解決策ではない私の顧客テーブルと1:1でリンクされた新しいテーブルを作ることができると思う –