以文本方式查看主题

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

--  作者:冷泉
--  发布时间:2022/3/2 18:17:00
--  主表数据填充关联明细表
主表
开单日期          单据编号    金额  已付款() 未付款(5000)

明细关联表
单据编号 商品名称1  数量 单价 金额 已付款 未付款(1000)
单据编号 商品名称2  数量 单价 金额 已付款 未付款(2000)
单据编号 商品名称3  数量 单价 金额 已付款 未付款(3000)


我想是在主表里面录入已付款金额4000,那么第一行已付款那里自动录1000  第二行已付款那里录2000 第三行已付款那里录1000,这个代码应该如何写,麻烦老师指导下,谢谢

--  作者:有点蓝
--  发布时间:2022/3/3 8:38:00
--  
datacolchanged事件

If e.DataCol.Name = "已付款" Then
    
If e.DataRow.IsNull("已付款") = false Then
dim c as double = e.DataRow("已付款")
      for each dr as datarow = datatables("明细关联表").select("单据编号=\'" & e.DataRow("单据编号") & "\'","_sortkey")
if c > 0 then
if c >= dr("已付款") then
dr("已付款") = dr("已付款")
else
dr("已付款") = c
end if
c = c - dr("已付款")
else
exit for
end if
next
    End If
End If

--  作者:冷泉
--  发布时间:2022/3/3 15:41:00
--  
老师提示这个错误

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20220303153858.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2022/3/3 15:40:59编辑过]

--  作者:有点蓝
--  发布时间:2022/3/3 15:44:00
--  
for each dr as datarow in datatables("明细关联表").select