我在access的导航窗体中有一个连续窗体。我已经在Data选项卡下的属性表设置中将窗体设置为允许"data entry“。使用此设置,表单将加载到新的数据输入记录中。问题是当“允许数据输入”设置为“是”时,当我尝试导出到Excel时,它总是导出一个包含空单元格的工作表,它只显示搜索条件的字段,而不显示数据。
我将“允许数据输入”设置为“no”,当我这样做时,“导出到Excel”按钮起作用了,并将数据导出到Excel工作表。
ExportWithFormatting
对象类型:表单
OutputFormat: Excel工作簿xlsx
OUtputFile:空白
自动启动:是
模板文件:
编码: OUtput
质量:打印
我希望“导出到Excel”按钮根据我在表单中的搜索条件将数据导出到Excel。
发布于 2019-04-18 21:53:57
不清楚为什么使用data 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,然后导出该查询。
https://stackoverflow.com/questions/55734532
复制相似问题