Foxtable(狐表)用户栏目专家坐堂 → 跨表引用逻辑问题


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

主题:跨表引用逻辑问题

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/27 9:20:00 [显示全部帖子]

没看出有什么问题。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/27 9:31:00 [显示全部帖子]

If e.DataRow("款项类别") <> "代理费"  And e.DataRow("款项类别") <> "保险费"  Then
   
        If  e.DataCol.Name = "供货方名称" Then
            Dim nms()As String = {"供货方账号","供货方开户银行"}
            If  e.NewValue Is Nothing Then
                For Each nm As String In nms
                    e.DataRow(nm)= Nothing
                Next
            Else
                Dim cmd As New SQLCommand
                Dim dt As DataTable
                cmd.C
                cmd.CommandText = "S ELECT DISTINCT 供货方名称,供货方账号,供货方开户银行 From {采购合同管理} where [供货方名称]= '" & e.NewValue & "'"
                dt = cmd.ExecuteReader()
                If dt.datarows.count > 0
                    Dim dr As DataRow = dt.datarows(0)
                    For Each nm As String In nms
                        e.DataRow(nm)= dr(nm)
                    Next
                    e.DataRow("是否签订采购合同") = True
                Else
                    e.DataRow("供货方名称") = Nothing
                    e.DataRow("是否签订采购合同") = False
                    MessageBox.Show("未签订合同,不能委托支付")
                    Return
                End If
 If  e.DataRow("付款金额") <= "30000" Then 
                    e.DataRow("供货方名称") = Nothing
                    e.DataRow("是否签订采购合同") = False
end if
            End If
        End If

End If

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/29 17:12:00 [显示全部帖子]


If  e.DataCol.Name = "供货方名称" Then
改为
If  e.DataCol.Name = "供货方名称" orelse e.DataCol.Name = "付款金额Then

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/8 17:36:00 [显示全部帖子]

需要在哪一步进行判断就增加到哪里

If  e.DataRow("付款金额") > "30000" Then
相关处理逻辑
else
<30000时的处理逻辑
endif

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/8 20:08:00 [显示全部帖子]

If e.DataRow("款项类别") <> "代理费"  And e.DataRow("款项类别") <> "保险费" Then
    If  e.DataRow("付款金额") >= "30000"  Then

        If  e.DataCol.Name = "供货方名称" OrElse e.DataCol.Name = "付款金额" Then
            Dim nms()As String = {"供货方账号","供货方开户银行"}
            If  e.DataRow.isnull("供货方名称") Then
                For Each nm As String In nms
                    e.DataRow(nm)= Nothing
                Next
            Else
                Dim cmd As New SQLCommand
                Dim dt As DataTable
                cmd.C
                cmd.CommandText = "S ELECT DISTINCT 供货方名称,供货方账号,供货方开户银行 From {采购合同管理} where [供货方名称]= '" & e.DataRow("供货方名称") & "'"
                dt = cmd.ExecuteReader()
                If dt.datarows.count > 0 Then
                    Dim dr As DataRow = dt.datarows(0)
                    For Each nm As String In nms
                        e.DataRow(nm)= dr(nm)
                    Next
                    e.DataRow("是否签订采购合同") = True
                Else
                    e.DataRow("供货方名称") = Nothing
                    e.DataRow("是否签订采购合同") = False
                    MessageBox.Show("该供应商还未签订供应合同,不能办理委托支付事宜!","提示",MessageBoxButtons.OK,MessageBoxIcon.None)
                    Return
                End If
            End If
        End If
    Else
        Dim nmw()As String = {"供货方账号","供货方开户银行"}
        Dim cmd As New SQLCommand
        Dim dt As DataTable
        cmd.C
        cmd.CommandText = "S ELECT DISTINCT 供货方名称,供货方账号,供货方开户银行 From {采购合同管理} where [供货方名称]= '" & e.DataRow("供货方名称") & "'"
        dt = cmd.ExecuteReader()
        If dt.datarows.count > 0  Then
            Dim dr As DataRow = dt.datarows(0)
            For Each nm As String In nmw
                e.DataRow(nm)= dr(nm)
            Next
        e.DataRow("是否签订采购合同") = True
        End If
    End If
End If



 回到顶部