2013-08-23 273 views
0

我是新的VBA编码,我正在研究创建一个导入用户界面在MS访问用户导入CSV文件并插入到临时表中,从临时表中是SQL查询将数据拆分到不同的表中,最后删除临时表。CSV文件导入到MS Access 2010表

根据代码,我创建了导入按钮并对文件选取器进行了编码。然而,我迷失于如何编写代码来导入到一个新的临时表中,并跟随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 

回答

0

尝试

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

与标准,并为myTable与您要创建的表的名称替换[条件。

你可能会想设置

DoCmd.SetWarnings False 

第一,避免用户看到创纪录的提交提示。但之后应该设置为True。

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

1

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

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

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

相关问题