マクロを使用して、Access データベースから Excel ワークシートにデータを抽出します。最初にデータベースへの接続を開き、SQL ステートメントを文字列 var で定義してから、そのデータをレコードセットにダンプします。
Dim db As Database
Dim rs As RecordSet
Dim sql As String
Dim dbLocation As String
dbLocation = ThisWorkbook.Path & "\database\data.accdb"
Set db = OpenDatabase(dbLocation)
sql = "Select * FROM [Master Table]"
Set rs = db.OpenRecordSet(sql, dbOpenSnapshot)
If Not rs.EOF Then
Worksheets("Sheet1").Range("A1").CopyFromRecordset rs
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
これは完全に機能します。これを何人かの人に配布して、フィールドを更新するように依頼します。次に、返されたデータで Access データを更新する必要があります。設計上の単純なことは、抽出された Excel データがアクセス データベースの構造を反映しているため、更新クエリが単純になることです。また、主キーがあるので、そのフィールドにマップする必要があります。
これを行う方法はありますか?Excel データシート全体をレコードセットにロードして、洗練された更新クエリを実行できますか?