📄 printfeelist.frm
字号:
& "用户电费.全称,用户电费.用户名称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.表损,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区,用户电费.辅助号 FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "'and 用户电费.用户编码 >='" & Trim(Text1) & "' and 用户电费.用户编码 <='" & Trim(Text2) & "' and 用户电费.[" & AA & "] <>'' order by 用户电费.用户编码 asc")
Else
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.用户编码,用户电费.抄表码,用户电费.辅助号," _
& "用户电费.全称,用户电费.用户名称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数," _
& "用户电费.倍率,用户电费.表损,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量, " _
& "用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费," _
& "用户电费.台区,用户电费.辅助号 FROM 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.[" & AA & "] <>'' order by 用户电费.抄表码 asc")
End If
End Sub
'生成文件
Sub FileShenChen(HangShu As Integer)
On Error Resume Next
Dim m As Integer
Dim NewKuName As String, KongGe As String
BiaoZhi = 0
If Trim(Text2.Text) <> "" And Trim(Text1.Text) <> "" Then
If Val(Text1.Text) > Val(Text2.Text) Then
MsgBox "终止打印编号小于开始打印编号!"
BiaoZhi = 1
Exit Sub
Else
Text1.Text = Format(Trim(Text1.Text), "0000")
Text2.Text = Format(Trim(Text2.Text), "0000")
End If
Else
If Trim(Text2.Text) <> "" Or Trim(Text1.Text) <> "" Then
MsgBox "指定打印范围时,终止打印编号和开始打印编号都必需有!", vbCritical
BiaoZhi = 1
Exit Sub
End If
End If
' FileDfList = XzName & XcName & Year(Date) & Format(Month(Date), "00") & "电费公布表.xls"
KongGe = " "
NewKuName = "电费公布库"
NdMd.Execute "create table " & NewKuName & " (编号 text(6),户名 Text(10),本月电量 text(6),电费 Text(8),应收 Text(8),实收 Text(8),编号1 text(6),户名1 Text(10),本月电量1 Text(6),电费1 Text(8),应收1 Text(8),实收1 Text(8))"
If Err = 3010 Then
NdMd.Execute "delete from " & NewKuName & ""
NdMd.Execute "create table " & NewKuName & " (编号 text(6),户名 Text(10),本月电量 text(6),电费 Text(8),应收 Text(8),实收 Text(8),编号1 text(6),户名1 Text(10),本月电量1 Text(6),电费1 Text(8),应收1 Text(8),实收1 Text(8))"
End If
Set MdbR = NdMd.OpenRecordset("select * from 电费公布库 order by 编号")
If Trim(Text1.Text) = "" And Trim(Text2.Text) = "" Then
Set DfRec = NdMd.OpenRecordset("select 用户电费.用户编码,用户电费.用户名称,用户电费.[" & DD & "] as 合计电量,用户电费.[" & HH & "] as 合计电费 from 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.[" & CC & "]<>0 order by 用户电费.用户编码 asc")
Else
Set DfRec = NdMd.OpenRecordset("select 用户电费.用户编码,用户电费.用户名称,用户电费.[" & DD & "] as 合计电量,用户电费.[" & HH & "] as 合计电费 from 用户电费 where 用户电费.镇村代码='" & UserSeek & "' and 用户电费.用户编码>='" & Text1.Text & "' and 用户电费.用户编码<='" & Text2.Text & "' and 用户电费.[" & CC & "]<>0 order by 用户电费.用户编码 asc")
End If
m = 0
If DfRec.RecordCount <> 0 Then
DfRec.MoveFirst
dianliang = 0
dianfei = 0
yingshou = 0
shishou = 0
ProgressBar1.Visible = True
ProgressBar1.Max = DfRec.RecordCount
While Not DfRec.eof
m = m + 1
If ((m \ HangShu) Mod 2 = 0 And (m Mod HangShu) <> 0) Or ((m Mod HangShu) = 0 And ((m / HangShu) Mod 2 = 1)) Then
With MdbR
.AddNew
.Fields!编号 = DfRec.Fields!用户编码
.Fields!户名 = DfRec.Fields!用户名称
.Fields!本月电量 = DfRec.Fields!合计电量
dianliang = dianliang + DfRec.Fields!合计电量
.Fields!电费 = Format(CStr(DfRec.Fields!合计电费), "0.00")
dianfei = dianfei + Format(CStr(DfRec.Fields!合计电费), "0.00")
.Fields!应收 = Format(CStr(DfRec.Fields!合计电费), "0.00")
yingshou = yingshou + Format(CStr(DfRec.Fields!合计电费), "0.00")
.Fields!实收 = Format(Format(CStr(DfRec.Fields!合计电费), "0.0"), "0.00")
shishou = shishou + Format(Format(CStr(DfRec.Fields!合计电费), "0.0"), "0.00")
.Fields("编号1") = KongGe
.Fields("户名1") = KongGe
.Update
End With
Else
Set Nan2Rec = NdMd.OpenRecordset("select * from 电费公布库 where 编号1='" & KongGe & "' order by 编号")
If Nan2Rec.RecordCount <> 0 Then
With Nan2Rec
.Edit
.Fields("编号1") = DfRec.Fields!用户编码
.Fields("户名1") = DfRec.Fields!用户名称
.Fields("本月电量1") = DfRec.Fields!合计电量
dianliang = dianliang + DfRec.Fields!合计电量
.Fields!电费1 = Format(CStr(DfRec.Fields!合计电费), "0.00")
dianfei = dianfei + Format(CStr(DfRec.Fields!合计电费), "0.00")
.Fields!应收1 = Format(CStr(DfRec.Fields!合计电费), "0.00")
yingshou = yingshou + Format(CStr(DfRec.Fields!合计电费), "0.00")
.Fields!实收1 = Format(Format(CStr(DfRec.Fields!合计电费), "0.0"), "0.00")
shishou = shishou + Format(Format(CStr(DfRec.Fields!合计电费), "0.0"), "0.00")
.Update
End With
End If
End If
ProgressBar1.Value = m
DfRec.MoveNext
Wend
ProgressBar1.Visible = False
End If
End Sub
'省纸无表格模式
Sub StintNoCellMode()
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
' Dim mydb As New ADODB.Connection
Call FileShenChen(60)
If BiaoZhi = 1 Then
Exit Sub
End If
'─││┆┈┄┆┊┌┐└┘├┤┬┴┼╱╲「」╥ ║╧ ╫ ╨
On Error GoTo hander
MdbR.Close
Set MdbR = NdMd.OpenRecordset("select * from 电费公布库 order by 编号")
If MdbR.RecordCount = 0 Then
Exit Sub
Else
MdbR.MoveFirst
End If
dian_fei = 0#
dian_liang = 0
count_user = 0
zong_user = 0
users = 0
Screen.MousePointer = 11
head_title = pbDw & XcName & "电费公布栏(" & GzNian & " 年" & GzYue & "月份)"
With MdbR
total_page = (.RecordCount + 60) \ 61
Call printer_init
Call printer_string(0, 0, Space(32) & head_title)
Printer.Print Space(8) & "单位:" & XcName, Space(10) & "日期:" & Format(Date, "long date"), Space(15) & "单位:KWH/元"
Printer.Print " ─────────────────────────┬─────────────────────────"
Printer.CurrentX = 0
Printer.Print " 编 号 户 名 本月电量 电 费 应 收 实 收 │编 号 户 名 本月电量 电 费 应 收 实 收"
Printer.Print " ─────────────────────────┼─────────────────────────"
.MoveFirst
For I = 0 To .RecordCount - 1
Printer.Print Space(5) & Left(Trim(.Fields("编号")) & Space(6), 6) & " " & Left(Trim(.Fields("户名")) & Space(10), 10 - convert_str(Trim(.Fields("户名")))) & Right(Space(8) & .Fields("本月电量"), 8) & Right(Space(8) & .Fields("电费"), 8) & Right(Space(8) & .Fields("应收"), 8) & Right(Space(8) & .Fields("实收"), 8) & " │" & Left(Trim(.Fields("编号1")) & Space(6), 6) & " " & Left(Trim(.Fields("户名1")) & Space(10), 10 - convert_str(Trim(.Fields("户名1")))) & Right(Space(8) & .Fields("本月电量1"), 8) & Right(Space(8) & .Fields("电费1"), 8) & Right(Space(8) & .Fields("应收1"), 8) & Right(Space(8) & .Fields("实收1"), 8)
count_user = count_user + 1
If Not .eof Then
.MoveNext
End If
If count_user > 59 Then
Printer.Print " ─────────────────────────┴─────────────────────────"
Printer.Print Space(70) & "共" & total_page & "页" & " 第" & Printer.Page & "页"
Printer.NewPage
count_user = 0
Call printer_string(0, 0, Space(32) & head_title)
Printer.Print Space(8) & "单位:" & XcName, Space(10) & "日期:" & Format(Date, "long date"), Space(15) & "单位:KWH/元"
Printer.Print " ─────────────────────────┬─────────────────────────"
Printer.CurrentX = 0
Printer.Print " 编 号 户 名 本月电量 电 费 应 收 实 收 │编 号 户 名 本月电量 电 费 应 收 实 收"
Printer.Print " ─────────────────────────┼─────────────────────────"
End If
Next
Printer.Print " ─────────────────────────┴─────────────────────────"
Printer.Print Space(45) & "共" & total_page & "页" & " 第" & Printer.Page & "页"
End With
Printer.Print " 该台区小计:" & "共" & Label14.Caption & "只表" & " 计费电量:" & dianliang & "Kwh 电费:" & dianfei & "元 应收:" & yingshou & "元 实收:" & Format(yingshou, "0.0") & "元"
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.电价类别," _
& "Sum(" & CC & ") AS 本月电量," _
& "Sum(" & DD & ") AS 总电量," _
& "Sum(" & GG & ") AS 本月电费," _
& "Sum(" & HH & ") AS 总电费," _
& "COUNT(*) AS 用户数 From 用户电费 " _
& "Where 用户电费.镇村代码 ='" & UserSeek & "' " _
& "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
Exit Sub
hander:
If Err.Number = 482 Then
MsgBox "未安装打印机或打印机错误!", vbCritical
Screen.MousePointer = 0
Exit Sub
Else
Resume Next
End If
End Sub
'省纸有表格模式
Sub StintCellMode()
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
'Dim mydb As New ADODB.Connection
'─││┆┈┄┆┊┌┐└┘├┤┬┴┼╱╲「」|]
'|┴ ┼ ┬ ┤└ ├ ┘ ┌┐│
On Error GoTo hander
dian_fei = 0#
dian_liang = 0
count_user = 0
zong_user = 0
users = 0
Screen.MousePointer = 11
Call FileShenChen(37)
If BiaoZhi = 1 Then
Exit Sub
End If
MdbR.Close
Set MdbR = NdMd.OpenRecordset("select * from 电费公布库 order by 编号")
If MdbR.RecordCount <> 0 Then
MdbR.MoveFirst
Else
Exit Sub
End If
Call Print_CuSiHu
Printer.Font.Size = 16
head_title = pbDw & XzName & XcName & "电费公布栏(" & GzNian & " 年" & GzYue & "月份)"
total_page = (MdbR.RecordCount + 36) \ 37
Call printer_string(0, 0, Space(18) & head_title)
Printer.Font.Size = 9
Printer.Print Space(18) & "单位:" & XcName, Space(10) & "日期:" & Format(Date, "long date"), Space(15) & "单位:KWH/元"
Printer.Print " ┌───┬─────┬────┬────┬────┬────┬───┬─────┬────┬────┬────┬────┐"
Printer.Print " │编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │"
Printer.Print " ├───┼─────┼────┼────┼────┼────┼───┼─────┼────┼────┼────┼────┤"
For I = 0 To MdbR.RecordCount - 1
If count_user < 36 And I <> MdbR.RecordCount - 1 Then
With MdbR
Printer.Print " │" & Left(Trim(.Fields("编号")) & Space(6), 6) & "│" & Left(Trim(.Fields("户名")) & Space(10), 10 - convert_str(Trim(.Fields("户名")))) & "│" & Right(Space(8) & .Fields("本月电量"), 8) & "│" & Right(Space(8) & .Fields("电费"), 8) & "│" & Right(Space(8) & .Fields("应收"), 8) & "│" & Right(Space(8) & .Fields("实收"), 8) & "│" & Left(Trim(.Fields("编号1")) & Space(6), 6) & "│" & Left(Trim(.Fields("户名1")) & Space(10), 10 - convert_str(Trim(.Fields("户名1")))) & "│" & Right(Space(8) & .Fields("本月电量1"), 8) & "│" & Right(Space(8) & .Fields("电费1"), 8) & "│" & Right(Space(8) & .Fields("应收1"), 8) & "│" & Right(Space(8) & .Fields("实收1"), 8) & "│"
Printer.Print " ├───┼─────┼────┼────┼────┼────┼───┼─────┼────┼────┼────┼────┤"
count_user = count_user + 1
End With
Else
With MdbR
Printer.Print " │" & Left(Trim(.Fields("编号")) & Space(6), 6) & "│" & Left(Trim(.Fields("户名")) & Space(10), 10 - convert_str(Trim(.Fields("户名")))) & "│" & Right(Space(8) & .Fields("本月电量"), 8) & "│" & Right(Space(8) & .Fields("电费"), 8) & "│" & Right(Space(8) & .Fields("应收"), 8) & "│" & Right(Space(8) & .Fields("实收"), 8) & "│" & Left(Trim(.Fields("编号1")) & Space(6), 6) & "│" & Left(Trim(.Fields("户名1")) & Space(10), 10 - convert_str(Trim(.Fields("户名1")))) & "│" & Right(Space(8) & .Fields("本月电量1"), 8) & "│" & Right(Space(8) & .Fields("电费1"), 8) & "│" & Right(Space(8) & .Fields("应收1"), 8) & "│" & Right(Space(8) & .Fields("实收1"), 8) & "│"
Printer.Print " └───┴─────┴────┴────┴────┴────┴───┴─────┴────┴────┴────┴────┘"
count_user = count_user + 1
Printer.Print Space(45) & "共" & total_page & "页" & " 第" & Printer.Page & "页"
If I <> .RecordCount - 1 Then
Printer.NewPage
count_user = 0
dian_fei = 0#
dian_liang = 0
Printer.Font.Size = 16
Call printer_string(0, 0, Space(18) & head_title)
Printer.Font.Size = 9
Printer.Print Space(18) & "单位:" & XcName, Space(10) & "日期:" & Format(Date, "long date"), Space(15) & "单位:KWH/元"
Printer.Print " ┌───┬─────┬────┬────┬────┬────┬───┬─────┬────┬────┬────┬────┐"
Printer.Print " │编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -