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

📄 frmuserturnon.frm

📁 自来水公司的一个管理系统
💻 FRM
📖 第 1 页 / 共 4 页
字号:
        Exit Function
    End If
    If Trim(Me.txtLinkAddr.Text) = "" Then
        Set CheckEmptyControl = Me.txtLinkAddr
        Exit Function
    End If
    If Trim(Me.cboUType.Text) = "" Then
        Set CheckEmptyControl = Me.cboUType
        Exit Function
    End If
    If Trim(Me.cboChargetType.Text) = "" Then
        Set CheckEmptyControl = Me.cboChargetType
        Exit Function
    End If
    If Me.cboChargetType.BoundText = "1" Then   '公家银行交费
        If Trim(Me.cboBank.Text) = "" Then
            Set CheckEmptyControl = Me.cboBank
            Exit Function
        End If
        If Trim(Me.cboBankSubOrgan.Text) = "" Then
            Set CheckEmptyControl = Me.cboBankSubOrgan
            Exit Function
        End If
        If Trim(Me.txtBankUserName.Text) = "" Then
            Set CheckEmptyControl = Me.txtBankUserName
            Exit Function
        End If
        If Trim(Me.txtAccount.Text) = "" Then
            Set CheckEmptyControl = Me.txtAccount
            Exit Function
        End If
    End If
    If Trim(Me.cboMwm.Text) = "" Then
        Set CheckEmptyControl = Me.cboMwm
        Exit Function
    End If
    If Trim(Me.txtWmID.Text) = "" Then
        Set CheckEmptyControl = Me.txtWmID
        Exit Function
    End If
    If Me.txtWmCaliber.Text = 0 Then
        Set CheckEmptyControl = Me.txtWmCaliber
        Exit Function
    End If
    
    Set CheckEmptyControl = Nothing
    
End Function

Private Sub CommondButtonCancel()
'按钮"放弃"调用的过程,做此过程的目的是让"保存"按钮能共享此过程
'注:(在按钮控件数组中好象无法调用同数组中的其它按钮的事件)
    
    Call DisplayCurrentData
    Call DisableInterFace
    Call InitCommandBox
    blnEditFlag = False '编辑标志
End Sub

Private Function GetMaxUID() As String
'从用户档案中得到一个可用的用户顺序号
'注意:这儿采用全局连接直接执行查询语句,和模块档案记录集(adoUserRecordRS)无关,因此,这儿得到的UID是包括已经消户的用户编号的
'而adoUserRecordRS在开始时是过滤了消户用户的记录集
    Dim strMaxUID As String
    Dim strSQL As String
    Dim adoTmpRS As ADODB.Recordset
    
    strSQL = "select max(UID) from UserRecord"
    On Error GoTo ErrHandleExe
    Set adoTmpRS = gConnect.Execute(strSQL)
    On Error GoTo 0
    If IsNull(adoTmpRS.Fields(0)) Then  '记录集为空
        strMaxUID = ""
    Else
        strMaxUID = Trim(adoTmpRS.Fields(0).value)
    End If
    
    If strMaxUID = "" Then
        strMaxUID = String(gUIDLen - 1, "0") & "1"
    Else
        strMaxUID = Trim(Str(Val(strMaxUID) + 1))
        strMaxUID = String(gUIDLen - Len(strMaxUID), "0") & strMaxUID
    End If
    GetMaxUID = strMaxUID
    Exit Function
    
    '-------错误处理---------
ErrHandleExe:
    GetMaxUID = ""
    On Error GoTo 0
End Function

Private Sub FillQ(ByVal strPID As String)
    On Error Resume Next
    adoQRS.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoQRS.Open "select QID,QName from Qu where PID='" & strPID & "'"
    On Error GoTo 0
    
    Set Me.cboQ.RowSource = adoQRS
    Me.cboQ.ListField = "QName"
    Me.cboQ.BoundColumn = "QID"
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Warning "小区表记录集打开失败!" & Chr(13) & Err.Description
    On Error GoTo 0
End Sub

