起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 275|回复: 10

关联更新数据问题**

[复制链接]
发表于 2008-9-1 13:16:04 | 显示全部楼层 |阅读模式
有数据表a,b,建立对应的数据集a1,b1,怎样在提交更新数据表a后有条件地更新b?
   代码放在数据集a1的更新选项,还是放在a1的afterupdate事件中,怎样写?
例如:a表: 产品, 售价, 数量
      b表:  项目类型    数据
      b表其中有一条记录是:销售收入  数据1
         我想在修改a表后更新b的数据1,  条件 b.项目类型="销售收入"
    谢谢指点!
回复

使用道具 举报

发表于 2008-9-1 14:08:47 | 显示全部楼层
你的sql写在数据集a1的afterapplyupdates事件中就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 14:17:46 | 显示全部楼层
我这样写的:
update  b  set   数据= (select sum(a.售价*a.数量)  from a group by  x )  where  b. 项目类型='项目类型'
j结果报错:
b 没有申明
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 14:22:04 | 显示全部楼层
我就是随时把a 的金额统计到b,有什么好的方案吗
这里好像不适合用关联
回复 支持 反对

使用道具 举报

发表于 2008-9-1 14:58:08 | 显示全部楼层
在修改a的修改字段上,修改b的数据1,参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=1946

如果是 主表填充从表的汇总值的问题.
这可以参考: nhttp://bbs.justep.com/forum.php?mod=viewthread&tid=20172  11楼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 15:07:46 | 显示全部楼层
我的两数据集没有关联关系,我想用update 语句,指点一下。在数据集OnFieldChange 写怎样定位要修改的记录,另外要考虑统计时机。
回复 支持 反对

使用道具 举报

发表于 2008-9-1 15:36:24 | 显示全部楼层
a表: 产品, 售价, 数量
b表: 项目类型    数据

a与b直接在数据上有什么对应关系?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-1 15:47:04 | 显示全部楼层
B表的一条记录是: 销售收入 ,金额 数据定制表
我要把收入所随时统计到B表
回复 支持 反对

使用道具 举报

发表于 2008-9-1 17:00:36 | 显示全部楼层
在数据集OnFieldChange 写怎样定位要修改的记录
修改的是另一个数据集,可以用locate来定位。

另外,如果要用update 来更新,那么不要用数据导航条来保存A1了,直接用个按钮,自己写SQL语句来分别条件数据集A1 和B1
回复 支持 反对

使用道具 举报

发表于 2008-9-2 11:13:43 | 显示全部楼层
1.对另一个数据表进行更新,可以直接用TQuery,
      使用方法: http://bbs.justep.com/forum.php?mod=viewthread&tid=25215

2.更新语句: 在TQuery中用下面的应没问题(a,b在同一数据库中就可以)
    update  b  set   数据= (select sum(a.售价*a.数量)  from a group by  x )  where  b. 项目类型='项目类型'

3.更新的时机:  
   提交之后统计可以用: afterapplyupdates事件
  字段更改之后立即统计可以用: OnFieldChange 事件
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 18:58 , Processed in 0.042493 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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