⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feenumeration.frm

📁 适合乡镇供电所使用电费处理系统v3 软件
💻 FRM
📖 第 1 页 / 共 3 页
字号:
                                            ' 再判断是否有退补
                                             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 + -