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

📄 frmwatermeterfixinput.frm

📁 自来水公司的一个管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
      Begin VB.CommandButton cmdCommandArray3 
         Caption         =   ">>"
         Height          =   345
         Index           =   3
         Left            =   7170
         TabIndex        =   29
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray3 
         Caption         =   ">"
         Height          =   345
         Index           =   2
         Left            =   6300
         TabIndex        =   28
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray3 
         Caption         =   "<"
         Height          =   345
         Index           =   1
         Left            =   5430
         TabIndex        =   27
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray3 
         Caption         =   "<<"
         Height          =   345
         Index           =   0
         Left            =   4560
         TabIndex        =   26
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray2 
         Caption         =   "放弃"
         Height          =   345
         Index           =   1
         Left            =   3585
         TabIndex        =   24
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray2 
         Caption         =   "保存"
         Height          =   345
         Index           =   0
         Left            =   2715
         TabIndex        =   23
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray1 
         Caption         =   "删除"
         Height          =   345
         Index           =   2
         Left            =   1755
         TabIndex        =   22
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray1 
         Caption         =   "编辑"
         Height          =   345
         Index           =   1
         Left            =   885
         TabIndex        =   21
         Top             =   90
         Width           =   885
      End
      Begin VB.CommandButton cmdCommandArray1 
         Caption         =   "输入"
         Height          =   345
         Index           =   0
         Left            =   15
         TabIndex        =   20
         Top             =   90
         Width           =   885
      End
   End
   Begin VB.Label Label22 
      Caption         =   "维修单编号:"
      Height          =   255
      Left            =   7185
      TabIndex        =   55
      Top             =   285
      Width           =   1080
   End
   Begin VB.Line Line1 
      BorderColor     =   &H80000005&
      Index           =   0
      X1              =   60
      X2              =   9885
      Y1              =   5310
      Y2              =   5310
   End
   Begin VB.Line Line1 
      BorderColor     =   &H80000003&
      Index           =   1
      X1              =   60
      X2              =   9900
      Y1              =   5295
      Y2              =   5295
   End
End
Attribute VB_Name = "frmWaterMeterFixInput"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit

Dim adoUWmFixRS As ADODB.Recordset

Dim bytCommandFlag As Byte  '用于记录第一组按钮的状态,这样,在第二组的保存,放弃按钮中
                            '就可知道是原来是按的新增还是编辑,从而采取不同的处理方法
Dim strCurJFYm As String    '当前所处的计费年月(由计费记录表来判断)

'---------------------------------------------------
'按钮事件
'---------------------------------------------------
Private Sub cmdCommandArray1_Click(Index As Integer)
    Dim strFixID As String
    
    bytCommandFlag = Index
    Select Case Index
        Case 0  '输入
            strFixID = Trim(GetMaxFixID())
            If strFixID = "" Then
                Warning "得到维修单编号出错!!!"
                Exit Sub
            End If
            
            Call DisableCMD1
            Call EnableCMD2
            Call DisableCMD3
            
            Call InitInterface
            Call EnableInterface
            Me.txtFixID.Text = strFixID
            Me.dtpReportDate.SetFocus
        
        Case 1  '编辑
            If Trim(Me.txtFixID.Text) = "" Then Exit Sub
            
            Call DisableCMD1
            Call EnableCMD2
            Call DisableCMD3
            
            Call EnableInterface
            Me.txtFixID.Enabled = False '注意:编辑时只能对该编号用户的维修内容进行编辑
            Me.dtpReportDate.SetFocus
        
        Case 2  '删除
            Dim bytReturnFlag As Byte '用于接收msgbox
            
            If Trim(Me.txtFixID.Text) = "" Then Exit Sub
            If adoUWmFixRS.EOF Or adoUWmFixRS.BOF Then Exit Sub
            
            bytReturnFlag = MsgBox("确定要删除该用户的水表维修记录吗?", vbYesNo + vbInformation + vbDefaultButton2, "提示信息")
            If bytReturnFlag = vbNo Then Exit Sub
            
            '删除该记录,清屏
            adoUWmFixRS.Delete
            On Error Resume Next
            adoUWmFixRS.MoveNext
            If adoUWmFixRS.EOF Then adoUWmFixRS.MovePrevious
            On Error GoTo 0
            Call DisplayCurrentData
            Call InitCommandBox
        
        Case Else
            MsgBox "按扭功能未定义", vbOKOnly + vbExclamation, "警告"
    End Select

End Sub