Private Sub FillBank()
    On Error Resume Next
    adoBankRS.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoBankRS.Open "select BankID,BankName from Bank"
    On Error GoTo 0
    
    Set Me.cboBank.RowSource = adoBankRS
    Me.cboBank.ListField = "BankName"
    Me.cboBank.BoundColumn = "BankID"
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Warning "银行表记录集打开失败!" & Chr(13) & Err.Description
    On Error GoTo 0
End Sub
    
Private Sub FillBankSubOrgan(ByVal strBankID As String)
    On Error Resume Next
    adoBankSubOrganRS.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoBankSubOrganRS.Open "select SubOrganID,SubOrganName from BankSubOrgan where BankID='" & strBankID & "'"
    On Error GoTo 0
    
    Set Me.cboBankSubOrgan.RowSource = adoBankSubOrganRS
    Me.cboBankSubOrgan.ListField = "SubOrganName"
    Me.cboBankSubOrgan.BoundColumn = "SubOrganID"
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Warning "银行分理处表记录集打开失败!" & Chr(13) & Err.Description
    On Error GoTo 0
End Sub

Private Sub ClearQ()
    Call FillQ("-1")
    Me.cboQ.Text = ""
End Sub

Private Sub ClearBank()
    On Error Resume Next
    adoBankRS.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoBankRS.Open "select BankID,BankName from Bank where BankID='0'"
    On Error GoTo 0
    
    Set Me.cboBank.RowSource = adoBankRS
    Me.cboBank.ListField = "BankName"
    Me.cboBank.BoundColumn = "BankID"
    Me.cboBank.Text = ""
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Warning "银行表记录集打开失败!" & Chr(13) & Err.Description
    On Error GoTo 0
End Sub

Private Sub ClearBankSubOrgan()
    Call FillBankSubOrgan("-1")
    Me.cboBankSubOrgan.Text = ""
End Sub


'---------------------------------------------------------
'控件常规事件
'---------------------------------------------------------
Private Sub cboBank_Change()
    blnEditFlag = True
    Call FillBankSubOrgan(Trim(Me.cboBank.BoundText))
    Me.cboBankSubOrgan.Text = ""
End Sub

Private Sub cboBank_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboBankSubOrgan_Change()
    blnEditFlag = True
End Sub

Private Sub cboBankSubOrgan_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboChargetType_Change()
    blnEditFlag = True
End Sub

Private Sub cboChargetType_LostFocus()
    If cboChargetType.BoundText = "1" Then
        Call FillBank
        Me.cboBank.Text = ""
        Me.cboBank.Enabled = True
        Me.cboBankSubOrgan.Enabled = True
        Me.txtBankUserName.Enabled = True
        Me.txtAccount.Enabled = True
        Me.cboBank.SetFocus
    Else
        Call ClearBank
        Call ClearBankSubOrgan
        Me.txtBankUserName.Text = ""
        Me.txtAccount.Text = ""
        
        Me.cboBank.Enabled = False
        Me.cboBankSubOrgan.Enabled = False
        Me.txtBankUserName.Enabled = False
        Me.txtAccount.Enabled = False
    End If

End Sub

Private Sub cboChargetType_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboMwm_Change()
    blnEditFlag = True
End Sub

Private Sub cboMwm_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboP_Change()
    blnEditFlag = True
    Call FillQ(Trim(Me.cboP.BoundText))
    Me.cboQ.Text = ""
End Sub

Private Sub cboP_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboQ_Change()
    blnEditFlag = True
End Sub

Private Sub cboQ_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub cboUType_Change()
    blnEditFlag = True
End Sub

Private Sub cboUType_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtAccount_Change()
    blnEditFlag = True
End Sub

Private Sub txtAccount_GotFocus()
    Call AutoSelectText(txtAccount)
End Sub

Private Sub txtAccount_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
    '只接收"0"--"9" , "<-" 键
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
        KeyAscii = 0
        Beep
        Exit Sub
    End If

End Sub

Private Sub txtAddCharge_Change()
    blnEditFlag = True
End Sub

