Access交流中心

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

[5分]怎么实现打印报表的可选择

刘哲  发表于:2014-01-15 21:24:22  
复制

我设计一个查询窗体,怎么实现查询之后,分项打印按钮起作用。既想打印哪个字段 都可以。例如 只打印ID、材料名称、金额。或者 ID、材料名称、规格型号、计量单位、数量、单价、金额。总之想打印什么都可以。谢谢了!!点击下载此附件

 

Top
刘哲 发表于:2014-01-16 19:11:23
怎么实现这个功能。怎么没有人回复啊

chinasa 发表于:2014-01-17 12:40:58

也不知道是否可行,换个思路,先根据选择内容生成固定名字的查询,然后报表中引用这个查询。

�������ش˸���

 



zhaoyoulong 发表于:2014-01-17 16:01:07

这个问题稍有点麻烦,给一个思路探讨一下:

一、解决显示字段的问题:可以根据 LIST框内元素实现

在报表的加载事件中:

For i = 0 To forms("打印窗体").List1.ListCount - 1

   me(forms("打印窗体").List1.ItemData(i)).Visible=false

   me(forms("打印窗体").List1.ItemData(i) & "_Label").Visible=false
Next
实现控件和标签隐藏

但问题是报表所显示的数据排列可能较乱

这个就要你去根据各个控件的位置的小去写一个调整函数了

解决了控件的位置就可以实现了



刘哲 发表于:2014-01-21 22:02:36
我已经做完了,供大家参考。我还有一个问题,怎么实现比如打印6个字段让纸张纵向,大于6个字段让纸张横向呢。谢谢!!点击下载此附件

刘哲 发表于:2014-01-22 21:01:56
没人回复啊!!!!

zhaoyoulong 发表于:2014-01-23 09:34:50

if  forms("打印窗体").List2.ListCount>6 then

call 设置页面函数 横向

elseif forms("打印窗体").List2.ListCount<=6 and forms("打印窗体").List2.ListCount >0  then

call 设置页面函数 纵向

end if

设置函数 请参考:http://www.accessoft.com/article-show.asp?id=4471




zhaoyoulong 发表于:2014-01-24 09:17:10
    Dim pr As Printer
    Set pr = Application.Printer
    If Me.List2.ListCount > 6 Then
        pr.Orientation = acPRORPortrait'横向
    Else
        pr.Orientation = acPRORLandscape'纵向
    End If
    DoCmd.OpenReport MyRepName, acViewPreview, StrWhere


刘哲 发表于:2014-01-25 22:10:49
楼上的老师,你的方法我试了,为什么假如我第一次是横向的,如果第二次想纵向的就不行啊,还是横向的。点击下载此附件大家帮我看看

zhaoyoulong 发表于:2014-01-26 10:12:19
DoCmd.OpenReport MyRepName, acViewPreview, , StrWhere
    
    Set pr = Reports("材料消耗明细表").Printer
    If Me.List2.ListCount > 6 Then
        pr.Orientation = 2
    ElseIf Forms("打印窗体").List2.ListCount <= 6 And Forms("打印窗体").List2.ListCount > 0 Then
        pr.Orientation = 1
    End If



刘哲 发表于:2014-01-26 13:10:55
非常感谢!!!

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