Private Sub cmdCommandArray2_Click(Index As Integer)
    Dim bytReturnFlag As Byte '用于接收msgbox
    
    Select Case Index
        Case 0  '保存
            '检测关键数据是否填写
            If Trim(Me.txtUID.Text) = "" Then
                Warning "用户编号没有输入!!!"
                Me.txtUID.SetFocus
                Exit Sub
            End If
            
            '保存提示
            bytReturnFlag = MsgBox("请仔细核对维修前、维修后的水表读数以及所属计费时段" & Chr(13) & Chr(13) & "这些数据将直接影响水费的计费操作!!!", vbYesNoCancel + vbInformation + vbDefaultButton1, "提示信息")
            If bytReturnFlag = vbNo Then            '不保存
                Call DisplayCurrentData
            ElseIf bytReturnFlag = vbCancel Then    '从试
                Exit Sub
            ElseIf bytReturnFlag = vbYes Then       '保存数据
                Call SaveCurrenData
            End If
            Call DisableInterface
            Call InitCommandBox
                   
        Case 1  '放弃
            Call DisplayCurrentData
            Call DisableInterface
            Call InitCommandBox
    
        Case Else
            MsgBox "按扭功能未定义", vbOKOnly + vbExclamation, "警告"
    End Select

End Sub

Private Sub cmdCommandArray3_Click(Index As Integer)
    Select Case Index
        Case 0  '<<
            If adoUWmFixRS.BOF Then         '记录集为空的情况
                'Warning "已经处于首记录!"
                Beep
                Exit Sub
            End If
            
            adoUWmFixRS.MovePrevious        '如果已经是首条的情况,Beep
            If adoUWmFixRS.BOF Then
                adoUWmFixRS.MoveNext
                Beep
                Exit Sub
            End If
            
            adoUWmFixRS.MoveFirst           '正常情况
            Call DisplayCurrentData
        
        Case 1  '<
            If adoUWmFixRS.BOF Then
                'Warning "已经处于首记录!"
                Beep
                Exit Sub
            End If
            adoUWmFixRS.MovePrevious
            If adoUWmFixRS.BOF Then
                adoUWmFixRS.MoveNext
                Beep
            Else
                Call DisplayCurrentData
            End If
        
        Case 2  '>
            If adoUWmFixRS.EOF Then
                'Warning "已经处于尾记录!"
                Beep
                Exit Sub
            End If
            adoUWmFixRS.MoveNext
            If adoUWmFixRS.EOF Then
                adoUWmFixRS.MovePrevious
                Beep
            Else
                Call DisplayCurrentData
            End If
        
        Case 3  '>>
            If adoUWmFixRS.EOF Then         '记录集为空的情况
                'Warning "已经处于尾记录!"
                Beep
                Exit Sub
            End If
            
            adoUWmFixRS.MoveNext            '如果已经是尾条的情况,Beep
            If adoUWmFixRS.EOF Then
                adoUWmFixRS.MovePrevious
                Beep
                Exit Sub
            End If
            
            adoUWmFixRS.MoveLast            '正常情况
            Call DisplayCurrentData
        
        Case Else
            MsgBox "按扭功能未定义", vbOKOnly + vbExclamation, "警告"
    End Select
End Sub


'---------------------------------------------------
'窗体事件
'---------------------------------------------------
Private Sub Form_Load()
    Dim strSQL As String
    
    MoveToCenter gMainFormRefer, Me
    
    '设置关键控件的属性
    Me.txtFixID.MaxLength = gFixIDLen
    Me.txtFixID.Mask = String(gFixIDLen, "9")
    
    Me.txtUID.MaxLength = gUIDLen
    Me.txtUID.Mask = String(gUIDLen, "9")
    
    Me.debPWmRead.MaxLen = 12
    Me.debLWmRead.MaxLen = 12
    Me.debFixFee.MaxLen = 8
    
    Call FillMonth
    Call ClearUWmInfo
    
    '设置当前的水费计费月份
    strCurJFYm = Trim(GetCurJFYm())
    If strCurJFYm = "" Then
        Warning "得到当前计费月份出错!!!"
        Call DisableCMD1
        Call DisableCMD2
        Call DisableCMD3
        Exit Sub
    End If
    
    '初始化界面
    Call InitInterface
    Call DisableInterface
    
    '初始化记录集
    strSQL = "select * from UWaterMeterFix order by FixID"
    On Error GoTo errHandleInit
    Set adoUWmFixRS = New ADODB.Recordset
    Set adoUWmFixRS.ActiveConnection = gConnect
    adoUWmFixRS.CursorLocation = adUseClient
    adoUWmFixRS.CursorType = adOpenKeyset
    adoUWmFixRS.LockType = adLockOptimistic
    adoUWmFixRS.Open strSQL
    On Error GoTo 0
    
    If Not (adoUWmFixRS.EOF And adoUWmFixRS.BOF) Then
        adoUWmFixRS.MoveLast
    End If
    
    
    Call DisplayCurrentData
    Call InitCommandBox
    Exit Sub
    
    '-------错误处理---------
