Access交流中心

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

[5分]如何设置只打印符合条件的部分内容?

白桦林  发表于:2011-09-25 23:16:45  
复制

我用交叉表查询得到的报表如下:

年度  1月  2月  3月  4月  5月  6月  7月  8月  9月  10月  11月  12月  年度合计 
 2008            55 55  56  56  56  55   55  388
 2009  55  55  55  55  55 56  56  56  56  56  56   56  667
 2010  55 56  56  56  55  56  56  56  56  56  56  56  670 
我现在只想打印2010年的数据(我是打印在已经印制好的表格上,以前的数据已经打印过)!

我在数据的来源的表中有一个[日期]字段,可以作为条件

不知道该怎么设置~!

那位朋友有什么好办法?

谢谢

 

 

 

Top
dbaseIIIer 发表于:2011-09-26 05:58:08

在交叉表内, 设多个字段 设为"条件"

表达式: Year( [日期])

条件: 2010



白桦林 发表于:2011-09-26 12:32:25

按照一楼的方法查询出的数据只是2010年的

打印时会把2010年的数据打印在已打印的2008年的数据的位置

也就是说会覆盖了2008年的数据!

我的意思是要让其自动识别该报表2008、2009年是有数据的

打印时只打印2010年的!!

 



煮江品茶 发表于:2011-09-26 13:18:56
DoCmd.OpenReport "报表名称", , , "年度=2010"

白桦林 发表于:2011-09-26 23:12:50

三楼的方法还是找到了2010年的成绩

也是打印在报表的首位

同样覆盖以前的记录~!



dbaseIIIer 发表于:2011-09-26 23:52:48

哦, 终于看懂你问题了!

 

2008

2009

2010

 

都是表格上印刷好的标题! 我还以为你全部都是打印内容!

 

那你就不应该改数据了, 是改报表格式

 

报表的主体中, 可以缩小设为 否,

 

在打印中:

 

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

if formatcount=1 then

    if me!年份 < "2010" then)

         foreColor = rgb(255,255,255)     '白色

    else

         foreColor = rgb( 0, 0, 0)        '黑色

    endif

    for each c in me.section(0).controls

         c.foreColor = foreColor

    next

endif

 

End Sub

 

预览里面都不会看到数据!



白桦林 发表于:2011-10-01 20:35:45

五楼给的方法解决了显示条件显示问题

但当我给子窗体中加了线条之后

运行时代码中的"c.foreColor = foreColor"出错

变为**~!

哪位朋友知道是怎么回事?

如何解决?



dbaseIIIer 发表于:2011-10-03 23:54:17

若你加的线路的名称是 Line 开头的

 

Private Sub 主体_Format(Cancel As Integer, FormatCount As Integer)

if formatcount=1 then

    if me!年份 < "2010" then)

         foreColor = rgb(255,255,255)     '白色

    else

         foreColor = rgb( 0, 0, 0)        '黑色

    endif

    for each c in me.section(0).controls

         if c.Name like "Line*" Then

             c.borderColor = foreColor

         else

             c.foreColor = foreColor

         end if

    next

endif

 

End Sub



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