如何创建具有导入Excel文件按钮的访问表单。选择excel文件后,它会自动在数据库中创建一个表,其中collumn标题为excel第一行,data为excel其他行。如果你认为我没有付出任何努力,请给我建议或参考,并自己做不好。
答案 0 :(得分:4)
对于自2003年以来的Access版本,您可以使用File Dialog
允许用户浏览他们想要的文件,在此之前,您可以使用API calls
。如果这对您来说太过分了,您可以让用户输入文件名和路径,但是您必须使用代码检查它是否存在(Dir可能适合)。
最好使用DoCmd对象的TransferSpreadsheet
方法(在任何版本的Access中可用,AFAIK,1997以后)导入电子表格。这可以作为VBA(代码)或宏运行。
答案 1 :(得分:1)
如果我们假设您能够创建表单并连接按钮,那么您有两个问题:
对于1,您应该能够使用标准的Microsoft文件对话框 - 我的VB.OLD和Access非常生锈(没有访问权限2007),但您可以从Access引用相应的COM程序集,之后它变得相当容易。
2更有趣 - 我相信你可以通过访问中的菜单选择来做到这一点,在这种情况下,至少作为第一步,你应该能够自动执行相同的步骤 - 几乎任何你能做的事情您可以通过从VBA调用相关命令来执行菜单操作。更复杂的解决方案是创建VBA逻辑以创建链接表,链接表链接到Excel文件,然后执行创建表查询,然后删除链接。
就努力而言,表单是人们期望在没有太多帮助的情况下能够做到的事情 - 但是从excel导入的自动化并不一定是显而易见的。
答案 2 :(得分:1)
使用Access 2003的示例如下:选择文件:
Dim fDialog As Office.FileDialog
Dim strFile As String
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.InitialFileName = "C:\temp\*.xls"
.Filters.Clear
.Filters.Add "Excel file", "*.xls"
.Filters.Add "All Files", "*.*"
If .Show = True Then
strFile = .SelectedItems(1)
End If
End With
Debug.Print strFile
请注意,您需要添加对Office 12对象库的引用
要导入文件,您可以使用DoCmd对象的TransferSpreadsheet功能。例如,
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "ExcelImport", strFile, True
名为ExcelImport的Access表必须已存在于数据库中。