Foxtable(狐表)用户栏目专家坐堂 → 非关联表同步的条件问题


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

主题:非关联表同步的条件问题

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
非关联表同步的条件问题  发帖心情 Post By:2016/4/5 12:54:00 [只看该作者]

请教老师,参照非关联表之间的数据同步,我加了个条件,如果参加投标的逻辑列勾选后,投标主表同步增加行,并把信息编号和项目名称带入增加行

是否我写的条件位置不对?

Select Case e.DataCol.name '如果项目甄批意见勾选参加投标,项目主表参加投标勾选后,投标主表增加行
    Case "信息编号" 
        If e.DataRow("参加投标") = True  Then
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.OldValue & "'")
        If dr1 Is Nothing Then 
            dr1 = DataTables("投标主表").AddNew()
            dr1("信息编号") = e.DataRow("信息编号")
            dr1("项目名称") = e.DataRow("项目名称")
        Else
            dr1("信息编号") = e.DataRow("信息编号")
             End If
        End If
    Case "项目名称"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 IsNot Nothing Then
            dr1(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/5 15:06:00 [只看该作者]

Select Case e.DataCol.name '如果项目甄批意见勾选参加投标,项目主表参加投标勾选后,投标主表增加行
    Case "信息编号"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.OldValue & "'")
        If dr1 Is Nothing Then
            dr1 = DataTables("投标主表").AddNew()
            dr1("信息编号") = e.DataRow("信息编号")
            dr1("项目名称") = e.DataRow("项目名称")
        Else
            dr1("信息编号") = e.DataRow("信息编号")
        End If
    Case "项目名称"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 IsNot Nothing Then
            dr1(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
    Case "参加投标"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 Is Nothing Then
            dr1 = DataTables("投标主表").AddNew()
        End If
        dr1("信息编号") = e.DataRow("信息编号")
        dr1("项目名称") = e.DataRow("项目名称")
End Select

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/4/5 16:41:00 [只看该作者]

对不起老师,我表达有点错误,是勾选项目信息表的逻辑列“参加投标”,投标主表才增加行,如果不勾选,就不增加行,代码调整如下,还有点问题(未引用对象实例),请老师在帮忙看看

Select Case e.DataCol.name 
    Case "参加投标"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 IsNot Nothing Then
           dr1 = DataTables("投标主表").AddNew() 
        End If
        dr1("信息编号") = e.DataRow("信息编号")
        dr1("项目名称") = e.DataRow("项目名称")
End Select
[此贴子已经被作者于2016/4/5 16:43:01编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/5 16:51:00 [只看该作者]

Select Case e.DataCol.name '如果项目甄批意见勾选参加投标,项目主表参加投标勾选后,投标主表增加行
    Case "信息编号"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.OldValue & "'")
        If dr1 IsNot Nothing Then
            dr1("信息编号") = e.DataRow("信息编号")
        End If
    Case "项目名称"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 IsNot Nothing Then
            dr1(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
    Case "参加投标"
        If e.DataRow("参加投标") = True Then
            Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
            If dr1 Is Nothing Then
                dr1 = DataTables("投标主表").AddNew()
            End If
            dr1("信息编号") = e.DataRow("信息编号")
            dr1("项目名称") = e.DataRow("项目名称")
        End If
End Select

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


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2016/4/5 16:52:00 [只看该作者]

已解决,不知这样写,是否符合规则

Select Case e.DataCol.name '如果项目甄批意见勾选参加投标,项目主表参加投标勾选后,投标主表增加行   
    Case "参加投标"
        Dim dr1 As DataRow = DataTables("投标主表").Find("信息编号 = '" & e.DataRow("信息编号") & "'")
        If dr1 Is Nothing Then
          If e.DataRow("参加投标") = True  Then
           dr1 = DataTables("投标主表").AddNew() 
        
        dr1("信息编号") = e.DataRow("信息编号")
        dr1("项目名称") = e.DataRow("项目名称")
    End If
  End If
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/5 17:32:00 [只看该作者]

代码在4楼。

 回到顶部