Private Sub txtAddCharge_KeyPress(ByVal KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtAddr_Change()
    blnEditFlag = True
End Sub

Private Sub txtAddr_GotFocus()
    Call AutoSelectText(txtAddr)
End Sub

Private Sub txtAddr_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtAuditCharge_Change()
    blnEditFlag = True
End Sub

Private Sub txtAuditCharge_KeyPress(ByVal KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtBankUserName_Change()
    blnEditFlag = True
End Sub

Private Sub txtBankUserName_GotFocus()
    Call AutoSelectText(txtBankUserName)
End Sub

Private Sub txtBankUserName_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtLeaderIdea_Change()
    blnEditFlag = True
End Sub

Private Sub txtLeaderIdea_GotFocus()
    Call AutoSelectText(txtLeaderIdea)
End Sub

Private Sub txtLeaderIdea_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtLinkAddr_Change()
    blnEditFlag = True
End Sub

Private Sub txtLinkAddr_GotFocus()
    Call AutoSelectText(txtLinkAddr)
End Sub

Private Sub txtLinkAddr_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtLinkMan_Change()
    blnEditFlag = True
End Sub

Private Sub txtLinkMan_GotFocus()
    Call AutoSelectText(txtLinkMan)
End Sub

Private Sub txtLinkMan_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtLinkPhone_Change()
    blnEditFlag = True
End Sub

Private Sub txtLinkPhone_GotFocus()
    Call AutoSelectText(txtLinkPhone)
End Sub

Private Sub txtLinkPhone_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtNote_Change()
    blnEditFlag = True
End Sub

Private Sub txtNote_GotFocus()
    Call AutoSelectText(txtNote)
End Sub

Private Sub txtNote_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtUName_Change()
    blnEditFlag = True
End Sub

Private Sub txtUName_GotFocus()
    Call AutoSelectText(txtUName)
End Sub

Private Sub txtUName_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtWmCaliber_Change()
    blnEditFlag = True
End Sub

Private Sub txtWmCaliber_KeyPress(ByVal KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtWmID_Change()
    blnEditFlag = True
End Sub

Private Sub txtWmID_GotFocus()
    Call AutoSelectText(txtWmID)
End Sub

Private Sub txtWmID_KeyPress(KeyAscii As Integer)
'    Call IfEnterKeyMoveNext(KeyAscii)
    If KeyAscii = 13 Then
        KeyAscii = 0
        SendKeys "{tab}"
        Exit Sub
    End If
    
    '只接收"0"--"9" ,"<-" 键
    If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
        KeyAscii = 0
        Beep
        Exit Sub
    End If
End Sub

Private Sub txtWmID_LostFocus()
    Dim strSQL As String
    Dim adoTmpRS As ADODB.Recordset
    
    If Trim(Me.txtWmID.Text) = "" Then Exit Sub    '该步留在保存中检测--目的:便于用户直接选择放弃
    Me.txtWmID.Text = String(gWmIDLen - Len(Trim(Me.txtWmID.Text)), "0") & Trim(Me.txtWmID.Text)
    
    '在用户水表档案中查找是否有重复的水表号
    If bytCommandFlag = 0 Then      '新增
        strSQL = "select WmID from WaterMeter where WmID='" & Trim(Me.txtWmID.Text) & "'"
    ElseIf bytCommandFlag = 1 Then  '编辑
        strSQL = "select WmID from WaterMeter where WmID='" & Trim(Me.txtWmID.Text) & "' and UID<>'" & Trim(Me.txtUID.Text) & "'"
    End If
    Set adoTmpRS = gConnect.Execute(strSQL)
    If Not (adoTmpRS.EOF And adoTmpRS.BOF) Then '有重复
        Warning "水表编号有重复!!!"
        adoTmpRS.Close
        Set adoTmpRS = Nothing
        Me.txtWmID.SetFocus
        Exit Sub
    End If
            
    adoTmpRS.Close
    Set adoTmpRS = Nothing
End Sub

Private Sub txtWmMakeAddr_Change()
    blnEditFlag = True
End Sub

Private Sub txtWmMakeAddr_GotFocus()
    Call AutoSelectText(txtWmMakeAddr)
End Sub

Private Sub txtWmMakeAddr_KeyPress(KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

Private Sub txtWMStartReadNumber_Change()
    blnEditFlag = True
End Sub

Private Sub txtWMStartReadNumber_KeyPress(ByVal KeyAscii As Integer)
    Call IfEnterKeyMoveNext(KeyAscii)
End Sub

⌨️ 快捷键说明

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