📄 frmfee.frm
字号:
FixedCols = 0
WordWrap = -1 'True
AllowUserResizing= 3
Appearance = 0
FormatString = "用户号|用户名|用户地址|上次抄表时间|上次表读数|本次抄表时间|本次表读数|电量|电费"
End
Begin VB.Label lblTitle
Alignment = 2 'Center
Caption = "Label2"
BeginProperty Font
Name = "宋体"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 330
Left = 1200
TabIndex = 10
Top = 2280
Width = 3540
End
End
Attribute VB_Name = "frmfee"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim sPrecinct() As String
Dim sUserNumber() As String
Dim P As Object
Dim print_H As Integer
Dim print_W As Integer
Private Sub Command1_Click(Index As Integer)
On Error Resume Next
Dim MYSET As New ADODB.Recordset
Dim MyFeeset As New ADODB.Recordset
Dim MyFeeSet1 As New ADODB.Recordset
Dim strsql As String
Dim sStart As Single, dStart As Date
Dim sEnd As Single, dEnd As Date
Dim MyChangeSet As Recordset
Dim sPowerValue As Single, sTotalValue As Single, sTotalFee As Single
Dim dChange As Date, I As Integer, u As Integer, j As Integer
Dim CY As Single, CX As Single
Dim CY1 As Single, CX1 As Single
Dim CY2 As Single, CX2 As Single
Dim CY3 As Single, CX3 As Single
Dim MySet2 As Recordset
Dim sTotalValue_D As Single
Dim sTotalFee_D As Single
Dim sTotalValue_Water As Single
Dim sTotalFee_Water As Single
Dim changestotalfee As Single
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
Select Case Combo1.ListIndex
Case 0
strsql = "select * from user1 "
Case 1
strsql = "select * from fee where fee>=0"
Case 2
strsql = "select * from fee where fee=0"
End Select
Else
Select Case Combo1.ListIndex
Case 0
strsql = "select * from user1 where LOUHAOID='" & cmbElement.Text & "'"
Case 1
strsql = "select * from fee where LOUHAOID='" & cmbElement.Text & "'and fee>=0"
Case 2
strsql = "select * from fee where LOUHAOID='" & cmbElement.Text & "'and fee<0"
End Select
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("watermeter1"), "0.0")
sTotalValue_Water = sTotalValue_Water + .Text
.Col = 11
.Text = Format((MyFeeset("watermeter") + MyFeeset("watermeter1") - MyFeeSet1("watermeter") - MyFeeSet1("watermeter1")) * 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")
Text3.Text = Format(sTotalFee_D, "0.0")
Text4.Text = Format(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
'打印标题
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -