VBA代码 - 将文本文件导入Access表 - 使用Condition

时间:2015-09-04 05:53:05

标签: sql vba ms-access access-vba

我需要将文本文件导入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

1 个答案:

答案 0 :(得分:2)

我使用Cache方法as Fionnuala suggested,类似于您在问题的早期版本中提供的方法。

使用 Teste.txt 源文件以及 Schema.ini 并在下面进行查询,这是 NewTable 的结果。所有五个字段都是文本数据类型:

enter image description here

这是 C:\ Temp \ Schema.ini

Schema.ini

这是创建 NewTable 的查询:

[Teste.txt]
ColNameHeader=False
Format=Delimited(;)
Col1="field1" Text
Col2="field2" Text
Col3="field3" Text
Col4="field4" Text
Col5="field5" Text