设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1728|回复: 1
打印 上一主题 下一主题

[Access本身] 筛选后导出任意字段内容到EXCEL中,该如何做到

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-30 15:31:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
子窗体筛选后导出任意字段内容到EXCEL中,而不是整条记录导出,该如何写代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-7-31 07:17:00 | 只看该作者
Function 导出数据(tbname As String, frmname As String, subfrmname As String, Qdefname As String, ParamArray A() As Variant)
'功能:导出子窗体数据到Excel中
'参数:tbname--子窗体数据表
'      frmname--主窗体名称
'      subfrmnane--子窗体名称
'      Qdefname--查询名称
'      A()--导出的字段数组
Dim Qdef As QueryDef
Dim strWhere, strSQL As String
Dim i As Long
strWhere = Forms(frmname).Controls(subfrmname).Form.Filter
If strWhere = "" Then strWhere = "True"
strSQL = ""
For i = 0 To UBound(A, 1)
    strSQL = strSQL & A(i) & ","
Next
If strSQL = "" Then
    strSQL = "*"
Else
    strSQL = Left(strSQL, Len(strSQL) - 1)
End If
strSQL = "SELECT " & strSQL & " FROM " & tbname & " WHERE " & strWhere
If DCount("*", "MSysObjects", "Type=5 and Name='" & Qdefname & "'") = 0 Then
    Set Qdef = CurrentDb.CreateQueryDef(Qdefname)
    Qdef.SQL = strSQL
End If
Set Qdef = CurrentDb.QueryDefs(Qdefname)
Qdef.SQL = strSQL
Qdef.Close
Set Qdef = Nothing
DoCmd.OutputTo acOutputQuery, Qdefname, acFormatXLS, , True
End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-17 12:22 , Processed in 0.077877 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表