Access中的简单导入表单

时间:2009-11-30 08:03:42

标签: ms-access forms

如何创建具有导入Excel文件按钮的访问表单。选择excel文件后,它会自动在数据库中创建一个表,其中collumn标题为excel第一行,data为excel其他行。如果你认为我没有付出任何努力,请给我建议或参考,并自己做不好。

3 个答案:

答案 0 :(得分:4)

对于自2003年以来的Access版本,您可以使用File Dialog允许用户浏览他们想要的文件,在此之前,您可以使用API calls。如果这对您来说太过分了,您可以让用户输入文件名和路径,但是您必须使用代码检查它是否存在(Dir可能适合)。

最好使用DoCmd对象的TransferSpreadsheet方法(在任何版本的Access中可用,AFAIK,1997以后)导入电子表格。这可以作为VBA(代码)或宏运行。

答案 1 :(得分:1)

如果我们假设您能够创建表单并连接按钮,那么您有两个问题:

  1. 文件打开对话框。
  2. 触发导入。
  3. 对于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表必须已存在于数据库中。