【问题标题】:Visual Basic : Export Access to Excel Table | VBAVisual Basic : 导出对 Excel 表的访问权限 | VBA
【发布时间】:2015-03-22 04:23:40
【问题描述】:

我的项目是 45% 我需要帮助才能将访问数据导出到 Excel 电子表格, “*”是我遇到问题的代码,我正在使用 Visual Studio 2013

我要将 access 2013 表导出到 excel 2013。

'在访问数据库中导出表格到 EXCEL

    Dim strExcelFile As String
    Dim strWorksheet As String
    Dim strDB As String
    Dim strTable As String
    * Dim objDB As Database

    strExcelFile = "|DataDirectory|\ExportedData.xls"
    strWorksheet = "WorkSheet1"
    strDB = "C:\My Documents\MyDatabase.mdb"
    strTable = "MyTable"

    * objDB = OpenDatabase(strDB)

    If Dir(strExcelFile) <> "" Then Kill(strExcelFile)

    objDB.Execute _
      "SELECT * INTO [Excel 8.0;DATABASE=" & strExcelFile & _
       "].[" & strWorksheet & "] FROM " & "[" & strTable & "]"
    objDB.Close()
    objDB = Nothing

新代码

acExport 出现错误,你认为这个变量是做什么用的。

    Dim objDB As Object
    Dim strExcelFile As String
    Dim strWorksheet As String
    Dim strDB As String
    Dim strTable As String
    strExcelFile = "|DataDirectory|\ExportedData.xls"
    strWorksheet = "sheet1"
    strDB = "|DataDirectory|MyDatabase.mdb"
    strTable = "MyTable"

    objDB.OpenCurrentDatabase(strDB)
    objDB.DoCmd.TransferSpreadsheet(acExport, 8, strTable, strExcelFile, True, strWorksheet)

    objDB.CloseCurrentDatabase()
    objDB = Nothing

>

【问题讨论】:

    标签: excel ms-access vba


    【解决方案1】:
    Set objDB = OpenDatabase(strDB)
    

    在为对象类型变量赋值时应该使用 Set

    【讨论】:

    • 成功了。但我现在使用的是 objDB.OpenCurrentDatabase(strDB)。第二个错误是 objDB.DoCmd.TransferSpreadsheet(acExport, 8, strTable, strExcelFile, True, strWorksheet) 我在 acExport 上有错误,
    猜你喜欢
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    相关资源
    最近更新 更多