ACCESS导出子窗体筛选后数据到EXCEL实例

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

这样就可以了。

版权声明:
作者:水东柳
链接:https://shuidl.com/1516.html
来源:水东柳博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>