首页 文章

将CSV文件导入MS Access 2010表

提问于
浏览
0

我是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

2 回答

  • 0

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

    基本上,您可以为文本文件创建一些模式,然后使用SQL查询它,就像它是数据库中的表一样 .

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

  • 1

    尝试

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

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

    你可能想要设置

    DoCmd.SetWarnings False
    

    首先,避免用户看到记录提交提示 . 但事后应该回到True .

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

相关问题