起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 218|回复: 8

[请求]涉及三个表的自动填充怎么做**

[复制链接]
发表于 2007-4-20 10:32:36 | 显示全部楼层 |阅读模式
A表 有 字段: AID ,BID
B表 有 字段: BID,Bvalue
C表 有 字段: CID,AID,Cvalue
要求C表的Cvalue字段自动填充为
select B.Bvalue from A,B,C where C.AID = A.AID and  A.BID = B.BID

比如 习题中就有这种情况
销售主表:销售单号,客户编号
客户表:客户编号,折扣率
销售明细表:销售单号,折扣率

这时如何设置销售明细表中折扣率的自动填充呢?
回复

使用道具 举报

发表于 2007-4-20 10:53:58 | 显示全部楼层
其实跟几个表没有关系,关键是通过数据集来填充,你只要能构造出查找数据集来,就可以了,这个数据集不一定从一个表还是两个表还是多个表中取得
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 11:19:54 | 显示全部楼层
我这样修改了订单从数据集,加入了主表的客户id

snap021.jpg

140.35 KB, 下载次数: 94

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 11:26:12 | 显示全部楼层
可是在 订单明细表 的折扣率字段设置 数据查找时 过滤条件中 看不到 客户id啊

snap023.jpg

135.57 KB, 下载次数: 93

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 14:49:43 | 显示全部楼层
而且如果这样做的话,会导致 订单录入时报错:不能对多表操作

snap025.jpg

87.62 KB, 下载次数: 92

回复 支持 反对

使用道具 举报

发表于 2007-4-20 15:36:10 | 显示全部楼层
搂住,录入不会报错吧,是提交吧。

如果是提交,对,不支持多表同时更新,如果需要,那么只能自己写SQL提交了,参考

http://bbs.justep.com/forum.php?mod=viewthread&tid=14353
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 15:42:09 | 显示全部楼层
对,是提交的问题,我把数据集又该回来,只取一个表中的数据就可以了--这只是附带的问题

主要的问题,是怎么解决我主题里提的问题啊,请看1-4楼
回复 支持 反对

使用道具 举报

发表于 2007-4-20 16:00:31 | 显示全部楼层
呵呵,对,主要解决你的问题,如果你的描述不准确,可能会误导跟问题的人,对吧,所以我觉得在描述问题的时候需要注意几点,例如
1,是没有反映还是报错
2,在做哪个动作的时候报错或者没有反映,
3,如果是报错,原始的错误信息是啥;如果是没有反映,那么需要自己先设置断点来跟踪一下,是否事机不对,还是传入的条件不对
。。。

下面来说说你的问题
3楼的图,不知道楼主因为啥原因需要加Where条件
如果确实要加这个Where,你 订单从数据集 更新时,只需要是否更新 订单明细表,订单主表不需要更新,如果是,根据6楼的贴在 那么设置 从 你 订单从数据集 的更新选项,定义SQL,只更新订单明细表

在看4楼可是在 订单明细表 的折扣率字段设置 数据查找时 过滤条件中 看不到 客户id啊
是因为你的查找数据集没有把客户ID选过来,肯定就看不到了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-20 16:40:26 | 显示全部楼层
那我详细描述一下好了

首先,我在做一个订单录入的功能时,希望能够对其中的一个字段“折扣率”进行自动填充。从库里看是对销售明细表进行操作。对应的数据库中相关字段及关系如下

销售明细表:折扣率,销售单号,
销售主表:销售单号,客户编号
客户表:客户编号,折扣率

因为销售明细表的折扣率要去客户表的折扣率,但是两表没有直接关联,需要通过销售主表才能关联(销售明细表.销售单号=销售主表.销售单号找到该记录,然后在该记录通过 销售主表.客户编号=客户表.客户编号,从而取得客户表中唯一记录中的折扣率)

自动填充属性中通过数据查找,我只能设置两个表的关联,不能做成三个表的关联,所以发了该贴,就是想知道这种情况[B]应该怎么设置,才能将销售明细表的折扣率自动填充为客户表的折扣率?[/B]

二楼回复说:
其实跟几个表没有关系,关键是通过数据集来填充,你只要能构造出查找数据集来,就可以了,这个数据集不一定从一个表还是两个表还是多个表中取得


我理解为更改 从数据集(也就是对销售明细表操作的数据集),使其包含 销售主表的客户编号 字段,这样就可以通过定义销售明细表中折扣率字段的填充属性:客户表的客户编号=数据集的客户编号 查找到客户表中的 折扣率了。

所以我这样操作了,3楼就是对子数据集的修改,但是在做“定义销售明细表中折扣率字段的填充属性”时,发现这里没有客户编号可以选择,如图四。所以我觉得我的问题还是没有解决。

至于5楼,是这样更改从数据集后引发录入数据保存时的错,不过这个错误我并不太关心,我最关心的还是如何实现涉及三个表的自动填充
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-4 19:12 , Processed in 0.045184 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表