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

📄 frmnogeneralusermanageinput.frm

📁 自来水公司的一个管理系统
💻 FRM
📖 第 1 页 / 共 3 页
字号:
End Sub

Private Sub EnableInterFace()
    Me.txtUID.Enabled = True
    Me.cboStatus.Enabled = True
    Me.dtpCheckTime.Enabled = True
    Me.txtCheckMan.Enabled = True
End Sub

Private Sub DisableInterFace()
    Me.txtUID.Enabled = False
    Me.cboStatus.Enabled = False
    Me.dtpCheckTime.Enabled = False
    Me.txtCheckMan.Enabled = False
End Sub

Private Sub InitCommandBox()
    Call EnableCMD1
    Call DisableCMD2
    Call EnableCMD3
End Sub

Private Sub CommondButtonCancel()
    Call DisplayCurrentData
    Call DisableInterFace
    Call InitCommandBox
End Sub

Private Sub EnableCMD1()
   Dim i As Integer
   For i = 0 To cmdCommandArray1.Count - 1
        cmdCommandArray1(i).Enabled = True
   Next i
End Sub
Private Sub DisableCMD1()
   Dim i As Integer
   For i = 0 To cmdCommandArray1.Count - 1
        cmdCommandArray1(i).Enabled = False
   Next i
End Sub

Private Sub EnableCMD2()
   Dim i As Integer
   For i = 0 To cmdCommandArray2.Count - 1
        cmdCommandArray2(i).Enabled = True
   Next i
End Sub
Private Sub DisableCMD2()
   Dim i As Integer
   For i = 0 To cmdCommandArray2.Count - 1
        cmdCommandArray2(i).Enabled = False
   Next i
End Sub

Private Sub EnableCMD3()
   Dim i As Integer
   For i = 0 To cmdCommandArray3.Count - 1
        cmdCommandArray3(i).Enabled = True
   Next i
End Sub
Private Sub DisableCMD3()
   Dim i As Integer
   For i = 0 To cmdCommandArray3.Count - 1
        cmdCommandArray3(i).Enabled = False
   Next i
End Sub

Private Function DisplayUserData(ByVal strUID As String) As Boolean
    '-------------------------
    '功能:  显示用户输入的用户编号对应的用户信息(表单中部)
    '参数:  strUID 要显示的用户号
    '返回值: TRUE 在用户档案中有该用户的信息,显示成功
    '        FALSE 在用户档案中没有该用户的信息,显示失败
    '用法:
    '建立:   2001/5/20   pc
    '修改:
    '修改内容:
    '-------------------------
    Dim strSQL As String
    Dim adoTmpRS As ADODB.Recordset
    
    '从用户视图中检索
    strSQL = "select PName,QName,UName,Addr,LinkMan,LinkPhone,LinkAddr,WmID,WmCaliber,WmMakeAddr from vUserRecord where UID='" & strUID & "' and Status='1'"
    On Error GoTo errHandleSel
    Set adoTmpRS = gConnect.Execute(strSQL)
    On Error GoTo 0
    
    If adoTmpRS.EOF And adoTmpRS.BOF Then
        Me.txtP.Text = ""
        Me.txtQ.Text = ""
        Me.txtUName.Text = ""
        Me.txtAddr.Text = ""
        Me.txtLinkMan.Text = ""
        Me.txtLinkPhone.Text = ""
        Me.txtLinkAddr.Text = ""
        Me.txtWmID.Text = ""
        Me.txtWmCaliber.Text = 0
        Me.txtWmMakeAddr.Text = ""
        
        On Error Resume Next
        adoTmpRS.Close
        Set adoTmpRS = Nothing
        On Error GoTo 0
        DisplayUserData = False
        Exit Function
    End If
    
    '显示
    strSQL = "select PName,QName,UName,Addr,LinkMan,LinkPhone,LinkAddr,WmID,WmCaliber,WmMakeAddr from vUserRecord where UID='" & strUID & "'"
    Me.txtP.Text = Trim(adoTmpRS.Fields("PName"))
    Me.txtQ.Text = Trim(adoTmpRS.Fields("QName"))
    Me.txtUName.Text = Trim(adoTmpRS.Fields("UName"))
    Me.txtAddr.Text = Trim(adoTmpRS.Fields("Addr"))
    Me.txtLinkMan.Text = Trim(adoTmpRS.Fields("LinkMan"))
    Me.txtLinkPhone.Text = Trim(adoTmpRS.Fields("LinkPhone"))
    Me.txtLinkAddr.Text = Trim(adoTmpRS.Fields("LinkAddr"))
    Me.txtWmID.Text = Trim(adoTmpRS.Fields("WmID"))
    Me.txtWmCaliber.Text = adoTmpRS.Fields("WmCaliber")
    Me.txtWmMakeAddr.Text = Trim(adoTmpRS.Fields("WmMakeAddr"))
    On Error Resume Next
    adoTmpRS.Close
    Set adoTmpRS = Nothing
    On Error GoTo 0
    DisplayUserData = True
    Exit Function
        
