📄 printfeelist.frm
字号:
Dim zong_user As Long
Dim users As Long
Dim total_page As Integer
On Error GoTo hander
If Option1 Then
Call StintCellMode
Else
dian_fei = 0#
dian_liang = 0
count_user = 0
zong_user = 0
users = 0
Screen.MousePointer = 11
head_title = pbDw & XzName & XcName & "电费公布栏(" & GzNian & " 年" & GzYue & "月份)"
total_page = (MdbR.RecordCount + 28) / 28
Call printer_init
Call printer_string(0, 0, Space(32) & head_title)
Printer.Print Space(8) & "单位:" & XcName, Space(5) & "日期:" & Format(Date, "long date"), Space(5) & "单位:KWH/元" & Space(10) & "共" & IIf(total_page = 0, total_page + 1, total_page) & "页"
Printer.Print " ┌───┬────────┬────┬────┬──┬──┬──┬────┬───┬────┬────┐"
Printer.Print " │编 码│ 用 户 名 称 │本期示数│上期示数│表损│退补│倍率│合计电量│电 价 │退补金额│合计金额│"
Printer.Print " ├───┼────────┼────┼────┼──┼──┼──┼────┼───┼────┼────┤"
For I = 0 To MdbR.RecordCount - 1
If count_user < 28 Then
With MdbR
Printer.Print " │" & Left(.Fields("用户编码") & Space(12), 4) & " │" & Left(Trim(.Fields("用户名称")) & Space(20), 16 - convert_str(Trim(.Fields("用户名称")))) & "│" & Right(Space(8) & .Fields("本期示数"), 8) & "│" & Right(Space(8) & .Fields("上期示数"), 8) & "│" & Left(.Fields("表损") & Space(6), 4) & "│" & Left(.Fields("调整电量") & Space(8), 4) & "│" & Left(.Fields("倍率") & Space(6), 4) & "│" & Right(Space(10) & .Fields("合计电量"), 8) & "│" & Left(Format(.Fields("电价"), "0.000") & Space(8), 6) & "│" & Right(Space(10) & Format(.Fields("调整金额"), "0.00"), 8) & "│" & Right(Space(10) & Format(.Fields("合计电费"), "0.00"), 8) & "│"
Printer.Print " ├───┼────────┼────┼────┼──┼──┼──┼────┼───┼────┼────┤"
dian_liang = dian_liang + CLng(.Fields("合计电量"))
dian_fei = dian_fei + CDbl(.Fields("合计电费") & 0)
count_user = count_user + 1
End With
Else
With MdbR
Printer.Print " │" & Left(.Fields("用户编码") & Space(12), 4) & " │" & Left(Trim(.Fields("用户名称")) & Space(20), 16 - convert_str(Trim(.Fields("用户名称")))) & "│" & Right(Space(8) & .Fields("本期示数"), 8) & "│" & Right(Space(8) & .Fields("上期示数"), 8) & "│" & Left(.Fields("表损") & Space(6), 4) & "│" & Left(.Fields("调整电量") & Space(8), 4) & "│" & Left(.Fields("倍率") & Space(6), 4) & "│" & Right(Space(10) & .Fields("合计电量"), 8) & "│" & Left(Format(.Fields("电价"), "0.000") & Space(8), 6) & "│" & Right(Space(10) & Format(.Fields("调整金额"), "0.00"), 8) & "│" & Right(Space(10) & Format(.Fields("合计电费"), "0.00"), 8) & "│"
Printer.Print " └───┴────────┴────┴────┴──┴──┴──┴────┴───┴────┴────┘"
dian_liang = dian_liang + CLng(.Fields("合计电量"))
dian_fei = dian_fei + CDbl(.Fields("合计电费"))
count_user = count_user + 1
Printer.Print " 本页表数:" & count_user & Space(75) & " 第" & Printer.Page & "页"
Printer.NewPage
count_user = 0
dian_fei = 0#
dian_liang = 0
Call printer_string(0, 0, Space(32) & head_title)
Printer.Print Space(8) & "单位:" & XzName, Space(5) & "日期:" & Format(Date, "long date"), Space(5) & "单位:KWH/元" & Space(10) & "共" & IIf(total_page = 0, total_page + 1, total_page - 1) & "页"
Printer.Print " ┌───┬────────┬────┬────┬──┬──┬──┬────┬───┬────┬────┐"
Printer.Print " │编 码│ 用 户 名 称 │本期示数│上期示数│表损│退补│倍率│合计电量│电 价 │退补金额│合计金额│"
Printer.Print " ├───┼────────┼────┼────┼──┼──┼──┼────┼───┼────┼────┤"
End With
End If
'此处加入换页代码
If Not MdbR.eof Then
MdbR.MoveNext
End If
Next
With MdbR
Printer.Print " │" & Left(.Fields("用户编码") & Space(12), 4) & " │" & Left(Trim(.Fields("用户名称")) & Space(20), 16 - convert_str(Trim(.Fields("用户名称")))) & "│" & Right(Space(8) & .Fields("本期示数"), 8) & "│" & Right(Space(8) & .Fields("上期示数"), 8) & "│" & Left(.Fields("表损") & Space(6), 4) & "│" & Left(.Fields("调整电量") & Space(8), 4) & "│" & Left(.Fields("倍率") & Space(6), 4) & "│" & Right(Space(10) & .Fields("合计电量"), 8) & "│" & Left(Format(.Fields("电价"), "0.000") & Space(8), 6) & "│" & Right(Space(10) & Format(.Fields("调整金额"), "0.00"), 8) & "│" & Right(Space(10) & Format(.Fields("合计电费"), "0.00"), 8) & "│"
Printer.Print " └───┴────────┴────┴────┴──┴──┴──┴────┴───┴────┴────┘"
dian_liang = dian_liang '+ CLng(.Fields("合计电量"))
dian_fei = dian_fei ' + CDbl(.Fields("合计电费"))
count_user = count_user
Printer.Print " 本页表数:" & count_user & Space(75) & " 第" & Printer.Page & "页"
End With
Printer.EndDoc
Screen.MousePointer = 0
MsgBox "电费公布栏打印完毕!", vbInformation
End If
Exit Sub
hander:
If Err.Number = 482 Then
MsgBox "打印机错误!", vbCritical
Screen.MousePointer = 0
Exit Sub
Else
Resume Next
End If
End Sub
'开始无表格输出
Sub StartNoCellPrint()
Dim I As Integer
Dim count_user As String
Dim dian_liang As Long
Dim dian_fei As Double
Dim head_title As String
Dim zong_user As Long
Dim users As Long
Dim total_page As Integer
'─││┆┈┄┆┊┌┐└┘├┤┬┴┼╱╲「」
On Error GoTo hander
If Option1 Then '省纸模式
Call StintNoCellMode
Else
dian_fei = 0#
dian_liang = 0
count_user = 0
zong_user = 0
users = 0
Screen.MousePointer = 11
head_title = pbDw & "电费公布栏(" & GzNian & " 年" & GzYue & "月份)"
With MdbR
total_page = (.RecordCount + 60) / 61
Call printer_init
Call printer_string(0, 0, Space(26) & head_title)
Printer.Print Space(10) & "单位:" & XcName, Space(5) & "日期:" & Format(Date, "long date"), Space(5) & "单位:KWH/元" & Space(20) & "共" & IIf(total_page - 1 = 0, 1, total_page - 1) & "页"
Printer.Print " ────────────────────────────────────────────────────────"
Printer.CurrentX = 0
Printer.Print " 编码 用户名称 本月示数 上月示数 表损 加减 倍率 计费电量 电 价 应收金额 实收金额 剩 余"
For I = 0 To .RecordCount - 1
Printer.Print Space(5) & Left(.Fields("用户编码") & Space(12), 4) & " " & Left(Trim(.Fields("用户名称")) & Space(20), 16 - convert_str(Trim(.Fields("用户名称")))) & Right(Space(8) & .Fields("本期示数"), 8) & " " & Right(Space(8) & .Fields("上期示数"), 8) & " " & Left(.Fields("表损") & Space(8), 4) & " " & Left(.Fields("调整电量") & Space(8), 4) & " " & Left(.Fields("倍率") & Space(6), 4) & Right(Space(10) & .Fields("合计电量"), 8) & " " & Left(Format(.Fields("电价"), "0.000") & Space(8), 6) & Right(Space(10) & Format(.Fields("合计电费"), "0.00"), 8) & " " & Right(Space(10) & Format(.Fields("合计电费"), "0.0"), 8) & " " & IIf(Val(Right(Format(.Fields("合计电费"), "0.00"), 1)) > 4, "+" & Format(Format(.Fields("合计电费"), "0.0") - .Fields("合计电费"), "0.00"), Format(Val(Format(.Fields("合计电费"), "0.0")) - .Fields("合计电费"), "0.00"))
dian_liang = dian_liang + CLng(.Fields("合计电量"))
dian_fei = dian_fei + CDbl(.Fields("合计电费"))
count_user = count_user + 1
If Not .eof Then
.MoveNext
End If
If count_user > 59 Then
Printer.Print " ────────────────────────────────────────────────────────"
Printer.Print " 本页表数:" & count_user & Space(65) & " 第" & Printer.Page & "页"
Printer.NewPage
dian_fei = 0#
dian_liang = 0
count_user = 0
Call printer_string(0, 0, Space(26) & head_title)
Printer.Print Space(10) & "单位:" & XcName, Space(5) & "日期:" & Format(Date, "long date"), Space(5) & "单位:KWH/元" & Space(10) & "共" & total_page - 1 & "页"
Printer.Print " ────────────────────────────────────────────────────────"
Printer.CurrentX = 0
Printer.Print " 编码 用户名称 本月示数 上月示数 表损 加减 倍率 计费电量 电 价 应收金额 实收金额 剩 余"
End If
Next
Printer.Print " ────────────────────────────────────────────────────────"
Printer.Print " 本页表数:" & count_user & Space(65) & " 第" & Printer.Page & "页"
End With
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.电价类别," _
& "Sum(" & CC & ") AS 本月电量," _
& "Sum(" & DD & ") AS 总电量," _
& "Sum(" & GG & ") AS 本月电费," _
& "Sum(" & HH & ") AS 总电费," _
& "COUNT(*) AS 用户数 From 用户电费 " _
& "Where 用户电费.镇村代码 ='" & UserSeek & "'and 多价表=false " _
& "GROUP BY 用户电费.电价类别")
If MdbR.RecordCount <> 0 Then
MdbR.MoveLast
MdbR.MoveFirst
Dim EleList As String
EleList = ""
For I = 1 To MdbR.RecordCount
EleList = EleList & Trim(Str(I)) & "." & MdbR.Fields(0) & ":" & MdbR.Fields(2) & "kWH " & Format(MdbR.Fields(4), "0.00") & "元" & "*"
MdbR.MoveNext
Next
End If
Printer.Print Space(5) & "电价分类:" & EleList
Printer.EndDoc
Screen.MousePointer = 0
MsgBox "电费公布栏打印结束!", vbInformation
End If
Exit Sub
hander:
If Err.Number = 482 Then
MsgBox "未安装打印机或打印机错误!", vbCritical
Screen.MousePointer = 0
Exit Sub
Else
Resume Next
End If
End Sub
Private Sub Toolbar4_ButtonClick(ByVal Button As MSComctlLib.Button)
rptProductPriceList.Show vbModal
End Sub
Sub OutText(ByVal Tp As Integer)
On Error GoTo IsamErr
If Tp = 1 Then
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区 INTO [Text;DATABASE=C:\My Documents\].[" & FileTxt & "]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.用户编码 >='" & Trim(Text1) & "' and 用户电费.用户编码 <='" & Trim(Text2) & "' and 用户电费.[" & AA & "] <>'' order by 用户电费.组合编码 asc"
Else
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区 INTO INTO [Text;DATABASE=C:\My Documents\].[" & FileTxt & "]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.[" & AA & "] <>'' order by 用户电费.组合编码 asc"
End If
Exit Sub
IsamErr:
If Err.Number = 3170 Then
MsgBox "软件驱动ISAM未安装或文件破坏!", vbInformation
Exit Sub
Else
MsgBox Err.Description, vbCritical
Exit Sub
End If
End Sub
Sub OutExcel(ByVal Tp As Integer)
On Error GoTo IsamErr
If Tp = 1 Then
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额,用户电费.[" & GG & "] AS 本次电费," _
& " 用户电费.[" & HH & "] AS 合计电费 INTO [Excel 8.0;DATABASE=C:\My Documents\" & FileExcel & "].[用户电费]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "'and 用户电费.用户编码 >='" & Trim(Text1) & "' and 用户电费.用户编码 <='" & Trim(Text2) & "' and 用户电费.[" & AA & "] <>''order by 用户电费.组合编码 asc"
Else
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & GG & "] AS 本次电费, " _
& "用户电费.[" & HH & "] AS 合计电费 INTO [Excel 8.0;DATABASE=C:\My Documents\" & FileExcel & "].[用户电费]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.[" & AA & "] <>''order by 用户电费.组合编码 asc"
End If
Exit Sub
IsamErr:
If Err.Number = 3170 Then
MsgBox "软件驱动ISAM未安装或文件破坏!", vbInformation
Exit Sub
Else
MsgBox Err.Description, vbCritical
Exit Sub
End If
End Sub
Sub OutHtml(ByVal Tp As Integer)
On Error GoTo IsamErr
If Tp = 1 Then
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区 INTO [HTML Export;DATABASE=C:\My Documents\].[" & FileHtml & "]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "'and 用户电费.用户编码 >='" & Trim(Text1) & "' and 用户电费.用户编码 <='" & Trim(Text2) & "' and 用户电费.[" & AA & "] <>'' order by 用户电费.用户编码 asc"
Else
NdMd.Execute "SELECT 用户电费.用户编码," _
& "用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区 INTO [HTML Export;DATABASE=C:\My Documents\].[" & FileHtml & "]" _
& "FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "'and 用户电费.[" & AA & "] <>'' order by 用户电费.用户编码 asc"
End If
Exit Sub
IsamErr:
If Err.Number = 3170 Then
MsgBox "软件驱动ISAM未安装或文件破坏!", vbInformation
Exit Sub
Else
MsgBox Err.Description, vbCritical
Exit Sub
End If
End Sub
Sub PriType(ByVal Tp As Integer)
If Tp = 1 Then
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.用户编码,用户电费.抄表码,用户电费.辅助号," _
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -