自動生成されたIDを使用してExcelからAccessテーブルに値を追加する

自動生成されたIDを使用してExcelからAccessテーブルに値を追加する

Access データベースには、毎日いくつかの値で更新されるテーブルがいくつかあります。IDテーブルの他の値が Excel からインポートされるときに自動生成されるフィールドをテーブルに追加する必要があります。ボタンを残して VBA コードを記述することで、すべてを自動化したいと考えています。現在、テーブルに値をインポートするフォームがありますが、これは私が持っている正確な値だけをインポートします。IDインポート時に自動生成される追加の列も必要です。助けてください。

Excel シートのサンプル:

ProductName | ProductValue
------------+--------------
ABC         | 76
SDF         | 87

データベーステーブル

ID|ProductName| Product Value
--+-----------+--------------
1 | ABC       |76
2 | SDF       |87

Excel シートは毎日新しい値で更新され、自動的に増分されて Access データベースに格納されますID。そのため、毎日の更新後、値は前の値から増分されます。

Dim filepath As String

filepath = "E:\rt.xlsx"
If FileExist(filepath) Then
    DoCmd.TransferSpreadsheet acImport, , "TempfromExcel", filepath, True
    DoCmd.OpenQuery "qryAppend", acViewNormal

Else
    MsgBox ("File not found.")
End If

答え1

コメントにもあるように、IDフィールドをに設定するのが最善の方法ですAutoNumber。そのフィールドにすでに大量のデータがある場合は、フィールドをリセットする

自動番号の設定

それが完了したら、追加クエリにフィールドを含めないようにします。Access は、新しいレコードごとに次の値を自動的に入力します。

関連情報