以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]修改记录保存问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126643) |
-- 作者:havent_bao -- 发布时间:2018/10/25 17:48:00 -- [求助]修改记录保存问题 这个问题有点说不清楚,因为找不到原因。 我的表之间建立了一些关联,并且设置了事件(列重置)。有时候,我修改了部分记录后,关联数据找不到新加的数据,重置列也获取不到新数据。点存盘也还是这样。但如果关闭窗口会提示保存,再重新打开数据就正常了。 这让我觉得很奇怪,是不是与加载之类的有关?是否有别的办法,不用重新打开也能正常存盘/加载或获取数据?
|
-- 作者:有点蓝 -- 发布时间:2018/10/26 8:37:00 -- 请上传具体实例说明 |
-- 作者:havent_bao -- 发布时间:2018/10/26 10:25:00 -- 这不知道怎么传。我再描述一下吧: A表为父,B表为子 改B表数据,A表中有一个事件触发从B表获取数据,就下面这一段: Dim drs1 As List(of DataRow) = DataTables("合同金额").SQLSelect("合同编号=\'" & e.DataRow("合同编号") & "\'")
Dim Sum1 As Double = 0
For Each dr1 As DataRow In drs1
Sum1 = Sum1 + dr1("合同金额")
Next e.DataRow("合同金额") = Sum1 获取到的是旧数据,不是B表(合同金额)中修改后的数据。点过保存也还是一样。这时候关闭窗口,会提示是否保存修改。再重新打开一切正常获取。显然,是有什么东西没有保存。 其实现在看来就一张表好象也存在这个问题,就改完点保存,关闭窗口,会有提示保存。
|
-- 作者:有点蓝 -- 发布时间:2018/10/26 10:37:00 -- 参考:http://www.foxtable.com/webhelp/scr/1453.htm |
-- 作者:havent_bao -- 发布时间:2018/10/26 11:51:00 -- 嗯,问题可以解决,还是很感谢。 这个考虑也的确是有这样的需求,但我对这个设计有疑问(只是建议考虑,并不需要回复): 1、改单价的时候不改变已经存在的订单(这个是有道理的,如果是订单这类需求),但重启就改了还是不应该的,如果是考虑已经生成的订单数据不变的问题,那就应该是重新启动还是不变。 2、即使第一个问题解决了,还是有问题,从订单的角度看,生成时的单价已经不存在了,没有历史可查,现在新单价表里已经是新数据没有老数据记录,如何证实旧订单上的价格是对的呢?从这个角度说,应该有修订记录,怎么实现就是你们的事情了。 :)
|
-- 作者:有点蓝 -- 发布时间:2018/10/26 12:04:00 -- 1、如果使用4的用法,重启后不会改数据,如果有就是您用法不正确。 2、这种是业务问题了,有很多方法可以解决,比如创建日志,创建历史表等等等。怎么实现就是你们的事情了
|