我需要将文本文件导入到 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 Access :
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
最佳答案
我使用了 Schema.ini
方法,as Fionnuala suggested ,类似于您在问题的早期版本之一中所拥有的内容。
使用您的 Teste.txt 源文件和下面的 Schema.ini 和查询,这就是 NewTable 的结果。所有五个字段都是文本数据类型:
这是C:\Temp\Schema.ini:
[Teste.txt]
ColNameHeader=False
Format=Delimited(;)
Col1="field1" Text
Col2="field2" Text
Col3="field3" Text
Col4="field4" Text
Col5="field5" Text
这是创建 NewTable 的查询:
SELECT t.field1, t.field2, t.field3, t.field4, t.field5
INTO NewTable
FROM [Text;HDR=No;FMT=Delimited;Database=C:\Temp].[Teste.txt] AS t
WHERE (((t.field4)<>'0') AND ((t.field5)<>'0'));
关于sql - VBA 代码 - 将文本文件导入 Access 表 - 有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32390960/