以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]非关联表之间的数据同步 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178977) |
-- 作者:jygyyl -- 发布时间:2022/8/1 16:15:00 -- [求助]非关联表之间的数据同步 现有cjb和jsb,想非关联同步。两个表代码如下: cjb的DataColChanged
If e.DataCol.Name = "箱号" Then \'发生变化的是产品编号吗? \'在产品表找出该产品 Dim dr As DataRow dr = DataTables("jsb").Find("转运箱码 = \'" & e.DataRow("箱号") & "\'") If dr IsNot Nothing Then\'如果找到, 则设置各列内容 e.DataRow("接收时间") = dr("接收时间") e.DataRow("接收人姓名") = dr("接收人姓名") e.DataRow("接收实验室") = dr("接收实验室") End If End If 重置”箱号“可以实现表间数据同步。 jsb的DataColChanged Select Case e.DataCol.name Case "接收时间", "接收人姓名", "接收实验室" Dim dr As DataRow = DataTables("cjb").Find("箱号 = \'" & e.DataRow("转运箱码") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select jsb与cjb存在1对多的关系,上述代码只能同步第一行数据,其他相同箱号的数据没有同步,求老师指点完善代码。谢谢! |
-- 作者:有点蓝 -- 发布时间:2022/8/1 16:22:00 -- 返回多行数据改为使用select:http://www.foxtable.com/webhelp/topics/0400.htm |
-- 作者:jygyyl -- 发布时间:2022/8/1 17:33:00 -- 回复:(有点蓝)返回多行数据改为使用select:http:/... 实在不会,请老师示范!谢谢! |
-- 作者:有点蓝 -- 发布时间:2022/8/1 17:44:00 -- 帮助里就有现成的呀,改下表名、列名而已 Select Case e.DataCol.name Case "接收时间", "接收人姓名", "接收实验室" Dim drs As List(Of DataRow) drs = DataTables("cjb").Select("箱号 = \'" & e.DataRow("转运箱码") & "\'") For Each dr As Datarow In drs dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) Next End Select
|
-- 作者:jygyyl -- 发布时间:2022/8/2 18:06:00 -- 回复:(有点蓝)帮助里就有现成的呀,改下表名、列名... 搞定,谢谢蓝版! |