在数据库中,建立了一张表,成员为职工号,权限(权限设置为1,2,3,4,5,6,)。
现在想在FORM1(登录页面)判定用户的权限,然后在Form2(菜单),按照权限的不同,使某些 command.enabled = false
登录界面添加了一个ADO控件,然后可以在Text3 中 显示出权限。进而判断此权限在菜单中哪些command 可用。
判断权限代码:if text3.text= "6" then
command1.enabled = false
command2.enabled = ture
"
"
"
end if
elseif text3.text="5" then
下面就不写了,不知道问题出在哪,希望大家能够帮帮忙。
现在想在FORM1(登录页面)判定用户的权限,然后在Form2(菜单),按照权限的不同,使某些 command.enabled = false
登录界面添加了一个ADO控件,然后可以在Text3 中 显示出权限。进而判断此权限在菜单中哪些command 可用。
判断权限代码:if text3.text= "6" then
command1.enabled = false
command2.enabled = ture
"
"
"
end if
elseif text3.text="5" then
下面就不写了,不知道问题出在哪,希望大家能够帮帮忙。
这样的代码这么写累不累啊》?set rs=........
权限=rs("权限")select case 权限
case 1case 2case 3case 4case 5case 6end select
这样既不累,又不容易出错
这个是设置个记录源?????
if text3.text= "6" then
...
end if
elseif text3.text="5" then
应该是if text3.text= "6" then
...
elseif text3.text="5" then
蓝色,记录集中的权限字段值
Set myrs3 = New ADODB.Recordset
Text2.Text = myrs3("权限")
Select Case 权限
Case "1"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command4.Enabled = False
Me.Command5.Enabled = False
Me.Command6.Enabled = False
Case "2"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command5.Enabled = False
Me.Command6.Enabled = False
Case "3"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command4.Enabled = False
Me.Command5.Enabled = False
Case "4"
Me.Command1.Enabled = False
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command6.Enabled = False
Case "5"
Me.Command2.Enabled = False
Case "6"
End Select
End Sub
神人,我这改成这样了。然后再 form load里 CALL purview()
但是还是有错误 你给我解释的关于 权限=rs("权限")我还是没有弄明白。 你帮我看看这段代码怎么改。 我完全迷糊了。 最好你能帮我调一下我的代码。我可以给你发过去。求帮忙
Set myrs3 = New ADODB.Recordset
Text2.Text = myrs3("权限") '记录集还没打开,怎么能使用?使用之前必须使用
'myrs3.open 或者 set myrs3=cnn.execut....将记录集打开dim 权限 as long '必须添加这两句
权限= myrs3("权限")
Select Case 权限
Case "1"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command4.Enabled = False
Me.Command5.Enabled = False
Me.Command6.Enabled = False
Case "2"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command5.Enabled = False
Me.Command6.Enabled = False
Case "3"
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command4.Enabled = False
Me.Command5.Enabled = False
Case "4"
Me.Command1.Enabled = False
Me.Command2.Enabled = False
Me.Command3.Enabled = False
Me.Command6.Enabled = False
Case "5"
Me.Command2.Enabled = False
Case "6"
End Select
End Sub
mycon.Close
Set getrs = MyRs1
Set MyRs1 = New ADODB.Recordset
'If MyRs1.State = adStateOpen Then
' MyRs1.Close
'End If
'MyRs1.Open
Dim 权限 As String
Set MyRs1 = getrs("权限")Text2.Text = MyRs1("权限") '记录集还没打开,怎么能使用?使用之前必须使用
Select Case 权限
Case "1"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "2"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "3"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Case "4"
Form20.Command1.Enabled = False
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command6.Enabled = False
Case "5"
Form20.Command2.Enabled = False
Case "6"
End Select
End Sub
改成这样 提示我错误 在对应所需的列名或叙述的集合中为找到项目。 麻烦大神再帮我看下 万分感谢。
在登录界面添加ADO控件,用职工号 密码进行登录时,对当前登录的职工号进行选线判定。。代码如下:
Dim n As Integer 'n为限制登陆次数的变量
Private Sub Command1_Click()
Dim a1 As String
If Trim(Text1.Text) = "" Then
MsgBox "请输入用户名", vbExclamation, "注意"
Text1.SetFocus
Else
On Error GoTo Errorhandle
mycon.ConnectionString = "Driver={SQL Server};Server=ASUS-PC;UID=" & Trim(Text1.Text) & ";pwd =" & Trim(Text2.Text) & ";Datebase=研究所管理"
mycon.Open
Form20.Text1.Text = Form2.Text1.Text
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 系统用户角色表 where 职工号='" & Trim(Text1.Text) & "' " ‘这里是对当前用户的权限进行查找 输出在text3中
Adodc1.Refresh
Select Case Text3.Text
Case "1"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "2"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "3"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Case "4"
Form20.Command1.Enabled = False
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command6.Enabled = False
Case "5"
Form20.Command2.Enabled = False
Case "6"
Form20.Command1.Enabled = True
Form20.Command2.Enabled = True
Form20.Command3.Enabled = True
Form20.Command4.Enabled = True
Form20.Command5.Enabled = True
Form20.Command6.Enabled = True
End Select
Unload Me
Form20.Show
我现在想用这种,worldy大神。你以前给我整的那个实在整不出来啊
Private Sub Command1_Click()
Dim a1 As String
If Trim(Text1.Text) = "" Then
MsgBox "请输入用户名", vbExclamation, "注意"
Text1.SetFocus
Else
On Error GoTo Errorhandle
mycon.ConnectionString = "Driver={SQL Server};Server=ASUS-PC;UID=" & Trim(Text1.Text) & ";pwd =" & Trim(Text2.Text) & ";Datebase=研究所管理"
mycon.Open
Form20.Text1.Text = Form2.Text1.Text
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 系统用户角色表 where 职工号='" & Trim(Text1.Text) & "' " ‘这里是对当前用户的权限进行查找 输出在text3中
Adodc1.Refresh '此处没有出错吧?那你定义那个MyCon做傻用?'添加
Text3.Text=adodc1.recordset("权限") '我不知道你的字段名是否叫“权限”如果不是改成你的权限字段名Select Case Text3.Text
Case "1"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "2"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "3"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Case "4"
Form20.Command1.Enabled = False
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command6.Enabled = False
Case "5"
Form20.Command2.Enabled = False
Case "6"
Form20.Command1.Enabled = True
Form20.Command2.Enabled = True
Form20.Command3.Enabled = True
Form20.Command4.Enabled = True
Form20.Command5.Enabled = True
Form20.Command6.Enabled = True
End Select
Unload Me
Form20.Show
代码是没有错误。但是拿任意权限的账号登录进去,所有的功能还是都可用。要不我把我做得东西给你发过去。。你看看。。麻烦你了
Private Sub Command1_Click()
Dim a1 As String
If Trim(Text1.Text) = "" Then
MsgBox "请输入用户名", vbExclamation, "注意"
Text1.SetFocus
Else
On Error GoTo Errorhandle
mycon.ConnectionString = "Driver={SQL Server};Server=ASUS-PC;UID=" & Trim(Text1.Text) & ";pwd =" & Trim(Text2.Text) & ";Datebase=研究所管理"
mycon.Open
Form20.Text1.Text = Form2.Text1.Text
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 系统用户角色表 where 职工号='" & Trim(Text1.Text) & "' " ‘这里是对当前用户的权限进行查找 输出在text3中
Adodc1.Refresh '此处没有出错吧?那你定义那个MyCon做傻用?'添加
Text3.Text=adodc1.recordset("权限") '我不知道你的字段名是否叫“权限”如果不是改成你的权限字段名debug text3 '加入此,然后用不能账号,检查打印的值是否不一样
Select Case Text3.Text
Case "1"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "2"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command5.Enabled = False
Form20.Command6.Enabled = False
Case "3"
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command4.Enabled = False
Form20.Command5.Enabled = False
Case "4"
Form20.Command1.Enabled = False
Form20.Command2.Enabled = False
Form20.Command3.Enabled = False
Form20.Command6.Enabled = False
Case "5"
Form20.Command2.Enabled = False
Case "6"
Form20.Command1.Enabled = True
Form20.Command2.Enabled = True
Form20.Command3.Enabled = True
Form20.Command4.Enabled = True
Form20.Command5.Enabled = True
Form20.Command6.Enabled = True
End Select
Unload Me
Form20.Show
Private Sub Command8_Click()
Label8.Caption = Now()
MsgBox "出勤成功"
Command8.Enabled = FalseEnd Sub
这是我做的一个出勤按钮,只能点一次。点完就不能再点。能有什么启发么。worldy大神。。咱爱你