Office中国论坛/Access中国论坛

标题: 请教怎么让文本框或组合框里面的数据全部都打印出来? [打印本页]

作者: today416    时间: 2008-12-16 16:58
标题: 请教怎么让文本框或组合框里面的数据全部都打印出来?
我做了个票据打印程序,组合框里的数据超过了组合框的宽度,系统默认分几行显示,但是打印出来的时候多出的几行打印不出来,因为超过了组合框的高度,请问如何解决?

备注:1。因为程序的特殊性,组合框的高度和宽度是固定的,不能调整,
2.因为程序把所有系统菜单都屏蔽,所以不能调用字体大小工具。
作者: Henry D. Sy    时间: 2008-12-16 17:28
可以打印组合框的行来源
作者: today416    时间: 2008-12-17 10:38
斑竹我没听懂阿,能详细点不
作者: today416    时间: 2008-12-17 10:54
刚我想了个办法,就是在单击打印记录的按钮事件中,添加如下代码,目的是在打印前调整组合框的宽度,然后打印,然后在恢复组合框的宽度到原来的宽度,本来以为可以,但是结果反而是打印不出数据,也就是说以前仅仅是多出来的字打印不出来,现在是打印不出任何字。为什么?斑竹以及各位高手帮忙

If Len(Me!组合框) > 15 Then  ,判断输入的数据是否超过组合框宽度(我数了下,整个组合                框宽度大概容纳15个汉字
   Me!组合框.FontSize = 9  ,将字体从默认的10号调整到9号大小,以便文本框容纳更多数据
   End If
   Me!组合框.Width = 10    ,新调整的组合框宽度
   
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70    ,打印特定记录
    DoCmd.PrintOut acSelection
   
   Me!组合框.Width = 5.603   ,原始组合框宽度
作者: Henry D. Sy    时间: 2008-12-17 11:00
你是打印报表啊,还以为是打印,组合框的值列表。
你将代码放在什么事件中
最后一句应该去掉,否则组合框的宽度不是又回去了。
作者: today416    时间: 2008-12-17 15:21
斑竹我不是打印报表,我打印的就是组合框的值列表,就是一个窗体中的组合框,组合框中某些值超过了组合框的宽度,我想达到的目的就是:窗体中的组合框在显示的时候必须是固定宽度,也就是不变的,但是当打印窗体的时候,组合框中的所有数据都必须打印出来。我上面的代码最后一句就是把组合框调整回原来的宽度阿,斑竹你没有仔细看我的代码思路,55555
作者: Henry D. Sy    时间: 2008-12-17 15:25
不是没有看,而是看不懂你要干什么?(早说你要打印窗体嘛)
为什么要直接打印窗体,这种方式不建议。
建议解决办法:
将窗体另存为报表,然后在设计视图中设计您的报表,使其完整显示您的数据,
然后,打印该报表。
作者: today416    时间: 2008-12-17 17:15
郁闷阿,俺对报表不是很熟阿
作者: Henry D. Sy    时间: 2008-12-17 19:30
原来你对报表不熟,就打印窗体,
如果对窗体也不熟的话,是不是打印表呀。
作者: tzh1600    时间: 2008-12-19 16:03
不管是打印窗体还是打印报表也好
最好的办法是打印方案和显示方案不是同一个窗体或者报表
很简单的,把窗体复制粘贴重命名一个,在新窗体中稍微修改一下,达到满意的打印效果,在老窗体用一个命令按钮调用新窗体打印不就可以了




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