有没有办法将过滤后的表单导出到MS Access中的Excel?

问题描述 投票:0回答:1

我在访问的导航表单中有一个连续表单。我已将表单设置为允许在“数据”选项卡下的属性表设置中进行“数据输入”。使用此设置,表单将加载到新的数据条目记录。问题是“允许数据输入”设置为是,当我尝试导出到Excel时,它总是导出一个带有空单元格的工作表,它只显示搜索条件的字段但没有数据。

我设置“允许数据输入为否”,当我这样做时,导出到Excel按钮工作并将数据导出到Excel工作表。

ExportWithFormatting 对象类型:表格 OutputFormat:Excel工作簿xlsx OUtputFile:空白 自动启动:是的 模板文件: 编码:输出 质量:打印

我想导出到Excel按钮,根据我在表单中的搜索条件将数据导出到Excel。

ms-access access-vba
1个回答
0
投票

不清楚为什么使用数据enter = yes,因为这意味着表单只会显示您输入的新记录。所以,这个想法可能是一个坏主意。

但是,假设表格在过滤后显示您想要的内容?

那么这样的事情应该有效。

在表单上放置一个按钮(例如在标题中)。

Private Sub Command47_Click()

  Dim strSQL     As String

  strSQL = Me.RecordSource

  strSQL = strSQL & " WHERE " & Me.Filter

  With CurrentDb.QueryDefs("qryExport")
     .SQL = strSQL
  End With

  ' now export the query  with critera to excel

  Dim strOutFile    As String

  strOutFile = "c:\ExcelData\Test.xlsx"

  DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
        "qryExport", strOutFile, True
end Sub

上面使用的查询被假定为对表的查询,并且可以是任何合法的SQL查询 - 因为我们的代码每次都覆盖查询和sql,然后我们导出该查询。

© www.soinside.com 2019 - 2024. All rights reserved.