| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
乐学 会学 多求 善思千里之行 始于足下
共有 523 人关注过本帖
标题:请教老师们,报表的问题
只看楼主 加入收藏
fhnezha
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-5-25
结帖率:33.33%
  已结贴   问题点数:10  回复次数:12   
请教老师们,报表的问题

这个表有8行,每1行对应一个表(数据环境中),但是这8行中,如果A没有第7个表的数据,如何让第8个表的数据移动到第7行的位置?怎么样实现?拜托各位大佬了
附件: 您没有浏览附件的权限,请 登录注册
2019-01-04 17:05
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:178
帖 子:6445
专家分:28436
注 册:2014-5-20
  得分:2 
设置打印条件
2019-01-04 19:00
gs2536785678
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:238
专家分:654
注 册:2017-7-16
  得分:2 
估计没有办法。
2019-01-05 07:03
schtg
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:576
专家分:802
注 册:2012-2-29
  得分:2 
回复 楼主 fhnezha
你的意思是最多8行,来自8个数据表?
若是这样的话,先由8个表生成一个新表,再从新表写入,可能不是最佳方案,应该可以解决的。
方便的话,发一点数据等,可以测试一下的。
2019-01-05 07:52
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:176
帖 子:7507
专家分:18004
注 册:2012-2-5
  得分:2 
用EXCEL试试

坚守VFP最后的阵地
2019-01-05 09:28
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:92
帖 子:2608
专家分:6466
注 册:2015-3-25
  得分:2 
4楼说的,动态生成报表数据,就可以了。
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表1 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表2 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表3 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表4 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表5 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表6 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表7 union all ;
select 字段1,字段2,字段3,字段4,字段5,字段6 from 表8  into cursor tmp_表
用新生成大表做报表数据,当然了,可能还有其他的连接条件的。
2019-01-05 12:12
sdta
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:176
帖 子:7507
专家分:18004
注 册:2012-2-5
  得分:0 
先处理好数据,再在报表中显示数据

坚守VFP最后的阵地
2019-01-05 12:47
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:92
帖 子:2608
专家分:6466
注 册:2015-3-25
  得分:0 
回复 楼主 fhnezha
你这个报表很容易实现,大概是这样,用2个表
1.(姓名,性别,出生日期,工作单位,工作年份,学历,原聘岗位,现聘岗位,考核年份,编号 )等做标题,单独1个表(TMP_标题),
2.(执行时间,岗位工资标准...,编号)这里,做细节区,也是1个表(TMP_细节),用 TMP_细节.编号=TMP_标题.编号 关联
3.回到楼主的问题了,表 TMP_细节 是由8个表组成,分别是楼主的 表1,表2,表3,表4,表5,表6,表7,表8,合成的
select * from 表1 union all ;
select * from 表2 union all ;
select * from 表3 union all ;
select * from 表4 union all ;
select * from 表5 union all ;
select * from 表6 union all ;
select * from 表7 union all ;
select * from 表8 union into cursor TMP_细节

4.要实现,楼主要看看VFP的关联相关的内容
SET RELATION 命令,可以看看下面的关联列子

*!* 建立测试数据
CREATE CURSOR tmp_标题(编号 i,姓名 c(10))
INSERT INTO tmp_标题(编号,姓名) VALUES (1001,'张三01')
INSERT INTO tmp_标题(编号,姓名) VALUES (1002,'张三02')
INSERT INTO tmp_标题(编号,姓名) VALUES (1003,'张三03')
INSERT INTO tmp_标题(编号,姓名) VALUES (1004,'张三04')
INSERT INTO tmp_标题(编号,姓名) VALUES (1005,'张三05')

CREATE CURSOR tmp_细节(编号 i,工资 i)
INSERT INTO tmp_细节(编号,工资) VALUES (1001,2001)
INSERT INTO tmp_细节(编号,工资) VALUES (1002,2002)
INSERT INTO tmp_细节(编号,工资) VALUES (1003,2003)
INSERT INTO tmp_细节(编号,工资) VALUES (1004,2004)
INSERT INTO tmp_细节(编号,工资) VALUES (1005,2005)

*!* 建立关联
SELECT tmp_细节
INDEX on 编号 TAG 编号

SELECT tmp_标题
INDEX on 编号 TAG 编号

SET RELATION TO 编号 INTO tmp_细节

*!* 查看关联结果
SELECT tmp_标题
GO 3
BROWSE
SELECT tmp_细节
BROWSE

SELECT tmp_标题
GO 2
BROWSE
SELECT tmp_细节
BROWSE
2019-01-05 13:12
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:92
帖 子:2608
专家分:6466
注 册:2015-3-25
  得分:0 
还有就是,如果是多个姓名一起打印,还要做分组,用编号做报表的分组,当然,这是后话了。
分组后,就会1个姓名打印一页
2019-01-05 13:17
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:350
帖 子:11340
专家分:42465
注 册:2006-5-13
  得分:2 
可以使用数组,先将各个表所需要的数据存入数组中再调用报表打印。

活到老,学到老! http://www.qs98.com E-mail:hu-jj@21cn.com
2019-01-05 21:03







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075974 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved