📄 feenumeration.frm
字号:
' 再判断是否有退补
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!比率1电量 = (.Fields!调整电量 + .Fields!表损) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率1
.Fields!比率2电量 = (.Fields!调整电量 + .Fields!表损) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率2
.Fields!本次电量 = .Fields!比率1电量 + .Fields!比率2电量
.Fields!合计电量 = .Fields!本次电量
.Fields!比率1电费 = .Fields!比率1电量 * .Fields!比率1电价
.Fields!比率2电费 = .Fields!比率2电量 * .Fields!比率2电价
.Fields!本次电费 = .Fields!比率1电费 + .Fields!比率2电费
.Fields!合计电费 = .Fields!本次电费 + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
Else '本期为空则看有没有退补
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!比率1电量 = (.Fields!调整电量 + .Fields!表损) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率1
.Fields!比率2电量 = (.Fields!调整电量 + .Fields!表损) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率2
.Fields!本次电量 = .Fields!比率1电量 + .Fields!比率2电量
.Fields!合计电量 = .Fields!本次电量
.Fields!比率1电费 = .Fields!比率1电量 * .Fields!比率1电价
.Fields!比率2电费 = .Fields!比率2电量 * .Fields!比率2电价
.Fields!本次电费 = .Fields!比率1电费 + .Fields!比率2电费
.Fields!合计电费 = .Fields!本次电费 + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
End If
End If
Else '不为多价表
If .Fields!调整原因 = "翻转" Then
Bws = Len(Trim(Str(Val(.Fields!上期示数))))
Select Case Bws
Case 3
FzDs = (1000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 4
FzDs = (10000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 5
FzDs = (100000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 6
FzDs = (1000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 7
FzDs = (10000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
End Select
.Edit
.Fields!本次电量 = (FzDs * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + IIf(IsNull(.Fields!表损) = True, 0, .Fields!表损)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
Else
If Val(IIf(IsNull(.Fields!本期示数) = True, 0, .Fields!本期示数)) <> 0 Then
If Val(IIf(IsNull(.Fields!本期示数) = True, 0, .Fields!本期示数)) <> Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数)) Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
Else
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
End If
End If
End If
End Select
Label1.Caption = .Fields!组合编码 & ""
Label2.Caption = .Fields!用户编码 & ""
Label3.Caption = .Fields!用户名称 & ""
Label4.Caption = .Fields!上期示数 & ""
Label5.Caption = .Fields!本期示数 & ""
.Edit
.Fields!计算 = True
.Update
.MoveNext
End With
Next
'写入主表
If sxMeter = True Then
Set JsRecord = NdMd.OpenRecordset("SELECT 用户电费.多表序号,用户电费.多价表,用户电费.用户类型,用户电费.镇村代码,用户电费.用户编码,用户电费.用户名称,用户电费.调整原因,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数,用户电费.表损, 用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量,用户电费.旧表电量,用户电费.电价,用户电费.电建,用户电费.三峡,用户电费.[" & DDD & "] AS 上期余额, 用户电费.[" & EE & "] AS 本期余额,用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费,用户电费.[" & JJ & "] AS 发票打印,用户电费.[" & KK & "] AS 交费情况,用户电费.组合编码,用户电费.比率1,用户电费.比率2,用户电费.比率1电价,用户电费.比率2电价,用户电费.比率1电量,用户电费.比率2电量,用户电费.比率1电费,用户电费.比率2电费 " _
& " From 用户电费 WHERE 用户电费.组合编码='" & MdbR.Fields!组合编码 & "'and 用户电费.相数标识='A' order by 用户电费.多表序号 asc")
With JsRecord
.MoveNext
.MoveFirst
If .Fields!多价表 Then
If .Fields!调整原因 = "翻转" Then
Bws = Len(Trim(Str(Val(.Fields!上期示数)))) '????若为null
Select Case Bws
Case 3
FzDs = (1000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 4
FzDs = (10000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 5
FzDs = (100000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 6
FzDs = (1000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 7
FzDs = (10000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
End Select
.Edit
.Fields!比率1电量 = (FzDs * IIf(.Fields!倍率 = 0, 3, .Fields!倍率) + .Fields!表损 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) * .Fields!比率1
.Fields!比率2电量 = (FzDs * IIf(.Fields!倍率 = 0, 3, .Fields!倍率) + .Fields!表损 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) * .Fields!比率2
.Fields!本次电量 = .Fields!比率1电量 + .Fields!比率2电量
.Fields!合计电量 = .Fields!本次电量
.Fields!比率1电费 = .Fields!比率1电量 * .Fields!比率1电价
.Fields!比率2电费 = .Fields!比率2电量 * .Fields!比率2电价
.Fields!本次电费 = .Fields!比率1电费 + .Fields!比率2电费
.Fields!合计电费 = .Fields!本次电费 + .Fields!上期余额
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
Else '不翻转
.Edit
.Fields!比率1电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) + .Fields!表损 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率1
.Fields!比率2电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) + .Fields!表损 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率) * .Fields!比率2
.Fields!本次电量 = .Fields!比率1电量 + .Fields!比率2电量
.Fields!合计电量 = .Fields!本次电量 '+ IIf(IsNull(.Fields!旧表电量) = True, 0, .Fields!旧表电量)
.Fields!比率1电费 = .Fields!比率1电量 * .Fields!比率1电价
.Fields!比率2电费 = .Fields!比率2电量 * .Fields!比率2电价
.Fields!本次电费 = .Fields!比率1电费 + .Fields!比率2电费
.Fields!合计电费 = .Fields!本次电费 + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
Else '正常
If .Fields!调整原因 = "翻转" Then
Bws = Len(Trim(Str(Val(.Fields!上期示数))))
Select Case Bws
Case 3
FzDs = (1000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 4
FzDs = (10000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 5
FzDs = (100000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 6
FzDs = (1000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
Case 7
FzDs = (10000000 + Val(.Fields!本期示数)) - Val(.Fields!上期示数)
End Select
.Edit
.Fields!本次电量 = (FzDs * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + IIf(IsNull(.Fields!表损) = True, 3, .Fields!表损) + IIf(IsNull(.Fields!旧表电量) = True, 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 '+ IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
Else
If Val(IIf(IsNull(.Fields!本期示数) = True, 0, .Fields!本期示数)) <> 0 Then
If Val(IIf(IsNull(.Fields!本期示数) = True, 0, .Fields!本期示数)) <> Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数)) Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 ' + IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 ' + IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
Else
If Val(IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量)) > 0 Then
.Edit
.Fields!本次电量 = ((IIf(IsNull(.Fields!本期示数) = True, Val(.Fields!上期示数 & ""), Val(.Fields!本期示数 & "")) - Val(IIf(IsNull(.Fields!上期示数) = True, 0, .Fields!上期示数) & "")) * IIf(.Fields!倍率 = 0, 1, .Fields!倍率))
.Fields!合计电量 = .Fields!本次电量 + IIf(IsNull(.Fields!调整电量) = True, 0, .Fields!调整电量) + .Fields!表损 + IIf(IsNull(.Fields!旧表电量), 0, .Fields!旧表电量)
.Fields!本次电费 = .Fields!本次电量 * .Fields!电价
.Fields!合计电费 = (.Fields!合计电量 * .Fields!电价) + .Fields!上期余额 ' + IIf(IsNull(.Fields!滞纳金) = True, 0, .Fields!滞纳金)
.Fields!本期余额 = BSYE(.Fields!合计电费)
.Update
End If
End If
End If
End If
End With
sxMeter = False
End If
.MoveNext
PrBar1.Value = i
DoEvents
Next
End With
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -