东流西上
故在柳溪,水东有柳

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

这样就可以了。

赞(0) 打赏
转载请注明出处:水东柳博客 » ACCESS导出子窗体筛选后数据到EXCEL实例
分享到: 更多 (0)

评论 抢沙发

3 + 4 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