【发布时间】:2015-09-04 05:53:05
【问题描述】:
我需要将文本文件导入 Access 表,但使用 TXT 文件中的导入条件。
下面是我的 VBA 代码。它仅在您不使用 WHERE 子句时才有效,因为它要求输入参数。我认为问题在于缺少字段格式规范。
您建议进行哪些调整?任何建议将不胜感激。
文本文件 - Teste.txt
1;24;433;43;5
2;436;424;43;24
3;5454;656;656;555
4;545;545;0;0
5;65465;756;0;0
我的代码 VBA 访问:
Sub MyTableImport()
Dim sqlStr As String
sqlStr = "SELECT * INTO NewTable "
sqlStr = sqlStr & " FROM [Text;HDR=Yes;FMT=Delimited;Database=C:\Temp].Teste.txt "
sqlStr = sqlStr & " WHERE field4 <> '0' AND field5 <> '0';"
DoCmd.SetWarnings False
DoCmd.RunSQL sqlStr
DoCmd.SetWarnings True
End Sub
【问题讨论】:
-
您可以简单地省略 WHERE 子句,并在导入后执行
DELETE * FROM NewTable WHERE field4 = '0' OR field5 = '0'。 -
请不要使用 setwarnings 它是不安全的和系统范围的。改为对数据库实例使用 Execute。
-
如果你有非标准分隔符stackoverflow.com/questions/12137085/…,你可能需要使用schema.ini文件
-
@Fionnuala - 根据。我实施了一个新版本。关注:
codeDim sqlStr As String Dim db As DAO.Database db.Execute sqlStr, dbFailOnError db.Close`