Access交流中心

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

三列报表,能否把报表序号竖着排??

tiger  发表于:2008-10-30 21:54:37  
复制

三列报表,能否把报表序号竖着排??

 

Top
钱玉炜 发表于:2008-10-31 08:09:21
如果问题比较难描述,最好上传你的附件,这样大家才知道怎么给你解答

tiger 发表于:2008-10-31 08:42:31
附件上传了.点击下载此附件

马山杨梅 发表于:2008-10-31 12:22:11
总不会是只要在报表页面设置的列布局里选为先列后行这么简单吧。

tiger 发表于:2008-10-31 13:03:07
先列后行就是一列了,就不是三列了,就不是平均分三列了.

符鸿敏 发表于:2008-10-31 20:00:43

在先行后列的三列式报表打印模式下,如果是每列的序号是重排的话,要满足楼主的要求还好办,但是,如果是第二排的序号要接着第一排加的,就难办了。



马山杨梅 发表于:2008-11-01 08:28:06
我们不妨换个思路,用非标准的办法来试试。我的想法是在窗体中打印,而不用报表。
首先在数据源表或查询中增加一个“标记列”,在查询或窗体中用“自定义的函数”把记录平分3份,并在每份标记列中打上标记。如下,共6条记录时:
序号---标记列
1.----x
2.----x
3.----y
4.----y
5.----z
6.----z
新建一个窗体,背景颜色设成白色。在上面加入3个子窗体,边框设为透明
,左边一个筛出标记为x的记录显示,中间y,右边z,
再打印这个窗体。
我旨在抛出一个思路来探讨,还得有高手来编出这个函数才成。

tiger 发表于:2008-11-01 09:02:42

我的是思路是重排序号,附件里第一个第二个是我手动排的.高手能否搞成自动的.

点击下载此附件

符鸿敏 发表于:2008-11-01 18:27:02

在报表的主体上加一文本框Text38,设置其数据来源=1,格式-可见性设为 否。然后在报表的模块中写如下代码:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Text19 = IIf(Text38 Mod 3 = 0, Int(Text38 / 3), Int(Text38 / 3) + 1)
End Sub



符鸿敏 发表于:2008-11-01 18:28:19

请看如下附件:

 

点击下载此附件

tiger 发表于:2008-11-02 13:32:58

不是的,你只是把前面的标题改了,一列是123二列也是123,要把整行移的.一列123二列456三列789.



黎红军 发表于:2008-11-02 20:33:57

看了一下,用先列后行可以实现你说的序号衔接的目的。

你再试试控制行数的控制吧,因为一般是一页长满了再转换列。你可以设置行数然后让它换列。



符鸿敏 发表于:2008-11-03 22:56:25

代码是写好了,能够达到楼主的要求了。

但是,现在最大的问题是,打开报表时,不能显示所有序号,必需打开报表的设计页面后,再预览才可以显示全部序号。

现把文件传上来,供高手们共同完善之。

 



符鸿敏 发表于:2008-11-03 22:59:03

代码是写好了,能够达到楼主的要求了。

但是,现在最大的问题是,打开报表时,不能显示所有序号,必需打开报表的设计页面后,再预览才可以显示全部序号。

现把文件传上来,供高手们共同完善之。

点击下载此附件

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