📄 frmnogeneralusermanageinput.frm
字号:
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 + -