共计 742 个字符,预计需要花费 2 分钟才能阅读完成。
提醒:本文最后更新于 2019-05-12 20:01,文中所关联的信息可能已发生改变,请知悉!
Private Sub Cmd 导出_Click()
On Error GoTo Err_cmd 导出_Click‘这里将使用 DAO 来改变查询的 SQL 语句,必须先在“工具”→“引用”中选择‘Microsoft DAO XXXX Object Library‘XXXX 版本号
Dim qdf As DAO.QueryDef‘qdf 被定义为一个查询定义对象
Dim strWhere, strSQL As String
strWhere = Me. 查询子窗体.Form.Filter
If strWhere =“”Then‘没有条件
strSQL =“SELECT * FROM [表]”Else‘有条件
strSQL =“SELECT * FROM [表] WHERE”& strWhere
End If
Set qdf = CurrentDb.QueryDefs(“查询”)
qdf.SQL = strSQL
qdf.Close
Set qdf = Nothing
DoCmd.OutputTo acOutputQuery,“查询结果”, acFormatXLS, , True
Exit_cmd 导出_Click:
Exit Sub
Err_cmd 导出_Click:
MsgBox Err.Description
Resume Exit_cmd 导出_Click
End Sub
以上方法在导出到 excel 的时候,数据格式可能会有问题,ACCESS 字段的格式是文本、数字的话基本没问题,时间格式的话 excel 会不识别,该问题有待解决。
经过试验,发现是 office 的版本不一致造成格式错误,ACCESS 版本是 2010 版,导出的 excel 是 2003 版,把导出的版本换成 2010 版就没有上面的问题了。
DoCmd.OutputTo acOutputQuery, “ 查询结果 ”, acFormatXLSX, , True
这样就可以了。
正文完