将.csv文件拉入Access数据库

时间:2011-04-15 03:25:02

标签: ms-access

我有一个案例需要将.csv文件拉入Access数据库。我需要将数据保持在当前结构中。可能有多个.csv文件,所以我需要动态制作表格。

我正在尝试下面的代码,但我收到的错误消息(在执行行上)是: '查询输入必须至少包含一个查询或表'

快速说明一两句话: 连接打开了,因为它是.csv文件,它被提供给该文件的路径而不是文件本身(正如您将看到的)。 .csv确实有行,我可以执行'Select * From tocopy.csv'并按预期工作。

我正在尝试的代码:

        Dim ConnectionString As String
        ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test\;Extended Properties=""Text;HDR=Yes"""

        Dim myConnection As New System.Data.OleDb.OleDbConnection(ConnectionString)
        myConnection.Open()

        Dim cmd As New System.Data.OleDb.OleDbCommand
        Dim sSQL As String = ""

        sSQL = "SELECT * INTO [MS Access;Database=C:\test\intake.mdb].[DynamicTable] FROM [tocopy.csv]"
        cmd.CommandText = sSQL
        cmd.Connection = myConnection

        cmd.ExecuteNonQuery()

        myConnection.Close()
        myConnection = Nothing

1 个答案:

答案 0 :(得分:1)

您是否真的需要将具有完全不同列结构的多个CSV文件导入数据库?那么您将以何种方式处理导入的数据?

如果数据的结构完全无关紧要,因为您没有对其运行查询,请尝试将CS​​V文件中的行导入到只有一个MEMO类型字段的表中,然后用一些字段处理这些记录VBA代码。