errHandleSel:
    On Error GoTo 0
    Me.txtP.Text = ""
    Me.txtQ.Text = ""
    Me.txtUName.Text = ""
    Me.txtAddr.Text = ""
    Me.txtLinkMan.Text = ""
    Me.txtLinkPhone.Text = ""
    Me.txtLinkAddr.Text = ""
    Me.txtWmID.Text = ""
    Me.txtWmCaliber.Text = 0
    Me.txtWmMakeAddr.Text = ""
    
    On Error Resume Next
    adoTmpRS.Close
    Set adoTmpRS = Nothing
    On Error GoTo 0
    
    DisplayUserData = False
End Function

Private Sub DisplayABWmData()
    '显示当前用户的非正常水表信息(表单头部)
    '在调用该函数之前要保证ABWmRS有该用户的记录
    If adoABWmRS.EOF Or adoABWmRS.BOF Then   '没有找到,该情况不应该出现,这儿只是作为以防万一
        Warning "无该用户的非正常水表记录!!!"
        Exit Sub
    End If
    
    Call FillWmStatus
    Me.cboStatus.BoundText = adoABWmRS.Fields("Status")
    Me.dtpCheckTime.value = adoABWmRS.Fields("CheckTime")
    Me.txtCheckMan.Text = adoABWmRS.Fields("CheckMan")

End Sub

Private Sub DisplayCurrentData()
    '显示在非正常用户记录集中的当前记录对应的用户及非正常水表信息
    If adoABWmRS.BOF Or adoABWmRS.EOF Then
        Me.txtUID.Text = ""
        Call ClearInterFace
    Else
        Me.txtUID.Text = Trim(adoABWmRS.Fields("UID"))
        Call DisplayUserData(adoABWmRS.Fields("UID"))
        Call DisplayABWmData
    End If
 End Sub

Private Sub Form_Load()
    MoveToCenter gMainFormRefer, Me
    
    '设置关键控件的属性
    Me.txtWmCaliber.MaxLen = 9
    Me.txtWmCaliber.Enabled = False
    
    On Error GoTo errHandleOpen
    Set adoABWmRS = New ADODB.Recordset
    Set adoABWmRS.ActiveConnection = gConnect
    adoABWmRS.CursorLocation = adUseClient
    adoABWmRS.CursorType = adOpenKeyset
    adoABWmRS.LockType = adLockOptimistic
    adoABWmRS.Open "select * from ABWm where CurrentFlag='1' order by No"   '只选择当前状态的用户,也就是只考虑当前非正常水表的用户
        
    Set adoWmStatus = New ADODB.Recordset
    Set adoWmStatus.ActiveConnection = gConnect
    adoWmStatus.CursorLocation = adUseClient
    adoWmStatus.CursorType = adOpenForwardOnly
    adoWmStatus.LockType = adLockOptimistic
    adoWmStatus.Open "select SID,SName from WaterMeterStatus where SID='' order by SID"   '选择空记录集
    On Error GoTo 0
    
    Set Me.cboStatus.RowSource = adoWmStatus
    Me.cboStatus.ListField = "SName"
    Me.cboStatus.BoundColumn = "SID"
    
    On Error Resume Next
    adoABWmRS.MoveLast
    On Error GoTo 0
    Call DisplayCurrentData
    Call DisableInterFace
    Call InitCommandBox
    
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Call Warning("记录集打开失败!!!" & Chr(13) & Err.Description)
    On Error GoTo 0

