📄 frmfee2.frm
字号:
Select Case Index
Case 0 '确定
lblTitle.Caption = cmbElement.Text & " " & dtpStart.Year & "年" & dtpStart.Month & "月 水电费明细"
With mfgFee
.Clear
.FormatString = "< 楼 号 |<房 主|>电表底数|" & _
">卫水表数|>厨水表底数|"
.Rows = 1
.Cols = 15
If cmbElement.Text = "" Then
strsql = "select * from user1 "
Else
strsql = "select * from user1 where LOUHAOID='" & cmbElement.Text & "'"
End If
strsql = strsql & " order by userid1"
myset.Open strsql, config.cnZdx, adOpenStatic, adLockReadOnly
Do Until myset.EOF
.Rows = .Rows + 1
.row = .Rows - 1
sTotalFee = 0
strsql = "select * from datawork where userid1=" & _
myset("userid1") & _
" and clloyear=" & IIf(dtpStart.Month = 12, dtpStart.Year + 1, dtpStart.Year) & " and cllomonth=" & _
IIf(dtpStart.Month = 12, 1, dtpStart.Month + 1)
MyFeeset.Open strsql, config.cnZdx, adOpenStatic, adLockReadOnly
If MyFeeset.EOF Then
GoTo e:
End If
e: strsql = "select * from datawork where userid1=" & _
myset("userid1") & _
" and clloyear=" & _
dtpStart.Year & _
" and cllomonth=" & dtpStart.Month
MyFeeSet1.Open strsql, config.cnZdx, adOpenStatic, adLockReadOnly
If MyFeeSet1.EOF Then
GoTo G:
End If
G: .Col = 0
.Text = myset("huhao")
.Col = 1
.Text = myset("name")
.Col = 2
.Text = MyFeeSet1("elcmeter")
.Col = 3
.Text = MyFeeset("elcmeter")
.Col = 4
.Text = Format(MyFeeset("elcmeter") - MyFeeSet1("elcmeter"), "0.0")
sTotalValue_D = sTotalValue_D + .Text
.Col = 5
.Text = Format((MyFeeset("elcmeter") - MyFeeSet1("elcmeter")) * myset("elcmeterfee"), "0.00")
sTotalFee_D = sTotalFee_D + VAL(.Text)
sTotalFee = VAL(.Text)
.Col = 6
.Text = MyFeeSet1("watermeter")
.Col = 7
.Text = MyFeeset("watermeter")
.Col = 8
.Text = MyFeeSet1("watermeter1")
.Col = 9
.Text = MyFeeset("watermeter1")
.Col = 10
.Text = Format(MyFeeset("watermeter") + MyFeeset("watermeter1") - MyFeeSet1("watermeter") - MyFeeSet1("watermeter"), "0.0")
sTotalValue_Water = sTotalValue_Water + .Text
.Col = 11
.Text = Format((MyFeeset("watermeter") + MyFeeset("watermeter1") - MyFeeSet1("watermeter") - MyFeeSet1("watermeter")) * myset("watermeterfee"), "0.00")
sTotalFee = sTotalFee + VAL(.Text)
sTotalFee_Water = sTotalFee_Water + VAL(.Text)
.Col = 12
.Text = Format(sTotalFee, "0.00")
.Col = 13
.Text = fillfee1(myset("userid1"))
.Col = 14
.Text = fillfee(myset("userid1"))
MyFeeset.Close
MyFeeSet1.Close
myset.MoveNext
Loop
' For i = 0 To 9
' .ColWidth(i) = 1000
' Next
myset.Close
.Rows = .Rows + 1
.row = .Rows - 1
.Col = 0: .Text = "合计"
.Col = 4: .Text = Format(sTotalValue_D, , "0.0")
.Col = 6: .Text = Format(sTotalFee_D, "0.0")
.Col = 9: .Text = Format(sTotalValue_Water, "0")
.Col = 11: .Text = Format(sTotalFee_Water, "0.0")
.Col = 12: .Text = Format(sTotalFee_D + sTotalFee_Water, "0.0")
Text1.Text = .Rows - 2
Text2.Text = Format(sTotalFee_D + sTotalFee_Water, "0.0")
' .ColWidth(3) = 850
End With
Case 1 '打印
On Error Resume Next
'On Error GoTo ErrHandler
dlgCommonDialog.CancelError = True
dlgCommonDialog.ShowPrinter
If Err.Number = 32755 Then Exit Sub
Printer.ScaleMode = vbMillimeters '设置度量单位为毫米
Printer.ColorMode = vbPRCMColor '设置打印机为单色打印输出
print_H = Printer.Height / 56.7
print_W = Printer.Width / 56.7
' Printer.Orientation = vbPRORPortrait '设置横向打印
' Printer.PrintQuality = vbPRPQHigh '设置打印质量为低分辨率
Printer.DrawWidth = 1
dlgCommonDialog.Copies = 1
' dlgCommonDialog.Min = 1
' dlgCommonDialog.Max = 1
' dlgCommonDialog.FromPage = 1
' dlgCommonDialog.ToPage = 1
'CY = 30
With mfgFee
If MsgBox("打印电费收据请按“是”,打印电费明细请按“否”", vbYesNoCancel) = vbYes Then
.row = 0
For u = 1 To .Rows
For I = 0 To 2
CY = I * 90 - 20
Printer.FontSize = 16
Printer.CurrentX = 50
Printer.CurrentY = 25 + CY
' Printer.Print RTU(0).RTUName & "费用结算单"
Printer.Line (23, 48 + CY)-(160, 80 + CY), 0, B
Printer.Line (23, 56 + CY)-(160, 56 + CY), 0, B
Printer.Line (23, 64 + CY)-(160, 64 + CY), 0, B
Printer.Line (23, 72 + CY)-(160, 72 + CY), 0, B
Printer.Line (40, 48 + CY)-(40, 80 + CY), 0, B
Printer.Line (61, 48 + CY)-(61, 80 + CY), 0, B
Printer.Line (82, 48 + CY)-(82, 72 + CY), 0, B
Printer.Line (103, 48 + CY)-(103, 72 + CY), 0, B
Printer.Line (125, 48 + CY)-(125, 72 + CY), 0, B
Printer.Line (139, 48 + CY)-(139, 72 + CY), 0, B
Printer.FontSize = 12
Printer.CurrentX = 43
Printer.CurrentY = 50 + CY
Printer.Print "上月表底"
Printer.CurrentX = 64
Printer.CurrentY = 50 + CY
Printer.Print "本月表底"
Printer.CurrentX = 85
Printer.CurrentY = 50 + CY
' Printer.Print "倍率"
Printer.Print "换表度差"
Printer.CurrentX = 106
Printer.CurrentY = 50 + CY
Printer.Print "使用量"
Printer.CurrentX = 127
Printer.CurrentY = 50 + CY
Printer.Print "单 价"
Printer.CurrentX = 143
Printer.CurrentY = 50 + CY
Printer.Print "金 额"
.row = .row + 1
.Col = 0
Printer.CurrentX = 28
Printer.CurrentY = 38 + CY
' Printer.Print "户号: " & cboPrecinct.Text & .Text
.Col = 1
Printer.CurrentX = 70
Printer.CurrentY = 38 + CY
Printer.Print "户名: "; .Text
Printer.CurrentX = 125
Printer.CurrentY = 38 + CY
Printer.Print Year(Now) & " 年 " & Month(Now) & " 月"
Printer.CurrentX = 25
Printer.CurrentY = 59 + CY
Printer.Print "电表"
'上月表底
.Col = 4
Printer.CurrentX = 43
Printer.CurrentY = 59 + CY
Printer.Print .Text
'本月表底
.Col = 5
Printer.CurrentX = 63
Printer.CurrentY = 59 + CY
Printer.Print .Text
'换表度差
.Col = 6
Printer.CurrentX = 90
Printer.CurrentY = 59 + CY
Printer.Print .Text
'电量
.Col = 7
Printer.CurrentX = 108
Printer.CurrentY = 59 + CY
Printer.Print .Text
.Col = 8
Printer.CurrentX = 128
Printer.CurrentY = 59 + CY
Printer.Print .Text
.Col = 9
Printer.CurrentX = 143
Printer.CurrentY = 59 + CY
Printer.Print .Text
Printer.CurrentX = 25
Printer.CurrentY = 67 + CY
Printer.Print "水表"
.Col = 10
Printer.CurrentX = 43
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 11
Printer.CurrentX = 63
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 12
Printer.CurrentX = 90
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 13
Printer.CurrentX = 108
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 14
Printer.CurrentX = 128
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 15
Printer.CurrentX = 143
Printer.CurrentY = 67 + CY
Printer.Print .Text
.Col = 16
Printer.CurrentX = 25
Printer.CurrentY = 75 + CY
Printer.Print "合计"
Printer.CurrentX = 48
Printer.CurrentY = 75 + CY
Printer.Print .Text
sTotalFee = .Text
Printer.CurrentX = 70
Printer.CurrentY = 75 + CY
Printer.Print "人民币大写:" & test(CStr(Format(sTotalFee, "#0.00") * 100), 1)
Printer.CurrentX = 23
Printer.CurrentY = 84 + CY
'Printer.Print "收款员:" & GetInitStr$("Setup", "Coll")
Next
Printer.NewPage
If .row = .Rows - 1 Then Exit For
Next
'Next
'打印到文件结尾
Printer.EndDoc
Else
Dim dh As Long, DS As String
'打印标题
Printer.FontSize = 15
Printer.CurrentX = (print_W - TextWidth(Trim(Me.lblTitle.Caption)) / 56.7) / 2 - 30
Printer.CurrentY = 20
dh = 20 + TextHeight(lblTitle.Caption) / 56.7 + 5
Printer.Print lblTitle.Caption
Printer.FontSize = 10
'打印当前日期
DS = "制表日期:" & STR(Year(Now)) & "年" & STR(Month(Now)) & "月" & STR(Day(Now)) & "日"
Printer.CurrentX = print_W - TextWidth(DS) / 56.7 - 40
Printer.CurrentY = dh
Printer.Print DS
dh = dh + TextHeight(DS) / 56.7 + 8
'调用打印表格的子程序,打印表格内容
Printer.DrawStyle = 0
Print_Grid mfgFee, dh
'打印到文件结尾
Printer.EndDoc
End If
End With
Case 2 '退出
Unload Me
Case 3 '预览
Picture1.Cls
Picture1.Visible = True
Picture2.Visible = True
HScroll1.Visible = True
VScroll1.Visible = True
' Picture2.ZOrder 0
' Picture1.ZOrder 0
Picture1.ScaleMode = vbMillimeters
Picture1.Height = 297 * 56.7
Picture1.Width = 210 * 56.7
CY = 30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -