以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何将表中某列的内容自动填写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108055)

--  作者:kakawcj
--  发布时间:2017/10/15 12:13:00
--  [求助]如何将表中某列的内容自动填写
假设有表A与表B已经关联,都有“订单编号”的列,希望能在表A录入具体值如“2017001”时,表B能够自动同时在空白行添加该值“2017001”,如果表A增加空白行,表B也能自动增加行与其对应,但表B增加行时表A不会增加行,表B增加行的目的是订单编号有子项,如“2017001-01”、“2017001-02”等
[此贴子已经被作者于2017/10/15 12:40:05编辑过]

--  作者:有点甜
--  发布时间:2017/10/15 14:24:00
--  

参考

 

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

 


--  作者:kakawcj
--  发布时间:2017/11/28 17:54:00
--  
再追问一个,如果A表增加一行“订单编号”,B表也跟随增加一行,C表、D表也跟随增加一行,A表新增/修改/删除“产品类别”B表的“产品类别”跟随新增/修改/删除,A表新增/修改/删除“合同金额”时C表的的“合同金额”跟随新增/修改/删除,又如何实现呢?
我尝试了A表的事件中2次Case "订单编号",但没出现想要的效果。 

--  作者:有点甜
--  发布时间:2017/11/28 18:27:00
--  

把你的全部代码拷贝一次,把表名修改一下即可;或者贴出你现在写的代码。

 

 


--  作者:kakawcj
--  发布时间:2017/12/3 20:39:00
--  
我搞不掂,在“合同管理_业务员”表格中增加一行,“财务报表_会计”增加了一行,但"报告管理_客服员"没增加行,请问问题出现在哪里?现将代码贴出: 
Select Case e.DataCol.Name 
    Case "合同状态" \'如果是合同状态列的内容变动
        If e.NewValue = "已结束" Then \'而且变动后的值是"已结束"
            e.DataRow.Locked = True\'那么锁定此行
        End If
    Case "合同单号" 
        Dim cwbb As DataRow = DataTables("财务报表_会计").Find("合同单号 = \'" & e.OldValue & "\'")
        If cwbb Is Nothing Then 
            cwbb = DataTables("财务报表_会计").AddNew()
            cwbb("合同单号") = e.DataRow("合同单号")
            cwbb("业务员") = e.DataRow("业务员")
            cwbb("合同金额") = e.DataRow("合同金额")
        Else
            cwbb("合同单号") = e.DataRow("合同单号")
        End If
     Case "合同单号" 
        Dim cwbb As DataRow = DataTables("报告管理_客服员").Find("合同单号 = \'" & e.OldValue & "\'")
        If cwbb Is Nothing Then 
            cwbb = DataTables("报告管理_客服员").AddNew()
            cwbb("合同单号") = e.DataRow("合同单号")
            cwbb("报告版式") = e.DataRow("报告版式")
        Else
            cwbb("合同单号") = e.DataRow("合同单号")
        End If
    Case "业务员" , "合同金额"
        Dim cwbb As DataRow = DataTables("财务报表_会计").Find("合同单号 = \'" & e.DataRow("合同单号") & "\'")
        If cwbb IsNot Nothing Then
            cwbb(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select
[此贴子已经被作者于2017/12/3 20:39:36编辑过]

--  作者:有点甜
--  发布时间:2017/12/3 23:11:00
--  

Select Case e.DataCol.Name
    Case "合同状态" \'如果是合同状态列的内容变动
        If e.NewValue = "已结束" Then \'而且变动后的值是"已结束"
            e.DataRow.Locked = True\'那么锁定此行
        End If
    Case "合同单号"
        Dim cwbb As DataRow = DataTables("财务报表_会计").Find("合同单号 = \'" & e.OldValue & "\'")
        If cwbb Is Nothing Then
            cwbb = DataTables("财务报表_会计").AddNew()
            cwbb("合同单号") = e.DataRow("合同单号")
            cwbb("业务员") = e.DataRow("业务员")
            cwbb("合同金额") = e.DataRow("合同金额")
        Else
            cwbb("合同单号") = e.DataRow("合同单号")
        End If

        cwbb = DataTables("报告管理_客服员").Find("合同单号 = \'" & e.OldValue & "\'")
        If cwbb Is Nothing Then
            cwbb = DataTables("报告管理_客服员").AddNew()
            cwbb("合同单号") = e.DataRow("合同单号")
            cwbb("报告版式") = e.DataRow("报告版式")
        Else
            cwbb("合同单号") = e.DataRow("合同单号")
        End If

    Case "业务员" , "合同金额"
        Dim cwbb As DataRow = DataTables("财务报表_会计").Find("合同单号 = \'" & e.DataRow("合同单号") & "\'")
        If cwbb IsNot Nothing Then
            cwbb(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select


--  作者:kakawcj
--  发布时间:2017/12/10 18:56:00
--  
原来是case后面相同内容不能重复,搞明白了,十分感谢!