Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 有没有办法在MS Access中将筛选后的表单导出到Excel?_Ms Access_Vba - Fatal编程技术网

Ms access 有没有办法在MS Access中将筛选后的表单导出到Excel?

Ms access 有没有办法在MS Access中将筛选后的表单导出到Excel?,ms-access,vba,Ms Access,Vba,我在access中的导航表单中有一个连续表单。我已将表单设置为允许在“数据”选项卡下的“属性页设置”中输入数据。使用此设置,表单将加载到新的数据输入记录。问题在于“允许数据输入”设置为“是”,当我尝试导出到Excel时,它总是导出带有空单元格的工作表,它只显示搜索条件的字段,而不显示数据 我将“允许数据输入”设置为“否”,然后“导出到Excel”按钮开始工作,并将数据导出到Excel工作表 导出格式 对象类型:窗体 输出格式:Excel工作簿xlsx 输出文件:空白 自动启动:是 模板文件: 编

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

我将“允许数据输入”设置为“否”,然后“导出到Excel”按钮开始工作,并将数据导出到Excel工作表

导出格式 对象类型:窗体 输出格式:Excel工作簿xlsx 输出文件:空白 自动启动:是 模板文件: 编码:输出 质量:打印


我希望“导出到Excel”按钮根据我在表格中的搜索条件将数据导出到Excel。

不清楚为什么使用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,然后我们导出该查询。

您可以使用VBA组合表单的RecordSource和Filter属性,将其转换为新的RecordSource,重新查询表单,导出表单,然后还原原始记录源并进行筛选。可能有一种更简单的方法,尤其是如果您愿意放弃格式设置而只导出数据。一个简单的报表将很好地导出。@6月7日它必须能够导出到excel工作表。@sunnaight0,我是vba的新手,我该怎么做?报表可以使用VBA输出方法或右键单击菜单或功能区外部数据/导出向导导出到Excel。一个简单的报表可以像表或查询导出一样美观。使用分组和/或子报表的复杂报表做得不太好。嗨,我之所以选择“是”,是因为当1000多条记录的连续形式打开时,它不会调出任何内容,直到输入搜索条件,然后你调用记录needok,至少你有一个选择的理由,这是一个很好的答案。如果您从未使用此表单或数据输入?如果表单仅用于选择记录?您可以将openform与id=0的where子句一起使用。无论如何,这个问题对你来说似乎没问题。不管怎样,上面应该创建一个可导出到Excel的工作sql语句。