If Tables("月缴费表").Current.Isnull("姓名") = False Then
If Tables("月缴费表").Current("电表状态") = 0 Then
Dim d As Date = Tables("月缴费表").Current("日期")
Dim r As Row = Tables("月缴费表").Current
Dim Filter As String
Filter = "日期 < '" & d & "' and 姓名 = '" & r("姓名") & "'"
Dim dr As DataRow = DataTables("月缴费表").find(Filter,"日期 desc")
If dr IsNot Nothing Then
r("电费_期初") = dr("电费_期末")
r("姓名") = dr("姓名")
End If
ElseIf Tables("月缴费表").Current("电表状态") = 1 Then
Tables("月缴费表").Current("电费_期初") = Nothing
End If
End If
老师,我是这样弄得,给 住户表, 月缴费表 都加入一个逻辑字段 电表状态, 0是默认的,代表状态正常,Tables("月缴费表").Current("电表状态"),这个值是是通过录入时,通过录入住户姓名,传过来的。当出现情况时,修改这个字段。为1时,即代表是换了新电表,不默认取值,重新手工填入期初值,完了再修改用户表的 电表状态字段,实现下个月时,再默认的取这个新电表上个月的期末值。现在问题是 红色代码结果是 不管 住户表 用电状态,判断条件不起作用,期初值 都为空了。
老师,这种方法可行吗,请教了。