【发布时间】:2016-09-22 08:33:03
【问题描述】:
我在 Microsoft Access 中使用 vba 代码一次导入多个 csv 文件,不幸的是,并非所有 csv 文件都具有相同的格式;有些文件只有 [SKU-1],但有些文件有第二个字段 [SKU-2]。
对于在 csv 文件中同时具有 sku-1 和 sku-2 作为字段的文件,我的代码如下所示,但是,如果文件只有 [SKU-1],则导入失败并显示“参数太少. 预期 1。
如果字段本身不存在以供从中提取,是否有任何方法可以使用某种 case 语句来删除 SKU-2 的 NULL 值?
CurrentDb.Execute "INSERT INTO MumbyCSV (OrderID, Email, FirstName, LastName, Company, Phone, SecondaryPhone," & _
"Fax, ApproveStatus, OrderDate, [SKU-1], [SKU-2], Total, ShiptoName, ShipToAddress1, ShipToAddress2," & _
"ShipToCity, ShipToState, ShipToZip, ShipToCountry, ShippingMethod, Comments)" & _
"SELECT OrderID, Email, FirstName, LastName, Company, Phone, SecondaryPhone," & _
"Fax, ApproveStatus, OrderDate, [SKU-1], [SKU-2], Total, ShiptoName, ShipToAddress1, ShipToAddress2," & _
"ShipToCity, ShipToState, ShipToZip, ShipToCountry, ShippingMethod, Comments " & _
"FROM [Text;FMT=Delimited;HDR=YES;DATABASE=C:\ImportPath].[test.csv]"
【问题讨论】:
-
在插入之前对 CSV 文件运行一个选择,然后调整您的 SQL 语句以匹配实际文件。
标签: sql vba csv ms-access import