Foxtable(狐表)用户栏目专家坐堂 → 多组合条件代码简化的问题


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

主题:多组合条件代码简化的问题

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
多组合条件代码简化的问题  发帖心情 Post By:2020/12/21 17:07:00 [只看该作者]

老师,下面代码是8个项目不同组合条件返回值(以下代码还没有循环完全,不同组合的循环),怎么简化相关代码呢??
Select e.DataCol.Name
    Case "客商名称","项目名称","收支项目","流量名称","部门名称","姓名","账户名称","自定义项目名称"
        If e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("流量名称") AndAlso e.DataRow.IsNull("部门名称") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("账户名称") AndAlso e.DataRow.IsNull("自定义项目名称")  Then
            e.DataRow("辅助项目") = Nothing
            
        Else
            Dim lb As String = e.DataRow("客商名称")
            If e.DataRow.IsNull("客商名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]" & "[收支:"  & e.DataRow("收支项目") & "]" & "[账户:" & e.DataRow("账户名称")& "]" & "[部门:" & e.DataRow("部门名称")& "]" & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]" & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"  
            ElseIf e.DataRow.IsNull("项目名称") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称") & "]" & "[收支:"  & e.DataRow("收支项目") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("收支项目") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("流量名称") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("部门名称") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("姓名") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("自定义项目名称") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[收支:" & e.DataRow("收支项目") & "]"
            ElseIf e.DataRow.IsNull("账户名称") Then
               e.DataRow("辅助项目") = "[客商:" & e.DataRow("客商名称")  & "]" & "[项目:" & e.DataRow("项目名称") & "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("项目名称") Then
               e.DataRow("辅助项目") = "[收支:"  & e.DataRow("收支项目") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("收支项目") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("部门名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("账户名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("流量名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("姓名") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[自定义项目:" & e.DataRow("自定义项目名称") 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[收支:" & e.DataRow("收支项目") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("项目名称") Then
               e.DataRow("辅助项目") = "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称")& "]"  & "[收支:" & e.DataRow("收支项目") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("部门名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("账户名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "现金流量:" & e.DataRow("流量名称") & "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("姓名") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[收支:" & e.DataRow("收支项目")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("项目名称") Then
               e.DataRow("辅助项目") = "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("部门名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]" & "[职员:" & e.DataRow("姓名")& "]"  & "[现金流量:" & e.DataRow("流量名称") & "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("账户名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[部门:" & e.DataRow("部门名称")& "]"  & "[职员:" & e.DataRow("姓名")& "]"  & "现金流量:" & e.DataRow("流量名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]" & "[现金流量:" & e.DataRow("流量名称") & "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("部门名称") Then
               e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称") & "]"  & "[账户:" & e.DataRow("账户名称")& "]" & "[现金流量:" & e.DataRow("流量名称") 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("项目名称") Then
               e.DataRow("辅助项目") = "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]" & "[现金流量:" & e.DataRow("流量名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("流量名称") Then
                e.DataRow("辅助项目") = "[账户:" & e.DataRow("账户名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]" & "[项目:" & e.DataRow("项目名称") & "]"
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("流量名称") AndAlso e.DataRow.IsNull("账户名称") Then
                e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称")& "]"  & "[部门:" & e.DataRow("部门名称")& "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("流量名称") AndAlso e.DataRow.IsNull("部门名称") Then
                 e.DataRow("辅助项目") = "[项目:" & e.DataRow("项目名称")& "]"  & "[账户:" & e.DataRow("账户名称")& "]" 
            ElseIf e.DataRow.IsNull("客商名称") AndAlso e.DataRow.IsNull("自定义项目名称") AndAlso e.DataRow.IsNull("收支项目") AndAlso e.DataRow.IsNull("姓名") AndAlso e.DataRow.IsNull("流量名称") AndAlso e.DataRow.IsNull("部门名称") AndAlso e.DataRow.IsNull("项目名称") Then
                 e.DataRow("辅助项目") = "[账户:" & e.DataRow("账户名称")& "]" 
            End If
        End If
End Select

[此贴子已经被作者于2020/12/21 17:08:05编辑过]

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


加好友 发短信
等级:超级版主 帖子:106464 积分:541467 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/21 17:29:00 [只看该作者]

dim s1() as string = {"客商名称","项目名称"}
dim s2() as string = {"客商","项目"}

dim str as string
for i as integer = 0 to s1.length - 1
if e.DataRow.IsNull(s1(i)) = false then
str = str  & "[" & d2(i) & ":" & e.DataRow(s1(i)) & "]"
end if
next
msgbox(str)
e.DataRow("辅助项目")  = str

 回到顶部