⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmnoteprint.frm

📁 自来水公司的一个管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
VERSION 5.00
Object = "{F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0"; "MSDATLST.OCX"
Object = "{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0"; "MSMASK32.OCX"
Begin VB.Form frmNotePrint 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "水费发票打印"
   ClientHeight    =   3255
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   7125
   Icon            =   "frmNotePrint.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   MinButton       =   0   'False
   ScaleHeight     =   3255
   ScaleWidth      =   7125
   Begin VB.CommandButton cmdCB 
      Caption         =   "打印"
      Height          =   390
      Left            =   165
      TabIndex        =   6
      Top             =   2715
      Width           =   1095
   End
   Begin VB.Frame Frame1 
      Caption         =   "用户"
      ForeColor       =   &H00800000&
      Height          =   1575
      Left            =   135
      TabIndex        =   15
      Top             =   810
      Width           =   6825
      Begin VB.TextBox txtUName 
         Enabled         =   0   'False
         Height          =   345
         Left            =   3840
         TabIndex        =   16
         Top             =   1050
         Width           =   2865
      End
      Begin VB.TextBox txtUID 
         Enabled         =   0   'False
         Height          =   345
         Left            =   1215
         TabIndex        =   5
         Top             =   1050
         Width           =   1365
      End
      Begin VB.CheckBox chkPQ 
         Height          =   210
         Index           =   0
         Left            =   225
         TabIndex        =   8
         Top             =   735
         Width           =   225
      End
      Begin VB.CheckBox chkPQ 
         Enabled         =   0   'False
         Height          =   210
         Index           =   1
         Left            =   2970
         TabIndex        =   9
         Top             =   735
         Width           =   225
      End
      Begin VB.CheckBox chkUser 
         Height          =   225
         Left            =   225
         TabIndex        =   10
         Top             =   1110
         Width           =   240
      End
      Begin VB.CheckBox chkChargeType 
         Height          =   210
         Left            =   225
         TabIndex        =   7
         Top             =   270
         Width           =   225
      End
      Begin MSDataListLib.DataCombo cboP 
         Height          =   330
         Left            =   1215
         TabIndex        =   3
         Top             =   675
         Width           =   1365
         _ExtentX        =   2408
         _ExtentY        =   582
         _Version        =   393216
         Enabled         =   0   'False
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo cboQ 
         Height          =   330
         Left            =   3840
         TabIndex        =   4
         Top             =   675
         Width           =   1380
         _ExtentX        =   2434
         _ExtentY        =   582
         _Version        =   393216
         Enabled         =   0   'False
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo cboChargeType 
         Height          =   330
         Left            =   1770
         TabIndex        =   2
         Top             =   195
         Width           =   3420
         _ExtentX        =   6033
         _ExtentY        =   582
         _Version        =   393216
         Enabled         =   0   'False
         Style           =   2
         Text            =   ""
      End
      Begin VB.Line Line2 
         BorderColor     =   &H80000005&
         Index           =   0
         X1              =   90
         X2              =   6705
         Y1              =   600
         Y2              =   600
      End
      Begin VB.Line Line2 
         BorderColor     =   &H80000003&
         Index           =   1
         X1              =   90
         X2              =   6705
         Y1              =   585
         Y2              =   585
      End
      Begin VB.Label Label4 
         Caption         =   "用户缴费类型:"
         Height          =   210
         Left            =   495
         TabIndex        =   21
         Top             =   285
         Width           =   1350
      End
      Begin VB.Label lblUserName 
         Caption         =   "用户名:"
         Height          =   195
         Left            =   3090
         TabIndex        =   20
         Top             =   1125
         Width           =   735
      End
      Begin VB.Label lblPID 
         Caption         =   "片区:"
         Height          =   195
         Left            =   495
         TabIndex        =   19
         Top             =   750
         Width           =   555
      End
      Begin VB.Label lblQID 
         Caption         =   "小区:"
         Height          =   195
         Left            =   3255
         TabIndex        =   18
         Top             =   735
         Width           =   555
      End
      Begin VB.Label lblUserID 
         Caption         =   "用户号:"
         Height          =   195
         Left            =   495
         TabIndex        =   17
         Top             =   1140
         Width           =   1470
      End
   End
   Begin VB.Frame Frame2 
      Caption         =   "时段"
      ForeColor       =   &H00800000&
      Height          =   645
      Left            =   150
      TabIndex        =   11
      Top             =   120
      Width           =   6810
      Begin VB.ComboBox cboMonth 
         Height          =   300
         ItemData        =   "frmNotePrint.frx":0442
         Left            =   2820
         List            =   "frmNotePrint.frx":0444
         Style           =   2  'Dropdown List
         TabIndex        =   1
         Top             =   210
         Width           =   990
      End
      Begin MSMask.MaskEdBox txtYear 
         Height          =   300
         Left            =   1635
         TabIndex        =   0
         Top             =   210
         Width           =   885
         _ExtentX        =   1561
         _ExtentY        =   529
         _Version        =   393216
         MaxLength       =   4
         Mask            =   "9999"
         PromptChar      =   " "
      End
      Begin VB.Label Label5 
         Caption         =   "水费时段:"
         Height          =   210
         Left            =   360
         TabIndex        =   14
         Top             =   255
         Width           =   975
      End
      Begin VB.Label Label7 
         Caption         =   "年"
         Height          =   210
         Left            =   2565
         TabIndex        =   13
         Top             =   270
         Width           =   225
      End
      Begin VB.Label Label8 
         Caption         =   "月份"
         Height          =   210
         Left            =   3855
         TabIndex        =   12
         Top             =   285
         Width           =   405
      End
   End
   Begin VB.Line Line1 
      BorderColor     =   &H80000003&
      Index           =   1
      X1              =   90
      X2              =   7035
      Y1              =   2580
      Y2              =   2580
   End
   Begin VB.Line Line1 
      BorderColor     =   &H80000005&
      Index           =   0
      X1              =   90
      X2              =   7020
      Y1              =   2595
      Y2              =   2595
   End
End
Attribute VB_Name = "frmNotePrint"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Public strReturnYear As String              '返回值-用水时段年
Public strReturnMonth As String             '返回值-用水时段月
Public strReturnChargeTypeID As String     '返回值-用户交费类型号
Public strReturnChargeTypeName As String   '返回值-用户交费类型名
Public strReturnPID As String               '返回值-片号
Public strReturnQID As String               '返回值-区号
Public strReturnPName As String             '返回值-片名
Public strReturnQName As String             '返回值-区名
Public strReturnUID As String               '返回值-用户号

Dim adoPRS As ADODB.Recordset
Dim adoQRS As ADODB.Recordset
Dim adoChargeTypeRS As ADODB.Recordset
Dim adoWaterRateRS As ADODB.Recordset       '计费记录集(用户所选择的要打印的用户计费记录)

Dim strCurJFYm As String    '当前要打印发票(已经计过费)的计费年月

Private Sub cboMonth_Change()
    If Val(Me.txtYear.Text) = Year(Date) And Me.cboMonth.ListIndex > Month(Date) - 1 Then
        Warning "月份不能大于当前月份!!!"
        Me.cboMonth.SetFocus
        Exit Sub
    End If
End Sub

Private Sub chkChargeType_Click()
    If Me.chkChargeType.value = 0 Then
        Call ClearChargeType
        Me.cboChargeType.Enabled = False
    Else
        Call FillChargeType
        Me.cboChargeType.Enabled = True
        Me.cboChargeType.SetFocus
        
        Me.chkUser.value = 0
    End If
End Sub

