以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请求帮助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145077)

--  作者:nxqtxwz
--  发布时间:2020/1/7 17:23:00
--  请求帮助

老师好,想在黑色字体的代码中间加个判断,判断有点乱,不会弄了,请帮忙改一改,谢谢。

 

Dim dr As DataRow = e.DataRow

If e.DataCol.Name = "天数" Then     \'地点是列名

    Dim Filter As String

    Filter = "出差地点 = \'" & dr("出差地点") & "\'"

    dr = DataTables("出差标准").Find(Filter)

    If dr IsNot Nothing Then \'如果找到

        \'在找到行的四个列中输入数据

        If Tables("出差记录").Current("天数") > 0.5  Then

            e.DataRow("城市间交通费")= dr("城市间交通费")

            e.DataRow("市内交通费") = dr("市内交通费")

            e.DataRow("注意事项") = dr("注意事项")

              

              If    Tables("出差记录").Current("出差地点") = ‘’小坝城区‘’  Then                \'如果在小坝城区出差,做个判断,在其它地方出差正常。

                     if     DataTables("职工信息总表").Find("小坝住房 = flase and 姓名 in (\'" & Tables("出差记录").Current("出差人").replace("、","\',\'") & "\')")  then

                            e.DataRow("伙食费") = dr("伙食补助")               ’这个代码的意思是想:如果在小坝出差,就到另一个表中判断出差的这个人,是否在小坝有住房

                     Else  

                            Tables("出差记录").Current("住宿费") = "无住宿费"

                     End if

              Else

                    e.DataRow("伙食费") = dr("伙食补助")

              end if

 

 

        Else

            e.DataRow("城市间交通费")= dr("城市间交通费")

            e.DataRow("市内交通费") = dr("市内交通费")

            Tables("出差记录").Current("伙食费") = "无伙食补助"

            \'e.DataRow("伙食费") = dr("伙食补助")

            Tables("出差记录").Current("住宿费") = "无住宿费"

            \' e.DataRow("住宿费") = dr("住宿补助")

            e.DataRow("注意事项") = dr("注意事项")

        End If

       

    Else

        \'否则清除区号和邮编两列的内容

        e.DataRow("城市间交通费") = Nothing

        e.DataRow("市内交通费") = Nothing

        e.DataRow("伙食费") = Nothing

        e.DataRow("住宿费") = Nothing

        e.DataRow("注意事项") = Nothing

    End If

End If


--  作者:有点蓝
--  发布时间:2020/1/7 17:45:00
--  
代码是写在哪个表的?

              If    Tables("出差记录").Current("出差地点") = ‘’小坝城区‘’  Then                \'如果在小坝城区出差,做个判断,在其它地方出差正常。

                    dim dr2 as datarow =    DataTables("职工信息总表").Find("小坝住房 = flase and 姓名 in (\'" & Tables("出差记录").Current("出差人").replace("、","\',\'") & "\')") 

if dr2 isnot nothing

                            e.DataRow("伙食费") = dr2 ("伙食补助")               ’这个代码的意思是想:如果在小坝出差,就到另一个表中判断出差的这个人,是否在小坝有住房

                     End if

              Else

                    e.DataRow("伙食费") = dr("伙食补助")

              end if


--  作者:nxqtxwz
--  发布时间:2020/1/8 7:39:00
--  
老师,写在出差记录表的DataColChanged表中
[此贴子已经被作者于2020/1/8 8:21:36编辑过]

--  作者:有点蓝
--  发布时间:2020/1/8 8:46:00
--  
\'\'\'
Dim dr As DataRow = e.DataRow
If e.DataCol.Name = "天数" Then     \'地点是列名
    Dim Filter As String
    Filter = "出差地点 = \'" & dr("出差地点") & "\'"
    dr = DataTables("出差标准").Find(Filter)
    If dr IsNot Nothing Then \'如果找到
        \'在找到行的四个列中输入数据
        If e.DataRow("天数") > 0.5  Then
            e.DataRow("城市间交通费")= dr("城市间交通费")
            e.DataRow("市内交通费") = dr("市内交通费")
            e.DataRow("注意事项") = dr("注意事项")
            If    e.DataRow("出差地点") = "小坝城区"  Then                \'如果在小坝城区出差,做个判断,在其它地方出差正常
                Dim dr2 As DataRow = DataTables("职工信息总表").Find("小坝住房 = flase and 姓名 in (\'" & e.DataRow("出差人").replace("、","\',\'") & "\')")
                If dr2 IsNot Nothing
                    e.DataRow("伙食费") = dr2 ("伙食补助")               \'这个代码的意思是想:如果在小坝出差,就到另一个表中判断出差的这个人,是否在小坝有住房
                End If
            Else
                e.DataRow("住宿费") = "无住宿费"
            End If
        Else
            e.DataRow("伙食费") = dr("伙食补助")
        End If
    Else
        e.DataRow("城市间交通费")= dr("城市间交通费")
        e.DataRow("市内交通费") = dr("市内交通费")
        e.DataRow("伙食费") = "无伙食补助"
        \'e.DataRow("伙食费") = dr("伙食补助")
        e.DataRow("住宿费") = "无住宿费"
        \' e.DataRow("住宿费") = dr("住宿补助")
        e.DataRow("注意事项") = dr("注意事项")
    End If
Else
    \'否则清除区号和邮编两列的内容
    e.DataRow("城市间交通费") = Nothing
    e.DataRow("市内交通费") = Nothing
    e.DataRow("伙食费") = Nothing
    e.DataRow("住宿费") = Nothing
    e.DataRow("注意事项") = Nothing
End If