搭建论坛《搭建之星》论坛经验交流 → [求助]困扰我一个星期仍未解决的问题


  共有3245人关注过本帖树形打印

主题:[求助]困扰我一个星期仍未解决的问题

帅哥哟,离线,有人找我吗?
fanzhe
  1楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:设计师 帖子:581 积分:2194 威望:0 精华:3 注册:2005-2-2 22:49:32
[求助]困扰我一个星期仍未解决的问题  发帖心情 Post By:2008-8-17 23:12:09

我想打印出如下的报表:(例子以产品"小超女"为例)


库存配件报表

产品名称    配件名称    库存总数
小超女     车轮      396
小超女     脚踏      201
小超女     手把      -7
小超女     后视镜     -28
小超女     电池      -28
小超女     链条      -7

我试过各种不同的方法,也更换不同的思路,一个星期过去了没一点头绪。现在把数据库及我的测试项目附上(测试项目中我只能进行到统计每一配件库存总数这一步,再也无法进行下去了),最终打印的效果如上图所示。

希望对数据库熟悉的前辈们指点一下。谢谢!

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  2楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2008-8-18 8:53:59

根据你的数据表设置,可以参考下面的例子,改变一下思路:将产品名称作为下面报表的组头区,将配件作为明细区内容。

下面我们以“学生库”为例,完成一张主要/明细结构的报表制作。项目要求,打印出“学生库”中所有同学的各科学习成绩。

窗口1界面设计,如图1所示

图1

主要——明细型结构数据库的属性设置,读者阅读至此应很熟悉,这里不再缀述。下面重点讲述,如何建立主要——明细型结构报表。

创建“窗口2”,作为报表的输入窗口。

下面按照报表构件的拖放顺序,分步进行讲解。

第一步,拖放“报表面板”构件在窗口2中。报表面板将自动充满整个窗口。如图2所示。

图2

属性设置:

报表面板的“数据集”属性设为“ADO数据表1”。

注意:这里的“数据集”属性可设也可不设。如果设置“数据集”属性,表示打印数据集的所有记录。如果不设置“数据集”属性,也就是“数据集”为“空”,表示打印当前记录!

报表面板的“页面”——“纸类型”,选择“A4”;“方向”选择“肖像”。

注意:“纸类型”建议读者不要选择“自定义”!

第二步,拖放三个“报表区域”构件在报表面板中。如图3所示

属性设置:

报表区域1的“区域类型”属性为“页眉区”。用于设置报表的页眉,即在报表每一页头部都要输出的部分;

报表区域2的“区域类型”属性为“内容区”。用于设置报表的主表内容部分,它显示的是学生“基本情况”表的内容;

报表区域3的“区域类型”属性为“组头区”。用于设置报表的内容部分,不过它与“内容区”的区别是,用于输出明细表的表头内容。

图3

第三步,拖放“报表明细区1”构件在报表面板中。

属性设置:报表明细区1的“数据集”属性为“ADO数据表2”;“组头区”属性为“报表区域3”。这样“明细表”与“主表”就相关联起来了。如图4所示

图4

第四步,拖放“报表附属区1”在报表面板中。如图5所示

属性设置:报表附属区1的“主管区域”属性设为“报表区域1”。报表附属区1在这里用于主表表头字段的摆放。

技巧:为了更好的区分报表的各个区域,可以将不同的报表区域设置成不同的颜色。

图5

第五步,设置报表标题。拖放“报表标签1”到页眉区中。

属性设置:报表标签1的“标题”属性为“学生成绩统计表”;“布局到区域”属性设为“真”;“横向布局”属性为“中心”。这样,报表标题自然就摆放在页眉的中心点上了。

第六步,设置报表标题的副栏。拖放“报表网格1”到页眉区的右侧。

属性设置:设置“报表网格1”的宽度高度分别为“200,50”;垂直线属性为“100”;水平线属性为“25”。

第七步,设置报表标题的副栏中的内容。拖放两个“报表系统信息”到报表网格1中。

属性设置:

报表系统信息1的“数据”属性为“页数。用于显示当前打印的页数,由系统自动检测得出;

报表系统信息2的“数据”属性为“日期”。用于显示当前打印报表日期,由系统自动检测得出

在页眉区中构件布局,如图6所示

图6

第八步,设置表头字段。在报表附属区中,拖放“报表标签”构件,其数量一般与“基本情况”表中字段数一致。