Private Sub cmdCB_Click()
    Dim strSQL As String
    Dim bytReturmFlag As Byte
    Dim strYm As String
    Dim lngNumberOfRecord As Long
    Dim lngCurRecord As Long
    
    '时段
    strReturnYear = Trim(Me.txtYear.Text)
    strReturnMonth = Me.cboMonth.Text
    strYm = strReturnYear & strReturnMonth
    lngNumberOfRecord = gConnect.Execute("select count(*) from WaterRate where Ym='" & strYm & "'").Fields(0).value
    If lngNumberOfRecord = 0 Then
        Warning "该月尚未计费!!!"
        Exit Sub
    End If
    
    '生成查询条件
    strSQL = "select WaterRate.No,WaterRate.Ym,WaterRate.PID,WaterRate.QID,WaterRate.UID,WaterRate.UName,WaterRate.LinkAddr,WaterRate.UTypeID,WaterRate.ChargeTypeID,WaterRate.Price,WaterRate.PmWaterRead,WaterRate.CmWaterRead,WaterRate.WaterRevise,WaterRate.PmOwe,WaterRate.CmOwe,WaterRate.WaterRates,WaterRate.FineRule,WaterRate.Status,WaterRate.IID,WaterRate.CmWaterRead-WaterRate.PmWaterRead+WaterRate.WaterRevise as TmpWaterRevise from WaterRate where WaterRate.Ym='" & strYm & "' and rtrim(WaterRate.IID)='' and WaterRate.WaterRates>0"
    
        '用户
    If Me.chkChargeType.value = 1 And Trim(Me.cboChargeType.Text) <> "" Then
        strReturnChargeTypeID = Me.cboChargeType.BoundText
        strReturnChargeTypeName = Trim(Me.cboChargeType.Text)
        strSQL = strSQL & " and WaterRate.ChargeTypeID='" & strReturnChargeTypeID & "' "
    End If
    If Me.chkPQ(0).value = 1 And Trim(Me.cboP.Text) <> "" Then
        strReturnPID = Me.cboP.BoundText
        strReturnPName = Trim(Me.cboP.Text)
        strSQL = strSQL & " and WaterRate.PID='" & strReturnPID & "' "
    End If
    If Me.chkPQ(1).value = 1 And Trim(Me.cboQ.Text) <> "" Then
        strReturnQID = Me.cboQ.BoundText
        strReturnQName = Trim(Me.cboQ.Text)
        strSQL = strSQL & " and WaterRate.QID='" & strReturnQID & "' "
    End If

    If Me.chkUser.value = 1 And Trim(Me.txtUID.Text) <> "" Then
        strReturnUID = Trim(Me.txtUID.Text)
        strSQL = strSQL & " and WaterRate.UID='" & strReturnUID & "' "
    End If
    strSQL = strSQL & " order by WaterRate.UID"
    
    '生成记录集
    On Error GoTo errHandleOpen
    adoWaterRateRS.Close
    adoWaterRateRS.Open strSQL
    On Error GoTo 0
    
    If adoWaterRateRS.EOF And adoWaterRateRS.BOF Then
        Warning "没有符合条件的计费记录!!!"
        Exit Sub
    End If
    
    Do While True
        bytReturmFlag = MsgBox("注意:请仔细检查用户交费类型选项是否正确,确保无误后再打印。" & Chr(13) & Chr(13) & "请准备好打印机(联机),装好打印纸,按'确定'开始打印所选择的用户发票...", vbOKCancel + vbInformation, "提示信息")
        If bytReturmFlag = vbCancel Then Exit Sub
            
        Select Case DetectPrinterState()
            Case Ready                                       '准备好
                Exit Do
            Case Offline                                     '不在线
                Warning "打印机没有联机!"
            Case NoPaper                                     '缺纸
                Warning "打印机缺纸!"
            Case AnotherState                                '其它状态
                Warning "打印机出现故障,请检查!"
        End Select
    Loop
        
    Call PlanBeging(adoWaterRateRS.RecordCount, 0)
    adoWaterRateRS.MoveFirst
    lngCurRecord = 1
    Do While Not adoWaterRateRS.EOF
        Call PlanStep(adoWaterRateRS!Uid, lngCurRecord)
        '更新相关表(1:发票表,2:计费表)
        If UpdateTable() = False Then Exit Sub
        
        '实际打印过程
        Printer.PaperSize = 129
        Printer.ScaleMode = vbMillimeters
        
        Printer.CurrentY = 5
        Printer.CurrentX = 80
        Printer.Print (adoWaterRateRS!IID)
        
        Printer.CurrentY = 10
        Printer.CurrentX = 5
        Printer.Print (adoWaterRateRS!Ym)
        Printer.CurrentY = 10
        Printer.CurrentX = 25
        Printer.Print (adoWaterRateRS!Uid)
        Printer.CurrentY = 10
        Printer.CurrentX = 70
        Printer.Print (adoWaterRateRS!PID)
        Printer.CurrentY = 10
        Printer.CurrentX = 85
        Printer.Print (adoWaterRateRS!QID)
       
        Printer.CurrentY = 16
        Printer.CurrentX = 20
        Printer.Print (adoWaterRateRS!UName)
        
        Printer.CurrentY = 22
        Printer.CurrentX = 20
        Printer.Print (adoWaterRateRS!LinkAddr)
       
        Printer.CurrentY = 28
        Printer.CurrentX = 20
        Printer.Print (Format(adoWaterRateRS!PmWaterRead, "0.00"))
        Printer.CurrentY = 28
        Printer.CurrentX = 45
        Printer.Print (Format(adoWaterRateRS!CmWaterRead, "0.00"))
        Printer.CurrentY = 28
        Printer.CurrentX = 70
        Printer.Print (Format(adoWaterRateRS!TmpWaterRevise, "0.00"))
       
        Printer.CurrentY = 34
        Printer.CurrentX = 20
        Printer.Print (Format(adoWaterRateRS!PmOwe, "0.00"))
        Printer.CurrentY = 34
        Printer.CurrentX = 45
        Printer.Print (Format(adoWaterRateRS!CmOwe, "0.00"))
       
        Printer.CurrentY = 40
        Printer.CurrentX = 30
        Printer.Print (Format(adoWaterRateRS!Price, "0.00"))
        Printer.CurrentY = 40
        Printer.CurrentX = 50
        Printer.Print (Format(adoWaterRateRS!TmpWaterRevise, "0.00"))
        Printer.CurrentY = 40
        Printer.CurrentX = 70
        Printer.Print (Format(adoWaterRateRS!WaterRates, "0.00"))
        
        Printer.CurrentY = 46
        Printer.CurrentX = 70
        Printer.Print (Format(adoWaterRateRS!WaterRates, "0.00"))
       
        Printer.CurrentY = 52
        Printer.CurrentX = 30
        Printer.Print (Format(adoWaterRateRS!WaterRevise, "0.00"))
        Printer.CurrentY = 52
        Printer.CurrentX = 70
        Printer.Print (Date)
        Printer.EndDoc
        
        adoWaterRateRS.MoveNext
        lngCurRecord = lngCurRecord + 1
    Loop
'    Set rptWaterrateInvoice.DataSource = adoWaterRateRS
'    rptWaterrateInvoice.Show
    Call PlanEnd
        
    Exit Sub
errHandleOpen:
    Warning "计费记录查询失败!" & Chr(13) & Err.Description
    On Error GoTo 0
End Sub

Private Sub Form_Load()
    MoveToCenter gMainFormRefer, Me
    Me.Show
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -