csv ファイルを Access テーブルにインポートするこのコードがあります。私のスキルのレベルを超えた問題やアイデアがいくつかあります。最初の問題は、ファイルが既存のフィールドを追加せず、代わりにファイル全体が挿入され、新しいヘッダーを含む複製が作成されることです。
2 番目の問題は、テーブル全体ではなく、csv ファイル内の新しいレコードまたは更新されたレコードのみを Access からエクスポートしたいということです。まだそこに到達していません。
ここで少し手を握る必要があります。
皆さん、このフォーラムと皆さんに感謝します。あなたの知識を共有するために常に役に立ち、嘆き悲しんでいます。
Option Compare Database
Option Explicit
Private Sub ImportFile()
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim xlApp As Object, xlWb As Object, xlWs As Object
Dim lngRow As Long, lngLastRow As Long
Dim rst As DAO.Recordset
strPath = "C:\Transit\"
strTable = "Transit"
strFile = Dir(strPath & "*.csv")
Set rst = CurrentDb.OpenRecordset(strTable)
Do While Len(strFile) > 0
strPathFile = strPath & strFile
Set xlApp = CreateObject("Excel.Application")
Set xlWb = xlApp.Workbooks.Open(strPathFile)
Set xlWs = xlWb.Worksheets(1)
lngLastRow = xlWs.UsedRange.Rows.Count
For lngRow = 1 To lngLastRow
rst.AddNew
rst("Field1") = xlWs.Range("A" & lngRow).Value
rst("Field2") = xlWs.Range("B" & lngRow).Value
rst("Field3") = xlWs.Range("C" & lngRow).Value
rst("Field4") = xlWs.Range("D" & lngRow).Value
rst("Field5") = xlWs.Range("E" & lngRow).Value
rst("Field6") = xlWs.Range("F" & lngRow).Value
rst("Field7") = xlWs.Range("G" & lngRow).Value
rst.Update
Next
xlApp.Quit
Set xlApp = Nothing
Set xlWb = Nothing
Set xlWs = Nothing
strFile = Dir()
Loop
rst.Close
Set rst = Nothing
End Sub