我是新手,您的幫助和耐心將不勝感激。許多tks提前。我需要正確的語法/代碼才能將文件名稱存入訪問數據庫表。以下是代碼和輸出。輸出是8列,前7列是數字,列8是我想要文件名的地方。代碼進入一個目錄,檢查那裏的所有csv文件,然後將csv數據導入到訪問dbase表中。我需要用csv文件名填充'com'列。目前它被填充了一個字符串。訪問表的文件名
Sub Import_multiple_csv_files()
Const strPath As String = "C:\text1\" 'Directory Path
Dim strFile As String 'Filename
Dim strFileList() As String 'File Array
Dim intFile As Integer 'File Number
Dim SQL As String
'Loop through the folder & build file list
strFile = Dir(strPath & "*.csv")
While strFile <> ""
'add files to the list
intFile = intFile + 1
ReDim Preserve strFileList(1 To intFile)
strFileList(intFile) = strFile
strFile = Dir()
Wend
'see if any files were found
If intFile = 0 Then
MsgBox "No files found"
Exit Sub
End If
'cycle through the list of files & import to Access
'creating a new table called MyTable
SQL = " UPDATE Test SET Com = ""'strFile'"" WHERE Com IS NULL OR Com=''"
For intFile = 1 To UBound(strFileList)
DoCmd.TransferText acImportDelimi, , _
"Test", strPath & strFileList(intFile)
'DoCmd.RunSQL SQL
CurrentDb.Execute SQL
輸出似乎不
F1 F2 F3 F4 F5 F6 F7 com
20111128 2.6922 2.6922 2.6922 2.6922 3340 17696 'strFile'
20111129 2.7229 2.7229 2.7229 2.7229 5010 18141 'strFile'
20111130 2.7401 2.7401 2.7401 2.7401 3641 18723 'strFile'
20111201 2.7376 2.7376 2.7376 2.7376 8087 19321 'strFile'
20111202 2.7784 2.7784 2.7784 2.7784 0 0 'strFile'
20111128 2.6727 2.6727 2.6727 2.6727 3889 26111 'strFile'
20111129 2.7039 2.7039 2.7039 2.7039 4562 26647 'strFile'
20111130 2.722 2.722 2.722 2.722 3043 27099 'strFile'
20111201 2.7218 2.7218 2.7218 2.7218 9180 27037 'strFile'
20111202 2.7623 2.7623 2.7623 2.7623 0 0 'strFile'
嗨感謝您的反饋。我嘗試了上面的腳本,但是現在com列中的輸出是2個引號''?我究竟做錯了什麼?非常感謝。 –
也許這是每一方的一個單引號。自從我做了任何VBA並且我沒有在當前計算機上安裝Access來測試,這已經有一段時間了。 – Simon
非常感謝您的幫助 –