我需要将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文件与数据库保留在同一路径中?
答案 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)