以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数据系统自动篡改  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7105)

--  作者:floor2
--  发布时间:2010/5/15 9:57:00
--  数据系统自动篡改
 材料入库、付款记录、应付金额3个表构成付款系统,在计算应付金额后,付款记录会自动篡改数据,明明是付给甲的金额,被系统篡改成支付给乙了,在运算的过程中发现不了,在输入时都没问题,只有在发现应付金额表不对才会发现付款记录表有问题,数据被改了。
应该是个bug,但是由于不知道什么原因,解决不了,有谁也碰到类似的问题?

--  作者:czy
--  发布时间:2010/5/15 10:34:00
--  
将应付金额表的代码贴出来看看。
--  作者:blackzhu
--  发布时间:2010/5/15 10:37:00
--  
没有这种问题产生过,是不是同时有人在操作此列和此行的数据.
--  作者:floor2
--  发布时间:2010/5/15 13:32:00
--  
 Dim t As TimeSpan = Date.Today - # 02/20/2010 # \'CDate(e.datarow("入库日期"))
If e.DataRow.IsNull("期初余额") = False Then
    e.datarow("期初天元") = t.TotalDays*e.datarow("期初余额")
End If

if e.datacol.name="供应商" then
    e.datarow("供应商") = e.datarow("供应商").Trim()
    Dim ys As Long
    dim sk as long
    dim qf as long
    ys = DataTables("材料入库").Compute("sum(金额)", "[供应商] = \'" & e.datarow("供应商") & "\'")
    sk = DataTables("付款记录").Compute("sum(付款金额)","[供应商] = \'" & e.datarow("供应商") & "\'")
    qf = datatables("应付金额").compute("sum(期初余额)","[供应商] = \'" & e.datarow("供应商") & "\'")
    e.datarow("应付金额")=ys-sk+qf
    dim qt,ft,st as double
    qt = datatables("应付金额").compute("sum(期初天元)","[供应商]=\'"  &  e.datarow("供应商")  &  "\'")
    ft = datatables("材料入库").compute("sum(天元)","[供应商]=\'"  &  e.datarow("供应商")  &  "\'")
    st = datatables("付款记录").compute("sum(天元)","[供应商]=\'"  &  e.datarow("供应商")  &  "\'")
    e.datarow("天元")=(qt+0.5*(ft-st))/(ft+qt)*t.totaldays   
end if
DataTables("应付金额").DeleteFor("[供应商] is null ")


只有一个人在编辑,编辑完后,都锁定行,并保存。
[此贴子已经被作者于2010-5-15 13:32:41编辑过]

--  作者:czy
--  发布时间:2010/5/15 18:11:00
--  

没看出有什么问题。

查看一下"付款记录"是否有冲突的代码。


--  作者:e-png
--  发布时间:2010/5/15 19:13:00
--  
搂住这个标题够恐怖的,系统篡改? 呵呵,要是银行系统我等就有机会收到不明来款了,图片点击可在新窗口打开查看
--  作者:lkqing
--  发布时间:2010/5/15 20:31:00
--  
检查一下关联
--  作者:floor2
--  发布时间:2010/5/16 9:31:00
--  
有关联,关联会出现这个问题吗
--  作者:lkqing
--  发布时间:2010/5/16 11:52:00
--  
从你贴出的代码看,计算时无法确认三个表的当前行是同一个供应商,应指定供应商,诺有关联,可利用关联计算。