在将多个csv文件从一个文件夹导入到Access数据库的1个表中之前,我已经使用以下代码。但是,这次,每个文件的第一行都包含一个帐号,并且列标题位于第2行中。因此,每个文件的第一行都不同,并且此代码在“ DoCmd.TransferText acImportDelim,,strTable,strPathFile, blnHasFieldNames“
如何排除每个文件中的第一行?
我尝试将“ blnHasFieldNames”更改为False,希望代码可以接受第1行中的任何差异,但这行不通。
将strPathFile作为字符串,strFile作为字符串,strPath作为字符串 昏暗的strTable作为字符串,strBrowseMsg作为字符串 将blnHasFieldNames设置为布尔值
' Change this next line to True if the first row in EXCEL worksheet
' has field names
blnHasFieldNames = True
strBrowseMsg = "Table Name"
strPath = "FilePath"
If strPath = "" Then
MsgBox "No folder was selected.", vbOK, "No Selection"
Exit Sub
End If
' Replace tablename with the real name of the table into which
' the data are to be imported
strTable = "Table Name"
strFile = Dir(strPath & "\*.csv")
Do While Len(strFile) > 0
strPathFile = strPath & "\" & strFile
DoCmd.TransferText acImportDelim, , strTable, strPathFile, blnHasFieldNames
' Uncomment out the next code step if you want to delete the
' EXCEL file after it's been imported
' Kill strPathFile
strFile = Dir()
Loop
我得到的错误是(xxxxxx =我用这个而不是帐户名)
运行时错误“ 2391”: 目的地表“表名称”中不存在字段“ xxxxxxxxx”
答案 0 :(得分:0)
您将不得不打开文件,删除第一行,保存文件,然后运行导入;或逐行读取文件,跳过第一行,然后逐行追加数据。
在两种情况下,都可以使用FileSystemObject object。