我是VBA编码的新手,我正在寻找创建导入UI的ms访问权限,以便用户导入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
答案 0 :(得分:1)
看一下这篇文章Working with external text files in MS Access,它应该对你有帮助。
基本上,您可以为文本文件创建一些模式,然后使用SQL进行查询,就像它是数据库中的表一样。
从那里,您可以使用VBA中的记录集或INSERT
查询轻松浏览数据,以创建或填充其他表。
答案 1 :(得分:0)
尝试
docmd.RunSQL("SELECT * INTO myTable FROM Import_Table WHERE [conditions]")
使用您的条件替换[conditions],将myTable替换为您要创建的表的名称。
您可能想要设置
DoCmd.SetWarnings False
首先,避免用户看到记录提交提示。但是之后它应该回到True。
或者,您可以创建一些Access“Make Table”查询(在功能区的“设计”选项卡上更改查询类型),如果您更愿意使用查询设计器。