以文本方式查看主题

-  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=115674)

--  作者:rgbjwjb
--  发布时间:2018/3/12 11:58:00
--  水厂抄表本月期初数自动获取上月期末数
Dim dr As DataRow
dr = DataTables("水费抄表记录").Find("[单位名称] = Tables("水费抄表记录").Current("单位名称") And [期末数] = MAX("期末数") ")
If dr IsNot Nothing Then
 Tables("水费抄表记录").Current("期初数")  =dr("期末数")   
End If

--  作者:rgbjwjb
--  发布时间:2018/3/12 11:59:00
--  
请问代码错在哪里?


--  作者:有点甜
--  发布时间:2018/3/12 12:04:00
--  

Dim r As Row = Tables("水费抄表记录").Current
Dim dr As DataRow
dr = DataTables("水费抄表记录").Find("[单位名称] = \'" & r("单位名称") & "\'", "期末数 desc")
If dr IsNot Nothing Then
    r("期初数")  =dr("期末数")
End If


--  作者:rgbjwjb
--  发布时间:2018/3/12 17:33:00
--  
谢谢!但是执行上述代码后,录入期末数后,期初数和期末数变得一样了,请指教!


--  作者:有点甜
--  发布时间:2018/3/12 17:43:00
--  

如果写在datacolchanged事件,这样写

 

If e.DataCol.name = "期末数" OrElse e.DataCol.name = "单位名称" Then
    Dim r As DataRow = e.DataRow
    Dim dr As DataRow
    dr = DataTables("水费抄表记录").Find("[单位名称] = \'" & r("单位名称") & "\' and _Identify <> " & r("_Identify"), "期末数 desc")
    If dr IsNot Nothing Then
        r("期初数")  =dr("期末数")
    End If
End If


--  作者:rgbjwjb
--  发布时间:2018/3/13 7:58:00
--  
谢谢!