【问题标题】:Importing CSV file into MS Access 2010 Tables将 CSV 文件导入 MS Access 2010 表
【发布时间】:2013-08-23 03:07:00
【问题描述】:

我是 VBA 编码的新手,我正在考虑在 ms 访问中创建一个导入 UI,以便用户导入 CSV 文件并插入到一个新的临时表中,从临时表中会有 SQL 查询将数据拆分为不同的表,最后删除临时表。

根据代码,我创建了导入按钮并对文件选择器进行了编码。但是,我不知道如何对其进行编码以导入新的临时表并遵循 SQL 查询。

感谢所有帮助

Sub ImportButton_Click()

Dim strfilename As String

With Application.FileDialog(msoFileDialogFilePicker)

    .Title = "Select the CSV file to import"
    .AllowMultiSelect = False
    .Filters.Clear
    .Filters.Add "CSV Files", "*.csv", 1
    .Filters.Add "All Files", "*.*", 2
    If .Show = -1 Then
        strfilename = .SelectedItems(1)
        DoCmd.TransferText TransferType:=acImportDelim, _
            TableName:="Import_Table", FileName:=strfilename
        Else
        Exit Sub
    End If
End With

End Sub

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    看看这篇文章Working with external text files in MS Access,应该会对你有所帮助。

    基本上,您可以为文本文件创建一些架构,然后使用 SQL 对其进行查询,就好像它是数据库中的表一样。

    从那里您可以使用 VBA 中的记录集或 INSERT 查询轻松浏览数据,以创建或填充您的其他表。

    【讨论】:

      【解决方案2】:

      试试

      docmd.RunSQL("SELECT * INTO myTable FROM Import_Table WHERE [conditions]")
      

      将 [conditions] 替换为您的条件,将 myTable 替换为您要创建的表的名称。

      你可能想要设置

      DoCmd.SetWarnings False
      

      首先,避免用户看到记录提交提示。但之后应该将其设置回 True。

      或者,如果您更愿意使用查询设计器,您可以只创建一些 Access“制作表”查询(在功能区的“设计”选项卡上更改查询类型)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        • 2017-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多