errHandleInit:
    Warning "记录集初始化失败!" & Chr(13) & Err.Description
    On Error GoTo 0
    Call DisableCMD1
    Call DisableCMD2
    Call DisableCMD3
    
End Sub


'---------------------------------------------------
'自定义函数/过程
'---------------------------------------------------
Private Sub InitInterface()
    Me.txtFixID.Text = String(gFixIDLen, " ")
    
    Me.dtpReportDate.value = Date
    Me.txtReportMan.Text = ""
    Me.txtUID.Text = String(gUIDLen, " ")
    
    Call ClearUserInfo
    
    Me.txtReportStatus.Text = ""
    Me.debPWmRead.Text = 0
    Me.debLWmRead.Text = 0
    
    Me.txtYear.Text = Mid(strCurJFYm, 1, 4)
    Me.cboMonth.ListIndex = Val(Mid(strCurJFYm, 5, 2)) - 1
    Me.txtFixStatus.Text = ""
    Me.txtVerifyStatus.Text = ""
    Me.debFixFee.Text = 0
    Me.txtFixMan.Text = ""
    Me.dtpFixDate.value = Date
End Sub

Private Sub InitCommandBox()
    Call EnableCMD1
    
    '根据"维修单编号"是否为空来决定是否打开"编辑"和"删除"按扭
    If Trim(Me.txtFixID.Text) = "" Then
        cmdCommandArray1(1).Enabled = False '编辑
        cmdCommandArray1(2).Enabled = False '删除
    End If
    Call DisableCMD2
    Call EnableCMD3
End Sub

Private Sub EnableInterface()
    Me.txtFixID.Enabled = True
    
    Me.dtpReportDate.Enabled = True
    Me.txtReportMan.Enabled = True
    Me.txtUID.Enabled = True
    
    Me.txtReportStatus.Enabled = True
    Me.debPWmRead.Enabled = True
    Me.debLWmRead.Enabled = True
    Me.txtYear.Enabled = True
    Me.cboMonth.Enabled = True
    Me.txtFixStatus.Enabled = True
    Me.txtVerifyStatus.Enabled = True
    Me.debFixFee.Enabled = True
    Me.txtFixMan.Enabled = True
    Me.dtpFixDate.Enabled = True
End Sub

Private Sub DisableInterface()
    Me.txtFixID.Enabled = False
    
    Me.dtpReportDate.Enabled = False
    Me.txtReportMan.Enabled = False
    Me.txtUID.Enabled = False
    
    Me.txtReportStatus.Enabled = False
    Me.debPWmRead.Enabled = False
    Me.debLWmRead.Enabled = False
    Me.txtYear.Enabled = False
    Me.cboMonth.Enabled = False
    Me.txtFixStatus.Enabled = False
    Me.txtVerifyStatus.Enabled = False
    Me.debFixFee.Enabled = False
    Me.txtFixMan.Enabled = False
    Me.dtpFixDate.Enabled = False
End Sub

Private Sub FillMonth()
    Me.cboMonth.Clear
    Me.cboMonth.AddItem "01"
    Me.cboMonth.AddItem "02"
    Me.cboMonth.AddItem "03"
    Me.cboMonth.AddItem "04"
    Me.cboMonth.AddItem "05"
    Me.cboMonth.AddItem "06"
    Me.cboMonth.AddItem "07"
    Me.cboMonth.AddItem "08"
    Me.cboMonth.AddItem "09"
    Me.cboMonth.AddItem "10"
    Me.cboMonth.AddItem "11"
    Me.cboMonth.AddItem "12"
End Sub

Private Function GetMaxFixID() As String
'得到可用的维修单号
    Dim strFixID As String
    Dim strSQL As String
    
    If adoUWmFixRS.EOF And adoUWmFixRS.BOF Then
        GetMaxFixID = String(gFixIDLen - 1, "0") & "1"
        Exit Function

⌨️ 快捷键说明

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