📄 frmusermap.frm
字号:
rcBuild_userset.Update
End If
If Not datUserMap.Recordset.EOF Then
datUserMap.Recordset.MoveLast
lblBuildUserSum.Caption = datUserMap.Recordset.RecordCount
Else
lblBuildUserSum.Caption = "0"
End If
End Sub
Private Sub cmdCancel_Click()
'Workspace.Rollback 取消事务,取消修改的内容
dbCbb.Rollback
Unload Me
End Sub
Private Sub cmdDevSet_Click()
If Trim(datUserMap.RecordSource) = "" Then
Exit Sub
End If
frmUserDev0.Show
End Sub
Private Sub cmdOK_Click()
datUserMap.Recordset.FindFirst "isnull(UserID) or isnull(UserName) or isnull(BuildID) or isnull(Unit) or isnull(Floor) or isnull(Door) or isnull(Tel) "
Do While Not datUserMap.Recordset.NoMatch
datUserMap.Recordset.Delete
If datUserMap.Recordset.EOF Or datUserMap.Recordset.AbsolutePosition = -1 Then
If datUserMap.Recordset.RecordCount > 0 Then
datUserMap.Recordset.MoveFirst
Else
Exit Do
End If
End If
datUserMap.Recordset.FindNext "isnull(UserID) or isnull(UserName) or isnull(BuildID) or isnull(Unit) or isnull(Floor) or isnull(Door) or isnull(Tel) "
Loop
dbCbb.CommitTrans
'status
AppendStatusInfo "修改用户设置", icoBLUE
SaveLog "修改用户设置", 0
Unload frmUserMap
End Sub
Private Sub datUserMap_Reposition()
Dim curUserID As Integer
Dim curUserName As String
If datUserMap.Recordset.EOF Or datUserMap.Recordset.RecordCount <= 0 Then
Exit Sub
End If
If IsNull(datUserMap.Recordset!UserID) Then
curUserID = 0
Else
If datUserMap.Recordset.EOF Then
Exit Sub
End If
curUserID = datUserMap.Recordset!UserID
End If
If IsNull(datUserMap.Recordset!userName) Then
curUserName = ""
Else
curUserName = datUserMap.Recordset!userName
End If
datUserMap.Caption = "当前用户: " + Format(curUserID) + "," + curUserName
End Sub
Private Sub Form_Load()
If UBound(curForm) > 0 Then
curForm(UBound(curForm)).Enabled = False
End If
ReDim Preserve curForm(UBound(curForm) + 1)
Set curForm(UBound(curForm)) = Me
datUserMap.DatabaseName = App.Path & "\data\cbb.mdb"
'status
AppendStatusInfo "查看用户设置", icoBLUE
SaveLog "查看用户设置", 0
lblAddr = Format(LUser) + "---" + Format(UUser)
Dim rcUserMap As Recordset
Set rcBuildMap = dbCbb.OpenRecordset("buildmap", dbOpenTable)
Set rcUserMap = dbCbb.OpenRecordset("usermap", dbOpenSnapshot)
If Not rcUserMap.EOF Then
rcUserMap.MoveLast
lblNetUserSum.Caption = rcUserMap.RecordCount
Else
lblNetUserSum.Caption = "0"
End If
Set rcUserMap = Nothing
datUserMap.RecordSource = ""
Set datUserMap.Recordset = Nothing
datUserMap.Refresh
'开始事务
dbCbb.BeginTrans
SQL = "select userID,userName,Unit,Floor,Door,Tel,BuildID "
SQL = SQL + "from userMap "
SQL = SQL + "where FALSE "
datUserMap.RecordSource = SQL
datUserMap.Refresh
fillBuild
f_frmUserMap_Visible = True
DoEvents
'frmMain.stbMain.Panels(1).Text = "如设总表,用户号或总表号栏请填连续序号,用户名或总表栏必须填“总表”,其它栏如没有填“\”。"
End Sub
Private Sub Form_Unload(Cancel As Integer)
ReDim Preserve curForm(UBound(curForm) - 1)
If UBound(curForm) > 0 Then
curForm(UBound(curForm)).Enabled = True
End If
f_frmUserMap_Visible = False
End Sub
Private Sub grdUserMap_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As Variant, Cancel As Integer)
Dim rcChkUser As Recordset
Dim curUserID As Integer
Dim curBuildID As String
Set rcChkUser = dbCbb.OpenRecordset("UserMap", dbOpenSnapshot)
Select Case ColIndex
Case 0 '检查用户号的有效性
If Not IsNumeric(grdUserMap.Columns(0).Value) Then
MsgBox "用户号必须为整数" + Chr(10) + "请重新选择用户号", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
curUserID = grdUserMap.Columns(0).Value
rcChkUser.FindFirst "UserID=" + Format(curUserID)
If Not rcChkUser.NoMatch Then
MsgBox "该用户号已经被占用" + Chr(10) + "请重新选择用户号", 48, "用户设置"
Cancel = True
End If
Case 1 '检查用户名有效性
If Len(grdUserMap.Columns(1).Value) > 20 Then
MsgBox "用户名不能超过20个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
Case 2 '检查所属楼号的有效性
'Dim curBuildID As String
Dim rcChkBuild As Recordset
If Len(Trim(grdUserMap.Columns(2).Value)) > 20 Then
MsgBox "楼号不能超过20个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
curBuildID = Trim(grdUserMap.Columns(2).Value) '得到当前行的"公寓号"
Set rcChkBuild = dbCbb.OpenRecordset("BuildMap", dbOpenSnapshot)
rcChkBuild.FindFirst "BuildID=""" + curBuildID + """"
If rcChkBuild.NoMatch Then
MsgBox "无效的楼号", 48, "用户设置"
Cancel = True
End If
Case 3 '检查单元号有效性
If Len(grdUserMap.Columns(3).Value) > 1 Then
MsgBox "单元号不能超过1个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
Case 4 '检查楼层号有效性
If Len(grdUserMap.Columns(4).Value) > 3 Then
MsgBox "楼层号不能超过3个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
Case 5 '检查门牌号码有效性
If Len(grdUserMap.Columns(5).Value) > 5 Then
MsgBox "门牌号不能超过5个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
Case 6 '检查电话号码有效性
If Len(grdUserMap.Columns(6).Value) > 20 Then
MsgBox "电话号码不能超过20个字符", 48, "用户设置"
Cancel = True
GoTo EndUpdate
End If
' Case 8 '检查网络地址有效性
' Dim curAdd As Integer
' 'Dim curBuildID As String
'
' If Not IsNumeric(grdUserMap.Columns(8).Value) And Trim(grdUserMap.Columns(8).Value) <> "" Then
' MsgBox "用户地址必须为整数" + Chr(10) + "请重新选择用户地址", 48, "用户设置"
' Cancel = True
' GoTo EndUpdate
' End If
'
' If grdUserMap.Columns(8).Value = "" Then
' curAdd = 0
' Else
' curAdd = Val(grdUserMap.Columns(8).Value)
' End If
'
' If (curAdd < LUser Or curAdd > UUser) And curAdd <> 0 Then
' MsgBox "无效的用户地址", 48, "用户设置"
' Cancel = True
' End If
' curBuildID = Trim(grdUserMap.Columns(2).Value)
' rcChkUser.FindFirst "Address=" + Format(curAdd) + " And Trim(BuildID) = """ + curBuildID + """"
' If Not rcChkUser.NoMatch Then
' If rcChkUser!Address <> 0 Then
' MsgBox "该用户地址已经被占用" + Chr(10) + "请重新选择地址", 48, "用户设置"
' Cancel = True
' End If
' End If
End Select
EndUpdate:
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -