Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

怎样把通过自动筛选得到的数据打印到报表?

dhwc  发表于:2014-06-12 15:16:11  
复制

 各位老师 问个菜鸟问题 通过组合框选择下拉列表的某个字段自动筛选得到的结果怎么打印到报表啊?打印按钮写代码如下:

Dim strWhere As String
   strWhere = Me.PrintTZ_subform.Form.Filter
   DoCmd.OpenReport "台账", acViewNormal, , strWhere

这样点击打印会另外要求输入参数值

不想点击print按钮重新查询并打印,该怎么做?文件见附件


恳请指教,谢谢


点击下载此附件



 

Top
dhwc 发表于:2014-06-12 15:31:17

补充下,是看了这个帖子,但是无效

http://www.accessoft.com/article-show.asp?id=5325

不知道哪错了



cspa 发表于:2014-06-12 19:05:40

1、你“通过组合框选择下拉列表的某个字段自动筛选得到的结果”的筛选字段是“交办时间”,并且你还把它取了别名为“年度”;

2、你的3个报表中引用的唯一日期字段均为“来件时间”,根本就没有“交办时间”,更别说“年度”了,你以此(“年度”)为报表的筛选条件能得出你希望的数据才怪!

3、因此access找不到“年度”,所以让你输入!但就现在的情况,你输入了年度也得不到你想要的结果。



dhwc 发表于:2014-06-12 19:36:00

因为确实没有年度这个字段,所以我用year([交班时间])来得到,见下图


这样用组合框才可以查询出年度的筛选结果,事实上,窗体运行后有筛选结果了


问题是,这个筛选出的结果怎么应用到报表??请老师指点



cspa 发表于:2014-06-12 19:47:35
你需要在报表中增加一个“交办时间”字段,并把它也取别名为“年度”(像查询中一样设置)。这样筛选条件才能起作用,你先试试,遇到问题再提。

dhwc 发表于:2014-06-12 20:07:42
那我不想这个字段显示出来可以吗?

cspa 发表于:2014-06-12 21:45:28
共参考:见附件

dhwc 发表于:2014-06-13 10:05:18

感谢楼上的高手!

最关键其实就一句代码:

DoCmd.OpenReport "信访年度台账", acViewNormal, , "year(交办时间)='" & Me.年度 & "'"


感激不尽!


另外,如果我不想让用户可以编辑筛选出的结果,属性窗口该怎么设置?允许编辑设为否的话组合框就无法选择筛选字段了?




dhwc 发表于:2014-06-13 10:08:47

自己解决了,锁定记录即可


再次感谢cspa老师!!!



吴晓东 发表于:2014-06-17 21:51:22
这句代码可以用一个笨办法得到,先做一个宏,再将其转成代码。在宏内可以设置打印的条件。

总记录:9篇  页次:1/1 9 1 :