编码计算环比

假定有下图所示的一个表,希望输入数量后,能自动计算出环比:

要实现此目的,可以将DataColChanged事件代码设置为:

Select e.DataCol.Name
    Case
"数量","日期"
        Dim
dr1 As DataRow = e.DataRow '本日期的行
        Dim
dr2 As DataRow = e.DataTable.Find("日期 < #" & e.DataRow("日期") & "#","日期 Desc") '前一日期的行
        Dim
dr3 As DataRow = e.DataTable.Find("日期 > #" & e.DataRow("日期") & "#","日期") '下一日期的行
        If
dr2 Is Nothing Then
            dr1
("环比") = 0
        ElseIf
dr2("数量") > 0
           
dr1("环比") = (dr1("数量") - dr2("数量")) / dr2("数量")
        Else

            dr1
("环比") = Nothing
        End If
        If
dr3 IsNot Nothing
            If
dr1("数量") > 0 Then
                dr3
("环比") = (dr3("数量") - dr1("数量")) / dr1("数量")
            Else

                dr3
("环比") = Nothing
            End If
        End If
End Select

通过这个例子,我们可以更加灵活地掌握Find的用法。


本页地址:http://www.foxtable.com/webhelp/topics/2482.htm