Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将表中某列的内容自动填写


  共有3485人关注过本帖树形打印复制链接

主题:[求助]如何将表中某列的内容自动填写

帅哥哟,离线,有人找我吗?
kakawcj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:190 威望:0 精华:0 注册:2017/10/15 11:57:00
[求助]如何将表中某列的内容自动填写  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/15 14:24:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
kakawcj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:190 威望:0 精华:0 注册:2017/10/15 11:57:00
  发帖心情 Post By:2017/11/28 17:54:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/28 18:27:00 [只看该作者]

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

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
kakawcj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:190 威望:0 精华:0 注册:2017/10/15 11:57:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:14 积分:190 威望:0 精华:0 注册:2017/10/15 11:57:00
  发帖心情 Post By:2017/12/10 18:56:00 [只看该作者]

原来是case后面相同内容不能重复,搞明白了,十分感谢!

 回到顶部