Office中国论坛/Access中国论坛

标题: access窗体中,如何将多条件筛选结果导入excel [打印本页]

作者: 天涯沦落20131    时间: 2015-4-29 14:47
标题: access窗体中,如何将多条件筛选结果导入excel
各位请勿见笑!初学!遇到一困难寻求指点!子窗体库查询结果!如何通过导出按键将子窗体筛选结果导入excel!     通过宏不能按日期段或筛选条件实现想要的结果!非常感谢!
作者: 天涯沦落20131    时间: 2015-4-29 14:48
继续上传附件!
作者: todaynew    时间: 2015-4-29 15:43
DoCmd.OutputTo
作者: 天涯沦落20131    时间: 2015-4-29 16:32
todaynew 发表于 2015-4-29 15:43
DoCmd.OutputTo

谢谢版主回复!用“DoCmd.OutputTo acOutputForm, "frm_smdycx_child", acFormatXLS, "D:\试模打样查询.xls", True 得到的结果不是子窗体筛选结果,而是整个查询结果!请指点

作者: roych    时间: 2015-4-29 17:00
天涯沦落20131 发表于 2015-4-29 16:32
谢谢版主回复!用“DoCmd.OutputTo acOutputForm, "frm_smdycx_child", acFormatXLS, "D:\试模打样查询.x ...

试试把筛选改为条件查询再导出去。详细可以在论坛里搜索刘小军常用窗体查询。
或者:
把新建一个查询,通过修改SQL语句的方法,把筛选条件加入到查询中,直接导出查询。
又或者试试sendkeys,通过复制粘贴的办法把数据写入Excel表。
作者: todaynew    时间: 2015-4-29 17:57
天涯沦落20131 发表于 2015-4-29 16:32
谢谢版主回复!用“DoCmd.OutputTo acOutputForm, "frm_smdycx_child", acFormatXLS, "D:\试模打样查询.x ...

Dim ssql as string
dim frm as form

set frm=me.阁下的子窗体控件名称.form

ssql= "Select a.* INTO [Excel 8.0;DATABASE=D:\试模打样查询.xls].[Sheet1] FROM ("
ssql=ssql & frm.RecordSource & ") as a "
ssql=ssql & "Where " & frm.filter

currentdb.execute ssql
作者: zpy2    时间: 2015-4-30 06:09
{:soso_e179:}
作者: zpy2    时间: 2015-4-30 06:10
{:soso_e179:}
作者: 天涯沦落20131    时间: 2015-4-30 09:21
roych 发表于 2015-4-29 17:00
试试把筛选改为条件查询再导出去。详细可以在论坛里搜索刘小军常用窗体查询。
或者:
把新建一个查询, ...

roych感谢支持!通学网上学习!可解决简单的查询!也偿试用其他方法解决问题!可从中学到更多!当然与你们这些高手没法比呀!
作者: 天涯沦落20131    时间: 2015-4-30 09:29
todaynew 发表于 2015-4-29 17:57
Dim ssql as string
dim frm as form

谢谢版主!我将你的代码复制至窗体,显示错误(提示“运行时错误 3131”from 子句语法错误)!请帮助看看!
作者: memphis240    时间: 2015-4-30 09:51
本帖最后由 memphis240 于 2015-4-30 09:55 编辑

Dim dbs As DAO.Database, qdf As DAO.QueryDef, dcSql, pathm, fanwei As String
    Set dbs = CurrentDb
    Set qdf = dbs.QueryDefs("dcExcel")
    dcSql = Me.子窗体.Form.RecordSource   '这里假设你的子窗体名字叫“子窗体”
    qdf.Sql = dcSql
    pathm = CurrentProject.Path & "\数据导出.xls"
    fanwei = "你的excel工作表名字"
    DoCmd.TransferSpreadsheet acExport, 8, "dcExcel", pathm, True, fanwei
  你先建立个dcExcel的查询,内容随便。
看走眼了,你的有筛选,把dcSql = Me.子窗体.Form.RecordSource 用字符串函数搞一搞,把筛选条件变进去就好了。

作者: todaynew    时间: 2015-4-30 11:28
天涯沦落20131 发表于 2015-4-30 09:29
谢谢版主!我将你的代码复制至窗体,显示错误(提示“运行时错误 3131”from 子句语法错误)!请帮助看看 ...

当然。
你要把“阁下的子窗体控件名称”进行修改嘛。
作者: 天涯沦落20131    时间: 2015-4-30 14:09
todaynew 发表于 2015-4-30 11:28
当然。
你要把“阁下的子窗体控件名称”进行修改嘛。

我已试过!现改为查询!功能已实现!谢谢!
作者: 天涯沦落20131    时间: 2015-4-30 14:09
memphis240 发表于 2015-4-30 09:51
Dim dbs As DAO.Database, qdf As DAO.QueryDef, dcSql, pathm, fanwei As String
    Set dbs = CurrentD ...

谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3