End Sub

Private Sub Form_Unload(Cancel As Integer)
    On Error Resume Next
    adoABWmRS.Close
    adoWmStatus.Close
    Set adoABWmRS = Nothing
    Set adoWmStatus = Nothing
    On Error GoTo 0
End Sub

Private Sub FillWmStatus()
    '填充数据列表控件cboStatus
    On Error Resume Next
    adoWmStatus.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoWmStatus.Open "select SID,SName from WaterMeterStatus where SID<>'1' order by SID"   '只选择非正常的状态值,也就是说,不允许用户直接通过选择状态将用户设置成“正常”,而应该通过下端的“设置正常”按钮来实现
    On Error GoTo 0
    Set Me.cboStatus.RowSource = adoWmStatus
    Me.cboStatus.ListField = "SName"
    Me.cboStatus.BoundColumn = "SID"
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Call Warning("记录集打开失败!" & Chr(13) & Err.Description)
    On Error GoTo 0

End Sub

Private Sub ClearWmStatus()
    '清除数据列表控件cboStatus
    On Error Resume Next
    adoWmStatus.Close
    On Error GoTo 0
    On Error GoTo errHandleOpen
    adoWmStatus.Open "select SID,SName from WaterMeterStatus where SID='' order by SID"   '选择空记录集
    On Error GoTo 0
    Me.cboStatus.Text = ""
    Exit Sub
    
    '-------错误处理---------
errHandleOpen:
    Call Warning("记录集打开失败!" & Chr(13) & Err.Description)
    On Error GoTo 0
End Sub





Private Sub txtCheckMan_GotFocus()
    Call AutoSelectText(txtCheckMan)
End Sub

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

Private Sub txtUID_GotFocus()
    Call AutoSelectText(txtUID)
End Sub

Private Sub txtUID_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        KeyAscii = 0
        SendKeys "{tab}"
    End If

End Sub

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

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

Private Sub txtUID_LostFocus()
    Dim strUID As String
    Dim strSQL As String
    
    If Trim(Me.txtUID.Text) = "" Then
        Exit Sub
    End If
    Me.txtUID.Text = String(gUIDLen - Len(Trim(Me.txtUID.Text)), "0") & Trim(Me.txtUID.Text)
    If Not DisplayUserData(Trim(Me.txtUID)) Then    '用户档案中无该用户信息
        Call ClearInterFace
        Warning "用户顺序号无效,请仔细检查!!!"
        Me.txtUID.SetFocus
        Exit Sub
    End If
    
    strUID = Trim(Me.txtUID.Text)
    strSQL = "UID='" & strUID & "'"
    
    adoABWmRS.Find strSQL, 0, adSearchForward, adBookmarkFirst
    If Not (adoABWmRS.EOF Or adoABWmRS.BOF) Then    '在当前非正常水表记录集中有该用户记录
        Call DisplayABWmData
        Call DisableInterFace
        Call InitCommandBox
        Exit Sub
    End If
    
    Call FillWmStatus
    Me.dtpCheckTime.value = Date
    Me.txtCheckMan.Text = ""
End Sub

⌨️ 快捷键说明

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