MSAccess:选择*放入其他路径中的CSV文件

时间:2019-03-27 12:19:23

标签: ms-access access-vba

我需要将CSV数据复制到Access表中。 TransferText可以按预期工作,但比“选择*插入”要慢得多。 50万条记录,共43列(不是我的数据)。

以下内容可根据需要工作,但仅当CSV文件与数据库位于同一路径(在本例中为strPath)时。

strFile = "testfile.csv"
strPath = CurrentProject.Path
strPath2 = CurrentProject.Path & "\Backend_Data\"

strSQL = "SELECT * INTO TempItem FROM [Text;HDR=NO;FMT=Delimited(,);Database=" & strPath & "].[" & strFile & "];"
db.Execute (strSQL)

该CSV文件将位于strPath2(\ Backend_Data)中。在strFile前面的上述strSQL中添加strPath2无效或不起作用。

这是SQL语法问题,还是只需要将CSV文件与数据库保留在同一路径中?

1 个答案:

答案 0 :(得分:0)

CurrentProject.Path没有结尾的反斜杠,因此请尝试:

strPath2 = CurrentProject.Path & "\Backend_Data"

strSQL = "SELECT * INTO TempItem FROM [Text;HDR=NO;FMT=Delimited(,);Database=" & strPath2 & "].[" & strFile & "];"
db.Execute (strSQL)