インポートでの重複を避けるには:
1 - テーブルに主キーがまだない場合は、FLDA と FLDB に (一緒に) 配置します。FLDA と FLDB (一緒に) ではない主キーが既に存在する場合は、テーブルのこれら 2 つのフィールドにインデックスを配置します。
2 - ウィザードまたはクエリを使用して、スプレッドシートからテーブルにインポートできます。スプレッドシートのインポート ウィザードを使用すると、インポートが開始される前に次のメッセージが表示されます。
「DB name はすべてのデータをテーブルに追加できませんでした。
「キー違反により、0 レコードのフィールドの内容が削除され、(xx) レコードが失われました。(これらの失われたレコードは重複していたため、実際の損失はありませんでした。) ... それでも続行しますか?」
[はい] をクリックして、スプレッドシートから行をインポートします。重複はインポートされません。
または、インポートにクエリを使用するには、これを SQL ビューの新しいクエリに貼り付けます (メニュー: [挿入] > [クエリ] > [デザイン ビュー]、[閉じる] ボタン、メニュー: [ビュー] > [SQL ビュー])。
INSERT INTO tblInput
SELECT XLS.*
FROM tblInput AS T RIGHT JOIN
[Excel 8.0;IMEX=1;HDR=Yes;DATABASE=c:\data.xls;].[Sheet1$] AS XLS
ON T.FLDA = XLS.FLDA AND T.FLDB = XLS.FLDB
WHERE ISNULL(T.FLDA) AND ISNULL(T.FLDB);
パス c:\data.xls をパスに、Sheet1$ をシート名に、tblInput をテーブル名に、FLDA と FLDB を列名に変更します。スプレッドシートにヘッダー (列名) がない場合は、HDR=Yes を HDR=No に変更します。