以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154159) |
-- 作者:outcat -- 发布时间:2020/9/6 5:24:00 -- 代码求助 If Tables("月缴费表").Current.Isnull("姓名") = False 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 End If 老师,我这个是一个默认取该表里上个月期末值,作为本月的期初值,但是有特殊情况,电表坏了,换电表的这种情况,那么就不能这样取值了,我现在是能手工修改,但还是变为自动取得值,老师,这个怎么处理呀,能改过来呢,请教老师。
|
-- 作者:有点蓝 -- 发布时间:2020/9/6 20:05:00 -- 什么时候可以这样取值?什么时候不可以?有什么条件可以判断? |
-- 作者:outcat -- 发布时间:2020/9/6 22:16:00 -- 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时,即代表是换了新电表,不默认取值,重新手工填入期初值,完了再修改用户表的 电表状态字段,实现下个月时,再默认的取这个新电表上个月的期末值。现在问题是 红色代码结果是 不管 住户表 用电状态,判断条件不起作用,期初值 都为空了。 老师,这种方法可行吗,请教了。
|
-- 作者:有点蓝 -- 发布时间:2020/9/6 22:22:00 -- 去掉这2句 ElseIf Tables("月缴费表").Current("电表状态") = 1 Then Tables("月缴费表").Current("电费_期初") = Nothing |