📄 dydianfei.frm
字号:
Width = 630
End
End
Attribute VB_Name = "DyDianfei"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim NewTable As TableDef
Dim DfRec As Recordset, Nan2Rec As Recordset
Dim FileFormat As Integer
Dim BiaoZhi As Integer
Dim FileTxt As String, FileExcel As String, FileHtml As String, FileDfList As String
Private cn As New ADODB.Connection
Private rs As New ADODB.Recordset
Dim dianliang As Long
Dim dianfei As Currency
Dim shishou As Currency
Dim yingshou As Currency
Private Sub Form_Load()
Dim hs As String, dl As String, df As String
Dim tempLin As Long
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
FWCheck1.Value = False
OpenMdb
DoEvents
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.镇村代码,sum(" & BBB & ") AS 上期电量,sum(" & CCC & ") AS 上期电费,sum(" & CC & ") AS 本月电量,sum(" & DD & ") AS 总电量,sum(" & GG & ") AS 本月电费,sum(" & HH & ") AS 总电费,COUNT(*) AS 用户数 From 用户电费 where 用户电费.镇村代码 ='" & UserSeek & "' GROUP BY 用户电费.镇村代码")
With MdbR
If MdbR.RecordCount = 0 Then
MsgBox "无用户档案,请建立!", vbInformation
Unload Me
Exit Sub
End If
Label14 = .Fields!用户数 '总表数
tempLin = .Fields!用户数
Label15 = .Fields!本月电量
Label16 = Format(.Fields!本月电费, "0.00")
Label18 = .Fields!上期电量
Label19 = Format(.Fields!上期电费, "0.00")
Label21 = .Fields!总电量
Label22 = Format(.Fields!总电费, "0.00")
End With
Set MdbR = NdMd.OpenRecordset("SELECT * From 用户电费 where 用户电费.镇村代码 ='" & UserSeek & "' and 用户电费.[" & CC & "]<>0")
Label17 = MdbR.RecordCount '未用数
Label20 = tempLin - MdbR.RecordCount '用电数
MdbR.Close
Set MdbR = NdMd.OpenRecordset("SELECT 用户电费.用户编码,用户电费.全称,用户电费.[" & AAA & "] AS 上期示数, 用户电费.[" & AA & "] AS 本期示数,用户电费.倍率,用户电费.[" & BB & "] AS 调整电量,用户电费.[" & CC & "] AS 本次电量, 用户电费.[" & DD & "] AS 合计电量,用户电费.电价,用户电费.[" & EE & "] AS 调整金额, 用户电费.[" & FF & "] AS 滞纳金, 用户电费.[" & GG & "] AS 本次电费, 用户电费.[" & HH & "] AS 合计电费,用户电费.[" & II & "] AS 代扣信息,用户电费.[" & JJ & "] AS 发票打印,用户电费.[" & KK & "] AS 交费情况,用户电费.组合编码 From 用户电费 WHERE 用户电费.镇村代码='" & UserSeek & "' order by 用户电费.组合编码 asc")
Me.Caption = "打印电费清单"
Screen.MousePointer = 0
On Error Resume Next
FileFormat = GetSetting(App.EXEName, "PrintSetup", "Filemat", "")
FileTxt = XzName & XcName & Year(Date) & Format(Month(Date), "00") & "电费公布表.doc"
FileExcel = XzName & XcName & Year(Date) & Format(Month(Date), "00") & "电费公布表.xls"
FileHtml = XzName & XcName & Year(Date) & Format(Month(Date), "00") & "电费公布表.html"
ProgressBar1.Visible = False
Label13.Visible = False
End Sub
Private Sub Text1_Change()
Call CheckIsNumber(Text1)
End Sub
Private Sub Text2_Change()
Call CheckIsNumber(Text1)
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim CC As String
CC = "shengcheng.dbf"
If FWCheck1 = 1 Then
Call DaYin
'Call StartCellPrint
Else
'Call PrinToFile
Call StartNoCellPrint
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
While Not DfRec.eof
m = m + 1
' If m = 75 Then Stop
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
DfRec.MoveNext
Wend
End If
End Sub
'开始有表格打印
Sub StartCellPrint()
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
Label13.Visible = True
Label13.Caption = "正在生成为文件......."
ProgressBar1.Visible = True
ProgressBar1.Max = 2
ProgressBar1.Min = 1
ProgressBar1.Value = 1
Call FileShenChen(37)
ProgressBar1.Value = ProgressBar1.Value + 1
If BiaoZhi = 1 Then
ProgressBar1.Visible = False
Label13.Visible = False
Exit Sub
End If
ProgressBar1.Visible = False
Label13.Caption = "文件生成,正在打印"
MdbR.Close
Set MdbR = NdMd.OpenRecordset("select * from 电费公布库 order by 编号")
If MdbR.RecordCount <> 0 Then
MdbR.MoveFirst
Else
Exit Sub
End If
Printer.Font.Bold = True
Printer.Font.Name = "楷体_GB2312"
Printer.Font.Size = 20
head_title = pbDw & XzName & XcName & "电费公布栏(" & GzNian & " 年" & GzYue & "月份)"
total_page = (MdbR.RecordCount + 36) \ 37
Call printer_init
Call printer_string(0, 0, Space(23) & head_title)
Printer.Font.Size = 9
'─││┆┈┄┆┊┌┐└┘├ ┤┬ ┴ ┼╱╲「」╥ ║╧ ╫ ╨
Printer.Print Space(5) & "填制单位:" & 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
Call printer_string(0, 0, Space(23) & head_title)
Printer.Print Space(5) & "填制单位:" & XcName, Space(10) & "制表日期" & Format(Date, "long date"), Space(15) & "单位:KWH/元"
Printer.Print "┌───┬─────┬────┬────┬────┬────┬───┬─────┬────┬────┬────┬────┐"
Printer.Print "│编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │编 号│ 户 名 │本月电量│ 电 费 │ 应 收 │ 实 收 │"
Printer.Print "├───┼─────┼────┼────┼────┼────┼───┼─────┼────┼────┼────┼────┤"
End If
End With
End If
If Not MdbR.eof Then
MdbR.MoveNext
End If
Next
Printer.EndDoc
Screen.MousePointer = 0
MsgBox "打印完毕!", vbInformation
Label13.Visible = False
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
Dim mydb As New ADODB.Connection
Label13.Visible = True
Label13.Caption = "正在生成为文件......."
ProgressBar1.Visible = True
ProgressBar1.Max = 2
ProgressBar1.Min = 1
ProgressBar1.Value = 1
Call FileShenChen(60)
ProgressBar1.Value = ProgressBar1.Value + 1
If BiaoZhi = 1 Then
ProgressBar1.Visible = False
Label13.Visible = False
Exit Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -