在vfp中,我明明在报表中放了字段,可是在报表预览中却没有显示
我在编译系统的时候,统一设置了一个视图文件,系统都在这个数据环境中运行,别的好象都没什么问题,可是在报表设计中却出现了问题,我把不同表的字段放在报表的域控件里,希望在预览时能够出现不同的字段值,可是报表中几个字段值却总是出现同一的值,有的甚至没有出现,好象数据没有和数据库中的表绑定一样!!!!,而有的又能够正常得到结果,明明我在视图中设置了统一的环境,可是为什么却得不到自己希望的结果呢?
(附:我从新在报表中设置数据环境,好象也不行)
问题点数:40、回复次数:10Top
1 楼SE1()回复于 2002-03-11 13:56:34 得分 5
如果字段来源于不同的表,那么应明确指明表之间的关系。Top
2 楼liujianjun_(流星尔)回复于 2002-03-11 16:55:43 得分 20
你在数据环境中是不是有多张表,但没有指明关系,那么它就会显示混乱。
多表的报表问题,你最好用sql语句把它合成一张cursor,然后在报表里直接写这个cursor里的字段就行了。
Top
3 楼wangliminde(劳动者)回复于 2002-03-11 18:19:13 得分 0
我就是这个问题呀!!涉及到四张表,是个好主意,关注关注,如何用sql合成
给我个示范!!!!!!!!!Top
4 楼vfp_database(数据库)回复于 2002-03-11 19:02:13 得分 5
select a.ab,b.cc,c.ss,e.qq from a,b,c,e where .... into curs table
Top
5 楼gljqd(沙鸥)回复于 2002-03-11 19:03:59 得分 5
你的问题我也遇到过。解决的办法是:
在报表设计器中,从鼠标右键菜单选择数据环境选项,将涉及的表添加到数据环境中;然后设置报表的域控件属性为要设置的表中的字段就可以了Top
6 楼liujianjun_(流星尔)回复于 2002-03-11 20:03:52 得分 0
例如,a,b,c
select a.a,b.b,c.c from b join a on a.a=b.a join c on b.a=c.a into cursor lsb
然后,你在报表显示a字段的地方写cursor.a,b字段地方写cursor.b,不用数据环境,直接在域控件的属性里写就是。
Top
7 楼wangliminde(劳动者)回复于 2002-03-11 20:23:08 得分 0
好,我试一下,沙鸥兄,你说的情况我就是那么试的,可是不行啊,我才提这个问题的呀!Top
8 楼wangliminde(劳动者)回复于 2002-03-12 00:29:46 得分 0
如liujianjun_所说的那样,我做了个视图,放在了报表设计器的数据环境中,当把域控件放在报表设计器中的(细节带)时,可以出现预期的几个打印结果(七张发票)
可是我设计的这个界面是只需要打印一张针对一个确定用户的发票,所以我把这几个域控件放在了(页标头)这个带区上,为的是预览的时候只看见一个确定用户的发票,可是这样的化,我上述做法却无论如何都不能成功!!!!,无论我输入什么用户的编号,它总是出现同一个结果!!而不会变化!!
我怀疑我的设计又问题,我把我的代码写在下面:
为了确定输入用户的编号,我用了一张表单,表单中一个文本框,一个按钮,
text1的lostfocus事件代码如下:
xldh=thisform.text1.value xldh是一个全局变量
command1的click事件如下:
sele xld
loca for 编号==trim(xldh) &&如果查到,记录指针就指向指定的记录
if not found()
wait window "无此编号"
else
sele ljyl
repo form fp prev &&调用报表预览来预览发票
thisform.release &&释放这张表单
endifTop
9 楼wangliminde(劳动者)回复于 2002-03-12 11:26:11 得分 0
怎么没有人回呀!我想给这个贴子加分,如何加呢??????Top
10 楼wave_f(小浪花)回复于 2002-03-12 20:02:47 得分 5
你在报表中选择右键 , 单击数据环境 , 几个不同的表都可以,把表中字段直接拖放到报表中,预览报表会有你所期待的结果。记得加分Top




