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