Foxtable(狐表)用户栏目专家坐堂 → 跨表引用的自动更新求代码


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

主题:跨表引用的自动更新求代码

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


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
跨表引用的自动更新求代码  发帖心情 Post By:2013/3/14 1:12:00 [只看该作者]

我有两个表,操作流程是:“操作结算表”录入基本资料后,当在“操作结算表”选择“ 完成情况=True”,代码就会根据“客户结算对应表”“客户全称”的对应的“结算人”自动填写至“操作结算表”“结算人”列中,但是不运作,我是菜鸟级,请帮我修改一下代码吧,代码如下:

 

Select Case e.DataCol.Name
    Case "是否完成"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr("是否完成") = False Then
            dr("结算人") = Nothing
            Else
            Dim filter As String
            filter = "客户全称 = '" & dr("客户全称") & "'"
            pr = DataTables("客户结算对应表").Find(filter)
            If pr IsNot Nothing Then
                dr("客户全称") = pr("客户全称")
             Else              
                MessageBox.Show("此客户未曾登记")
            End If
        End If
End Select

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

[此贴子已经被作者于2013-3-14 11:03:38编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/14 9:13:00 [只看该作者]

没办法根据你的代码看懂你的业务逻辑。

你直接用一两条数据为例,告诉我们你的工作流程和希望得到的结果。


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


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2013/3/14 11:18:00 [只看该作者]

狐爸,已经更改了,看看我的意思您能理解吗?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/14 14:29:00 [只看该作者]

Select Case e.DataCol.Name
    Case "是否完成"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr("是否完成") = False Then
            dr("结算人") = Nothing
        Else
            Dim filter As String
            filter = "客户全称 = '" & dr("客户全称") & "'"
            pr = DataTables("客户结算对应表").Find(filter)
           
            If pr IsNot Nothing Then
                dr("结算人") = pr("结算人")
            Else
                MessageBox.Show("此客户未曾登记")
            End If
        End If
End Select

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


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2013/3/14 21:16:00 [只看该作者]

这个表的代码是可以实现,但是加入关联,将“是否完成”列设为表达式列,代码就时效了。请问如何编写代码?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


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


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/14 22:19:00 [只看该作者]

“操作结算表”的DataColChanged 中加入:


    Case "是否完成"
        Dim pr As DataRow
        Dim drs As List(of DataRow) = e.DataRow.GetChildRows("操作结算表")
        For Each drc As DataRow In drs
            If e.DataRow("是否完成") = False '
                drc("结算人") = Nothing
            Else
                Dim filter As String
                filter = "客户全称 = '" & e.DataRow("客户全称") & "'"
                pr = DataTables("客户结算对应表").Find(filter)
                If pr IsNot Nothing Then
                   drc("结算人") = pr("结算人")
                Else              
                   MessageBox.Show("此客户未曾登记")
                End If
            End If
        Next


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


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2013/3/14 23:26:00 [只看该作者]

改动了一下,可以了,谢谢啦!

 

“操作登记表”的DataColChanged 中加入:

 

Select Case e.DataCol.Name
    Case "是否完成"
        Dim pr As DataRow
        Dim drs As List(of DataRow) = e.DataRow.GetChildRows("操作结算表")
        For Each drc As DataRow In drs
            If e.DataRow("是否完成") = False Then
                drc("结算人") = Nothing
            Else
                Dim filter As String
                filter = "客户全称 = '" & e.DataRow("客户全称") & "'"
                pr = DataTables("客户结算对应表").Find(filter)
                If pr IsNot Nothing Then
                   drc("结算人") = pr("结算人")
                Else              
                   MessageBox.Show("此客户未曾登记")
                End If
            End If
        Next

End Select



 回到顶部