Office中国论坛/Access中国论坛

标题: DoCmd.TransferSpreadsheet 的应用问题 [打印本页]

作者: l3396949    时间: 2012-12-13 15:23
标题: DoCmd.TransferSpreadsheet 的应用问题
DoCmd.TransferSpreadsheet acExport, 10, x1, "d:\yyyy.xls", True, " "
如上,上述代码将x1查询直接导出为电子表格。
现在我想在x1查询里面增加一些条件,根据条件筛选出符合条件的数据然后再导出成电子表格。
如何操作啊~
各位大侠们{:soso_e102:}

作者: tmtony    时间: 2012-12-13 15:29
可以用代码 修改xl的查询 SQL 来达到赋条件
如 dim qdf as querydef
    set qdf=currentdb.querydefs("你的查询名")
    qdf.sql= "select * from xl where 条件"
    qdf.close

再执行你的导出
作者: l3396949    时间: 2012-12-13 15:40
tmtony 发表于 2012-12-13 15:29
可以用代码 修改xl的查询 SQL 来达到赋条件
如 dim qdf as querydef
    set qdf=currentdb.querydefs("你 ...

非常感谢  你搞基不?我爱上你了
作者: l3396949    时间: 2012-12-13 16:06
本帖最后由 l3396949 于 2012-12-13 16:25 编辑

dim qdf as querydef
    set qdf=currentdb.querydefs("查询1")
    qdf.sql= "select * from 查询1 where 查询1.部门 = 1"
    qdf.close
DoCmd.TransferSpreadsheet acExport, 10, "查询1", "d:\yyyy.xls", True, " "
是这样吗?怎么会报错呢~!
说查询1 循环引用
作者: todaynew    时间: 2012-12-14 14:30
本帖最后由 todaynew 于 2012-12-14 17:11 编辑
l3396949 发表于 2012-12-13 16:06
dim qdf as querydef
    set qdf=currentdb.querydefs("查询1")
    qdf.sql= "select * from 查询1 whe ...

鬼打架。
set qdf=currentdb.querydefs("查询1")
qdf.sql= "select * from 查询1 where 查询1.部门 = 1"当然是循环引用。from子句要直接用数据表,除非创建一个查询2.

假设查询1为:select * from 表1 where year(日期)=year(date())
则重新修改查询需要这样写:
set qdf=currentdb.querydefs("查询1")
qdf.sql= "select * from 表1 where year(日期)=year(date()) and 部门=1"




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