Vba 参数太少。预期1个CSV导入

Vba 参数太少。预期1个CSV导入,vba,csv,ms-access,Vba,Csv,Ms Access,我正在尝试通过VBA将CSV文件导入Access数据库。我得到一个错误:“运行时错误:'3061':参数太少。应为1。” 我已经尝试过添加单引号,就像其他线程建议的那样,但是没有帮助 strSQL = "INSERT INTO Import (" & _ "[Equipment]" & _ ",[Description]" & _ ",[User_status]" & _ ",[Fun

我正在尝试通过VBA将CSV文件导入Access数据库。我得到一个错误:“运行时错误:'3061':参数太少。应为1。”

我已经尝试过添加单引号,就像其他线程建议的那样,但是没有帮助

    strSQL = "INSERT INTO Import (" & _
         "[Equipment]" & _
         ",[Description]" & _
         ",[User_status]" & _
         ",[Functional_Location]" & _
         ",[Functional_Location_Desc]" & _
         ",[Cost_Center]" & _
         ",[Main_WorkCtr]" & _
         ",[Manufacturer]" & _
         ",[Model_Number]" & _
         ",[Serial_Number]" & _
         ",[Plant_Section])" & _
         " SELECT Equipment,Description,User_status" & _
         ",Functional_Loc,Description3,Cost_Center,Main_WorkCtr" & _
         ",Manufacturer,Model_number,ManufSerialNo,Plant_section" & _
         " FROM [Text" & _
                ";FMT=Delimited" & _
                ";HDR=YES" & _
                ";IMEX=2" & _
                ";CharacterSet=1252" & _
                ";DATABASE=" & strFolder & "].[" & strFilename & "]"

CurrentDb.Execute strSQL
我的CSV文件的第一行:设备、说明、用户状态、功能位置、说明3、成本中心、主要工作中心、制造商、型号、制造商序列号、工厂章节

谢谢你的帮助


马克

我要偷取vacip的答案,并进一步阐述。我100%同意他的建议:

在CurrentDB.Execute之前添加Debug.Print strSQL并查看它是否正确 好的,有所有的值等等


我建议将Debug.Print的结果粘贴到Access查询向导的SQL窗口中。然后试着运行它。有时,Access通过查询生成器运行错误时,错误更为明显。另外,切换到这个新查询的设计视图,看看是否有任何异常。通常,在这两个视图之间,我可以找出我的查询中存在的任何问题。

我将窃取vacip的答案并展开讨论。我100%同意他的建议:

在CurrentDB.Execute之前添加Debug.Print strSQL并查看它是否正确 好的,有所有的值等等


我建议将Debug.Print的结果粘贴到Access查询向导的SQL窗口中。然后试着运行它。有时,Access通过查询生成器运行错误时,错误更为明显。另外,切换到这个新查询的设计视图,看看是否有任何异常。通常,在这两个视图之间,我可以找出我的查询存在的任何问题。

CurrentDB之前添加
Debug.Print strSQL
。执行
并查看它是否正确,是否有所有值等。是否缺少DB名称上的方括号?Debug.Print:插入导入([设备],[说明],[用户状态],[功能位置]、[功能位置描述]、[成本中心]、[主要工作中心]、[制造商]、[型号]、[序列号]、[工厂部分])从中选择设备、说明、用户状态、功能位置、说明3、成本中心、主要工作中心、制造商、型号、制造商、工厂部分[Text;FMT=Delimited;HDR=YES;IMEX=2;CharacterSet=1252;DATABASE=G:\GMH EmelőGépek\SAP script]。[SAPőu adatok.csv]尝试在文件名周围添加单引号。(我只是在这里猜测。):
“DATABASE='”&strFolder&'.[
所以结果应该是:'DATABASE=G:\GMH EmelőGépek\SAP script]定位CSV文件并没有问题,如果我打开它,我会遇到另一个错误,说它需要读写访问。我尝试了,但还是出现了一个错误。(不是有效路径)在当前数据库之前添加
Debug.Print strSQL
。执行
并查看它是否正确,是否具有所有值等。是否缺少数据库名称上的方括号?Debug.Print:插入导入([设备],[说明],[用户状态],[功能位置],[功能位置描述],[成本中心],[主要工作中心],[制造商],[型号]、[序列号]、[工厂部分])从[文本;FMT=分隔;HDR=是;IMEX=2;字符集=1252;数据库=G:\GMH EmelőGépek\SAP脚本]中选择设备、说明、功能位置、说明3、成本中心、主要工作中心、制造商、型号、制造商序列号、工厂部分][SAP adatok.csv]尝试在文件名周围添加单引号。(我只是在这里猜测。):
“DATABASE=”&strFolder&“]”。[“
因此结果应该是:'DATABASE=G:\GMH EmelőGépek\SAP script']定位CSV文件并没有问题,如果我打开它,我会遇到另一个错误,说它需要读写访问。我尝试了,但还是出现了一个错误。(不是有效路径)最后,我从SAP导出到excel,而不是简单地导入csv。即使在我成功导入数据后,Access仍然会弄乱序列号,因为它想将其存储为数字而不是文本。无论如何,感谢您的帮助!最后,我从SAP导出到excel,而不是简单地导入csv。即使在我naged导入数据访问总是会弄乱序列号,因为它想将序列号存储为数字,而不是文本。无论如何,感谢您的帮助!