以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]不同表的1对多关系如何处理成自动变化?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110963)

--  作者:kakawcj
--  发布时间:2017/12/13 9:04:00
--  [求助]不同表的1对多关系如何处理成自动变化?
当前我的表“合同管理”与表“报告管理”的都有“合同单号”,“合同管理”新增/修改/删除“合同单号”所在行,“报告管理”中都已对应变化,目的希望但有一变量将使得1对多如何处理?
表“合同管理”里头有“合同单号”列、“式”列及“份”列(默认1),当“式”的值修改为n后,希望使得另外一份表“报告管理”的“合同单号”将自动增加n-1行(“合同单号”1对多“报告编号”)并填入相同的单号,而“报告编号”将自动按“CYU001”、“CYU002”的流水号自动编号,插入/删除行都是在目标表“报告管理”的“合同单号”所在单元行的下一行开始处理(我试过Insertnew,只能在上一行插入),并且当n重新输入其它值时,能够自动对应改变。

本人出学Foxtable,经验很浅,但对Foxtable很感兴趣,望大咖们多多帮助。

图片点击可在新窗口打开查看此主题相关图片如下:1对多.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/12/13 9:07:16编辑过]

--  作者:有点甜
--  发布时间:2017/12/13 10:17:00
--  

datacolchanged事件

 

If e.DataCol.Name = "列名" Then

    DataTables("子表").DeleteFor("合同单号 = \'" & e.DataRow("合同单号") & "\'")
    For i As Integer = 1 To e.DataRow("列名")
        Dim ndr As DataRow = DataTables("子表").addNew()
        ndr("合同单号") = e.datarow("合同单号")
    Next
End If

[此贴子已经被作者于2017/12/13 10:18:10编辑过]