Ms access 导入文件夹中的所有文件
我需要导入超过100个CSV文件到一个新的访问表 我正在与代码斗争,老实说,任何帮助都是感激的。这就是我到目前为止所做的:Ms access 导入文件夹中的所有文件,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我需要导入超过100个CSV文件到一个新的访问表 我正在与代码斗争,老实说,任何帮助都是感激的。这就是我到目前为止所做的: Option Compare Database Dim sql Dim rs Const strPath As String = "C:\Folder\" 'Directory Path sql = "Select * from FileNames" Set rs = CurrentDb.OpenRecordset(sql) rs.MoveFirst Do Un
Option Compare Database
Dim sql
Dim rs
Const strPath As String = "C:\Folder\" 'Directory Path
sql = "Select * from FileNames"
Set rs = CurrentDb.OpenRecordset(sql)
rs.MoveFirst
Do Until rs.EOF
'docmd.TransferText rs("fileName")
DoCmd.TransferText acImportDelimi, , "FileNames", strPath, True
rs.MoveNext
Loop
我已经有一个表,其中包含文件路径和文件名。格式如下:
C:\Folder\File17-08-01.csv
循环遍历文件名记录集,并使用方法导入每个文件 将TableName更改为应导入文件的表的名称
Public Sub ImportFiles()
On Error GoTo ErrorTrap
Const strPath As String = "C:\Folder\"
Dim rs As DAO.Recordset
Set rs = CurrentDb().OpenRecordset("SELECT * FROM FileNames", dbOpenSnapshot)
With rs
If .EOF Then GoTo Leave
.MoveLast
.MoveFirst
End With
Dim idx As Long
For idx = 1 To rs.RecordCount
DoCmd.TransferText TransferType:=acImportDelim, _
TableName:="YourTableName", _
FileName:=strPath & rs![FileName], _
HasFieldNames:=True
rs.MoveNext
Next idx
Leave:
On Error Resume Next
rs.Close
Set rs = Nothing
On Error GoTo 0
Exit Sub
ErrorTrap:
MsgBox Err.Description, vbCritical
Resume Leave
End Sub
您没有从记录集将文件名构造到strPath中,因此不会导入任何内容。你也没有声明你的变量是什么,Minty所说的,加上acImportDelimi最后不应该有i。另外,您的代码似乎没有包装在子文件中,并且缺少显式选项,您应该使用该选项。您的代码做什么?它断了吗?哪里您会收到什么错误消息?