以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  跨表引用数据的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113621)

--  作者:douglas738888
--  发布时间:2018/1/19 15:08:00
--  跨表引用数据的问题

请教老师,下面代码,能实现如果表A的策划编号已生成之后,再勾选“内审标注”,表B能跨表引用表A数据

 

但是现在的问题是:

策划编号是根据表A的“日期”,因为是网络不重复编号,经过保存才能生成,但是在填写表A的单元格顺序要求中,日期已经填写和内审标注已经勾选,全部单元格完成后才进行保存,

保存表A前,只要勾选内审标注,表B已经增加行了,如果后面再保存表A,策划编号就无法在表B中引用(无数据),相当于无识别关联的编号了。

 

.......

Select Case e.DataCol.name
    Case "内审标注"
        Dim dr As DataRow = DataTables("表B").Find("策划编号 = \'" & e.DataRow("策划编号") & "\'")
        If dr Is Nothing Then
            If e.DataRow("内审标注") = True  Then
                dr = DataTables("任务完成提醒").AddNew()
                dr("项目编号") = e.DataRow("项目编号")
                dr("项目名称") = e.DataRow("项目名称")
                dr("会审组织人") = e.DataRow("会审组织人")
                dr("策划编号") = e.DataRow("策划编号") 
            End If
        End If
End Select


--  作者:有点甜
--  发布时间:2018/1/19 15:28:00
--  

1、你可以新增一行,就立马保存嘛。最简单的。

 

2、你可以判断表A编辑的这一行是否保存,如果是新增行,那就不处理呗。

 

http://www.foxtable.com/webhelp/scr/0428.htm

 

对于已经保存的行,在关闭项目、或者启动项目的时候,把【内审标注】为true的行重置列一下,更新到表B