以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  父表中记录子表中某一列的实时的最新值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187297)

--  作者:魏福庆
--  发布时间:2023/7/6 21:19:00
--  父表中记录子表中某一列的实时的最新值
老师您好,这段代码我是实在不会写啊,帮帮忙吧!

我有两个数据表,名字分别为“表A"和“表B",表A是父表,表B是子表,两个表都有”身份证“列,并通过”身份证“列进行关联;
表A中有一列为”标注“,表B中有一列为”实时标注“,表B中还有一列为”日期“列。现在我想在表B中找到”日期“列的最新日期行,然后返回”实时标注“列的对应值填充到表A的标注列里面。

--  作者:有点蓝
--  发布时间:2023/7/6 21:40:00
--  
“表B" datacolchanged事件

if e.datacol.name = 日期“ orelsee.datacol.name = 实时标注“  then
 dim dr as datarow = datatables("表A").find("身份证=\'" & e.datarow("身份证\') & "\'")
if dr isnot nothing then
 dim dr2 as datarow = e.datatable.find("身份证=\'" & e.datarow("身份证\') & "\'","日期 desc")
if dr2 isnot nothing then
 dr("标注") = dr2("实时标注")
end if
end if
end if

--  作者:魏福庆
--  发布时间:2023/7/7 7:38:00
--  
多谢老师,有几个符号错了,修改一下就能用,膜拜!!!解决大问题了。

If e.DataCol.name = "日期" OrElse e.DataCol.name = "实时标注" Then
 Dim dr As DataRow = DataTables("表A").find("身份证=\'" & e.DataRow("身份证") & "\'")
If dr IsNot Nothing Then
 Dim dr2 As DataRow = e.DataTable.find("身份证=\'" & e.DataRow("身份证") & "\'", "日期 desc")
If dr2 IsNot Nothing Then
 dr("标注") = dr2("实时标注")
End If
End If
End If