属性设置;设置众报表标签的标题与“基本情况”表各字段相一致。分别是:学号、姓名、性别、出生日期、三好学生等。如图7所示

图7

第九步,设置主表打印内容。在内容区中,拖放“报表字段文本”构件,其数量应与报表附属区中报表标签构件相一致。如图8所示。

属性设置:

报表字段文本1的“数据集”属性为“ADO数据表1”;“选择字段”属性为“学号”。

报表字段文本2的“数据集”属性为“ADO数据表1”;“选择字段”属性为“姓名”。

其它报表字段文本设置类型,不再赘述。

图8

第十步,设置明细表的表头字段。在组头区中,拖放“报表标签”构件,其数量应与“学习情况”表中字段数一致。如图9所示

属性设置:设置它们的标题与“学习情况”表各字段一一对应,分别是数学、语文、体育、总分等。

图9

第十一步,设置明细表的打印内容。拖放“报表字段文本”构件,其数量应与组头区中报表标签构件相一致。

注意:与“总分”字段对应的是“报表计算”构件,而不是“报表字段文本”构件。在图9中,细心的读者会发现,在前面的“学习情况”表介绍中,并没有“总分”字段,在这里增加“总分”字段,是借助报表自身的统计功能。

属性设置:

报表字段文本10的“数据集”属性为“ADO数据表2”;“选择字段”属性为“数学”。

报表字段文本11的“数据集”属性为“ADO数据表2”;“选择字段”属性为“语文”。

其它报表字段文本设置类型,不再赘述。

报表计算1的“控制区”属性为“报表明细区1”;设置“表达式”属性如图10所示。

图10

截止目前,窗口2构件布局如图11所示。

图11

现在,从编辑“窗口2”转到“窗口1”。设置“打印”按钮的鼠标单击事件。

当鼠标单击“打印”按钮时,执行报表面板的方法“预览”。

然后,运行项目。鼠标单击“打印”按钮,结果如图12所示

图12

纵观整张报表制作,基本上没有进行事件设置,体现了搭建之星最大特点——搭建。



HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
水手
  3楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 班长
等级:版主 帖子:998 积分:2851 威望:4 精华:3 注册:2002-4-17 8:42:46
  发帖心情 Post By:2008-8-18 8:55:34

例子就是使用手册中的“报表设计”、“手工制作报表”,请参考。


HeaderSoft与您共同进步!

      衡德软件  http://www.headersoft.com

qhd.cw@163.com

QQ:106260929

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2008-8-18 9:19:59

打印报表,基本上就是打印数据表;任何的复杂统计,就可以先统计在一个临时表中,然后对其进行打印。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
fanzhe
  5楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:设计师 帖子:581 积分:2194 威望:0 精华:3 注册:2005-2-2 22:49:32
  发帖心情 Post By:2008-8-18 9:50:50


问题是如何创建临时表呢,这思路跟我想的差不多,但不知道如何组织一个临时表.

另外图片看不到

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
admin
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建官方
等级:管理员 帖子:5504 积分:20561 威望:9 精华:5 注册:2002-4-5 17:08:42
  发帖心情 Post By:2008-8-18 10:54:59

就是建一个普通的“表”,只是俗称“临时表”。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建爱好者
等级:爱好者 帖子:238 积分:1173 威望:1 精华:0 注册:2006-12-28 10:22:07
  发帖心情 Post By:2008-8-18 13:30:32

楼主啊,你怎么就不明白呢?记的之前就给你做过一个例子,你可以采用SQL语句、通过多表关联得到查询结果(这个查询结果看起来象个表,实际上是不存在的,就称之为临时表吧),然后把你要设计的报表的“数据集”属性指向这个查询就行了。

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
fanzhe
  8楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:设计师 帖子:581 积分:2194 威望:0 精华:3 注册:2005-2-2 22:49:32
  发帖心情 Post By:2008-8-18 14:12:01


发贴心情

就是和前面的例子相关的,但因为我对SQL不熟,一时无法理解例子的思路,同时例子有一个统计总数的功能没有实现,我又不会改,所以多次试过用ADO构件都不成功.

经过大家的提醒,现在好象有点头绪了,想想其实我也做得差不多了,就差做个临时表把数据放进去,然后打印就可以了.再研究研究.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

[求助]困扰我一个星期仍未解决的问题








签名