ACCESS有权限登要求的录窗口集锦.docx_第1页
ACCESS有权限登要求的录窗口集锦.docx_第2页
ACCESS有权限登要求的录窗口集锦.docx_第3页
ACCESS有权限登要求的录窗口集锦.docx_第4页
ACCESS有权限登要求的录窗口集锦.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ACCESS 登录权限 1我做了一个access的登录窗体,在加入代码后能够成功的登录,但是不能控制数据库权限, 2011-06-21 11:26 昏睡的猫1号 | 分类:数据库DB | 浏览621次我做了一个access的登录窗体,在加入代码后能够成功的登录,但是不能控制数据库权限,也就是说我那个登录窗体即使不用密码登录也可以关闭和打开数据库,求不能够区分管理员和用户,两者都可以修改数据库,这是我的代码Private Sub cmdYes_Click()On Error GoTo er If IIf(IsNull(Me.用户名), , Me.用户名) = Or IIf(IsNull(Me.密码), , Me.密码) = Then MsgBox 请输入用户名和密码!, vbInformation, 登录 Me.用户名.SetFocus Exit Sub End If Dim rst As New ADODB.Recordset rst.Open select 用户名 from 用户 where 用户名= & Me.用户名 & and 密码= & Me.密码 & , CurrentProject.AccessConnection, adOpenForwardOnly, adLockReadOnly If rst.EOF Then MsgBox 用户名或密码错误,请重新输入!, vbCritical, 登录 Me.用户名.SetFocus Else 记录登录用户名和登录时间 Dim rstInsert As New ADODB.Recordset rstInsert.Open 登陆日志, CurrentProject.Connection, adOpenDynamic, adLockOptimistic With rstInsert .AddNew !用户名 = Me.用户名 .Update End With rstInsert.Close Set rstInsert = Nothing DoCmd.Close End If rst.Close Set rst = Nothing Exit_cmdYes_Click: Exit Sub er: MsgBox Err.Description Resume Exit_cmdYes_Click上面字打错了,是不能狗区分管理员和用户的权限,而且即使是我不用窗体登录也可随便修改数据库,要入何修改才可以分清管理员权限而且如果不用密码登录就不能打开数据库啊,我的qq是692153207,求高手解答,万分感激。建议:可使用微信的“扫一扫”功能扫描下载分享到: 2011-06-21 11:36 提问者采纳 那是你代码写的问题,登陆和权限没有关系,access的权限不强,只能这样控制了,你要做的是判断提交过来的资料是否可以被当前用户处理,不能就直接结束程序或者是跳过就好了追问如何判断提交过来的资料是否可以被当前用户处理,不能就直接结束程序或者是跳过就好了 ,登录窗体可以识别是不是用户登录,但问题在于,即使我没有登录,程序也不会结束,我仍然可以继续编辑数据库,这样登录窗体就失去意义了,关键是如何直接结束在登录密码错误的情况下,谢谢!回答整个判断啊.判断是不是已经登陆就好了,登陆成功,将数据记录到session里面,你们老师没有说过吗?判断可不可以操作,就在用户表里面加个权限字段,表示是不是管理员啊,然后,操作的时候,检查下是不是权限足够了,就可以了啊提问者评价谢谢!老师没讲过,是说过用安全向导做,再加上我上课没听,下来都是自己自学的,很多都不懂,不过谢谢!评论 | 给力0不给力0ACCESS 登录窗口2关于access登录窗口代码! 2010-01-03 01:48 bradcheng | 分类:数据库DB | 浏览2704次Private Sub login_ok_Click()Dim userID As Integer If IsNull(Me.Com用户) = False Then If DLookup(密码, 系统用户, 用户名= & Com用户 & ) = Me.txt密码 Then userID = DLookup(id, 系统用户, 用户名= & Com用户 & ) DoCmd.Close DoCmd.OpenForm 主窗口 Form -主窗口.User = userID Else txt密码 = txt密码.SetFocus MsgBox 密码错误!, vbCritical End If End IfEnd Sub请问这段代码哪儿有问题?点“确定”就是没反应。新手!谢谢高手了!分享到: 2010-01-03 07:36 提问者采纳 程序比较乱,说access登录窗口,但没有发现连接数据库的关键语句。很多不知道是控件还是其他,其实access登录窗口是特别简单的,只要使用文本框中的数据和数据库的数据进行对比即可。给你代码参考:Private Sub Command1_Click()登录确认Dim sqldl As StringIf Text1.Text = Or Text2.Text = Then MsgBox 没有输入用户名或用户密码,请输入!, 16, 警告! Text1.SetFocus Text2.Text = Exit SubEnd If db.ConnectionString = DRIVER=Microsoft Access Driver (*.mdb);dbQ= & App.Path & 数据库名.mdb db.Open strSQL = select * from 登录表 where 名称= & Text1.Text & RS.Open strSQL, db, 3, 3If RS.EOF = True Then MsgBox 没有这个用户,请重新输入用户名!, 16, 警告 Text1.SetFocus Text1.Text = Text2.Text = RS.Close Set RS = Nothing db.Close Exit SubEnd IfIf RS(密码) Text2.Text Then MsgBox 密码不正确,请重新输入!, 16, 警告 Text2.SetFocus RS.Close Set RS = Nothing db.Close Exit SubEnd IfRS.CloseSet RS = Nothingdb.CloseUnload Me需要启动的窗体名.ShowEnd Sub提问者评价辛苦了评论 | 给力7不给力0ACCESS登录窗口 3VB+access设置登陆权限问题 2012-04-06 20:33 vbnm88244 | 分类:VB | 浏览1265次就是说我做了一张表,里面包含了,用户名,密码和权限用户名 密码 权限admin 123 管理员wang 321 员工而权限是用中文字体表示“管理员”,员工现在想做到用户登陆之后,如果是管理员就可以使用所有功能,而员工登陆有部分功能无法使用。该怎么做,请帮忙,最好有代码Private Sub Command1_Click()If Text1.Text = ThenMsgBox 用户名不能为空Text1.SetFocusExit SubEnd IfIf Text2.Text = ThenMsgBox 密码不能为空Text2.SetFocusExit SubEnd IfAdodc1.RecordSource = select * from 登陆 where 帐号= & Text1.Text & Adodc1.RefreshIf Adodc1.Recordset.EOF Then MsgBox 没有这个用户,请重新输入正确的用户名, , 错误提示 Else If Text2.Text = Adodc1.Recordset.Fields(密码) Then Form2.Show Form1.Hide Else MsgBox 你的密码错误,请输入正确的用户密码!, , 错误提示 End If End If End Sub分享到: 2012-04-06 21:57 提问者采纳 在模块中定义一个全局变量,例如:QX,在登录时,将用户的权限存储在变量QX中,进入登录后的界面:Private Sub Form_Load()If QX = 管理员 Then使员工不能使用的功能为真的代码.ElseIf QX = 员工 Then使员工不能使用的功能为假的代码.End IfEnd Sub追问If qx = 管理员 ThenCommand3.Visible = tureCommand3.Enabled = tureElseIf qx = 员工 ThenCommand3.Visible = FalseCommand3.Enabled = flaseEnd If这样?请问怎样 将用户的权限存储在变量QX中回答添加一个模块,在模块中定义一个全局变量, Public QX As String在登录界面:QX=RS!权限追问模块中添加了 Public QX As String,也在进入登录后的界面添加了代码,还是不行。回答在登录界面:登录成功后:QX=RS!权限(RS!权限 是读取数据库的权限字段的数据),如果你没有连接数据库,就不能这样。另外:If qx = 管理员 ThenCommand3.Visible = tureCommand3.Enabled = tureElseIf qx = 员工 ThenCommand3.Visible = FalseCommand3.Enabled = flaseEnd If中用Command3.Visible = ture就不要再用Command3.Enabled = ture追问QX=RS!权限添加在登陆界面哪里?添加在Private Sub Command1_Click()里面就显示要求对象添加在FORM里面都显示要求对象回答在登录界面:登录成功后:QX=RS!权限(RS!权限 是读取数据库的权限字段的数据),如果你没有连接数据库,就不能这样。“添加在Private Sub Command1_Click()里面就显示要求对象”估计你没有连接数据库,就你的登录的Private Sub Command1_Click()代码给我,帮你。追问我发在补充问题那里了,请看看回答If Adodc1.Recordset.EOF Then MsgBox 没有这个用户,请重新输入正确的用户名, , 错误提示 Else If Text2.Text = Adodc1.Recordset.Fields(密码) Then Form2.Show Form1.Hide QX = Adodc1.Recordset.Fields(权限) 这里将用户权限加在变量QX中 Else MsgBox 你的密码错误,请输入正确的用户密码!, , 错误提示 End If End If追问qx = RS!权限 添加在Private Sub Command1_Click()里面显示要求对象我原来是可以登陆进去的回答QX = Adodc1.Recordset.Fields(权限) 这里将用户权限加在变量QX中这样修改,因为你链接的是Adodc1,不是RS记录集对象追问终于可以了。权限那里改成1,0。Public QX As integer改成这样就可以了。用中文就不行。提问者评价谢谢那么耐心帮我ACCESS 登录窗口4怎么用VB和access做一个登陆界面 分用户权限 2010-10-12 14:55 ak47863 | 分类:数据库DB | 浏览3180次我使用的ADO控件 表已经连好了 Combo1 分为 管理员 和 员工access 表名为 商品信息表.mdb 当选择完权限 输入完 用户名和密码后 判断是否正确正确后进入 下一菜单 如果连续出现3次输入错误则无权访问系统 并自动退出 请问 这个 代码怎么写分享到: 2010-10-13 09:18 提问者采纳 以下是我以前写的一段代码,你修改一下完全能解决你的问题。Private Sub Command1_Click() If Text1.Text = Or Text2.Text = Then MsgBox 请输入完整的用户名及密码!, vbCritical, 警告 Else rs1.Open Select * From 制表人 Where 登录名= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic stra = rs1.Fields(2) inta = rs1.RecordCount rs1.Close If inta = 0 Then MsgBox 无此用户!, vbCritical, 警告 Exit Sub Else If Text2.Text = stra Then rs1.Open Select 制表人ID From 制表人 Where 登录名= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic a = rs1.Fields(0) 记录ID后可以在欢迎界面显示是谁登录,也可记录谁对软件进行更改和删除。该变量模块中声明 rs1.Close rs1.Open select 权限,姓名 from 制表人 where 登录名= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic name1 = rs1.Fields(1) name2 = rs1.Fields(0) 记录权限后可以限制用户的一些功能,该变量在模块中声明 rs1.Close Unload Me Form16.Show Else MsgBox 密码错误!, vbCritical, 提示 intCount = intCount + 1 If intCount = 3 Then 三次错误,程序退出 MsgBox 密码错误登录次数超过限制次数!, vbCritical, 警告 End End If Exit Sub End If End If End IfEnd Sub提问者评价自己解决了 还是谢谢你了Access登录窗口 5Private Sub Command1_Click()Adodc1.RecordSource = select * from 登陆 where 帐号= & Text1.Text & Adodc1.RefreshIf Adodc1.Recordset.EOF Then MsgBox 没有这个用户,请重新输入正确的用户名, , 错误提示 Else If Text2.Text = Adodc1.Recordset.Fields(密码) Then Form2.Show Form1.Hide qx = Adodc1.Recordset.Fields(权限) Else MsgBox 你的密码错误,请输入正确的用户密码!, , 错误提示 End If End Ifend sub在公共模块添加了 Public qx As integer,在主窗口也加了Private Sub Form_Load()If qx = 1 ThenCommand3.Visible = TrueCommand1.Enabled = TrueElseIf qx = 0 ThenCommand3.Visible = FalseCommand1.Enabled = FalseEnd IfEnd Sub运行程序分不了权限,求指导分享到: 2012-04-08 15:33 提问者采纳 你这个变量qx是定了的公有变量吗?你要添加一个公有模块并且用dim语句对qx进行申明。否则虽然你form_load和command1_click使用的是同名的变量,但是并不是相同的一个变量。他们在事件过程结束后就不存在了。还有你的form_load跟command1_click应该不是同一个窗体里的吧?否则前者发生时,后者还没读取权限数据,当然不能分配权限。追问没有DIM QX申明。应该在哪里DIM?command1_click是登陆界面的form_load 是登陆之后的主界面回答工程里面右键,添加一个模块,在模块里写入:dim qx as integer 或者 string ,看你那个权限是数字还是字符串来确定类型追问在公共模块写入了dim qx as integer ,删了Public qx As integer还是没有分出。权限是数字型的回答哦 sorry,原来public就是对的 疏忽了。程序发到邮箱给你看看 七零三六二六零圈圈.com追问不用,那么耐心教我就足够了继续求解已经发了给你邮箱,请看看回答找到原因了,错在这里:Form2.ShowForm1.Hideqx = Adodc1.Recordset.Fields(权限)应该把qx = Adodc1.Recordset.Fields(权限)这句上移到前面,改成:qx = Adodc1.Recordset.Fields(权限)Form2.ShowForm1.Hide因为按照你原来的代码,Form2加载的时候权限信息还没从数据库里读取,所以当然无法分配权限了。提问者评价谢谢那么耐心ACCESS 权限窗体 6vb+access权限相关 2009-11-15 13:39 anxihanxx | 分类:VB | 浏览830次If userpow = 普通用户 Then 权限相关 Frame2.Enabled = FalseEnd If我这样写但没有起到效果,想问为什么?说明:我有Frame2,并把几个按纽放在里面我的管理员表中有用户名 密码 权限三个字段我写成If 密码 = 普通用户或If 权限 = 普通用户 都没有效!急等,在线!用户名 密码 权限123 123 管理员111 111 普通用户000 000 普通用户分享到: 2009-11-15 14:23 提问者采纳 用户名 密码 权限字段中的值?特别是权限字段对于不同用户使用不同权限,例如:用户名 密码 权限AA1 123 普通用户BB1 123 管理员哪么:If RS!权限=管理员 THEN登录管理员界面ELSEIf RS!权限=普通用户 THEN登录用户界面END IF提问者评价老师很耐心,学生很佩服!评论 | 给力0不给力0ZHRX | 十四级 采纳率33% 擅长: VB 数据库DB 电脑/网络 其他类似问题ACCESS 权限窗口 7VB权限设置,我是通过VB和ACCESS做的一块小软件, 2012-03-15 20:56 790856931cp | 分类:VB | 浏览136次我想通过登录按钮实现管理员和普通用户的权限问题!很急同一个登录界面,登录分管理员和普通用户, 进去之后管理员能进行所有操作 而普通职员只能进行部分操作,其他菜单都是灰色的,禁用的谁以前做过分享到: 2012-03-15 21:30 提问者采纳 假如管理员对应开放的菜单名称都在一个字符串StrMenus里(这个事先保存在你数据库里的),主窗体为 MainF,则代码如下:For Each V In MainF.Controls Vname = UCase(V.Name) If UCase(TypeName(V) = MENU Then If InStr(StrMenus, Vname) 0 Then V.Enabled = True Else V.Enabled = False End If End If Next评论 | 给力0不给力0anankid | 来自团队 电脑DIY | 十级 采纳率45% 擅长: VB 图像处理软件 办公软件 医疗健康 其他类似问题 2012-04-07 VB+access设置登陆权限问题4 2012-04-09 vb+access分权限1 2009-11-15 vb+access权限相关 2010-10-14 怎么用VB和access做一个登陆界面 分用户权限7 更多相关问题 按默认排序 | 按时间排序 其他1条回答2012-03-26 16:30 李一是天才 | 三级 vb2008做的: userpri = ComboBox1.Text.ToString.Trim username = TextBox1.Text.ToString.Trim password = TextBox2.Text.ToString.Trim Dim n As Integer = judgeVege() If (username = And password = ) Then MessageBox.Show(用户名密码不能为空!) Else If (userpri = 操作员) Then If n = 1 Then Form1.Show() Else MessageBox.Show(用户名或密码错误) End If ElseIf (userpri = 管理员) Then If n = 1 Then Manager.Show() Else MessageBox.Show(用户名或密码错误) End If End If End If TextBox1.Text = TextBox2.Text = ACCESS 登录窗口 ADO 版ADO(ACTIVEX DATA OBJECTS)应用层的数据访问接口 ODBC 数据库驱动接口 OLE DB 系统级数据访问接口 DAO (DATA ACCESS OBJECTS) 对象的数据访问接口 ADO是基于全新的OLE DB技术而设计的.是一种基于应用程序层的数据访问接口.它是DAO/RDO的后继产物. DAO是VB最先采用的面向对象的数据访问接口,通过DAO访问MICROSOFT JET数据库引擎. ADODC是封装ADO的VB数据控件,可减少代码编写. ADODB是数据对象,操作数据库需通过编写代码 来实现. 以上简单说明仅供参考.想用VB做一个登陆界面如何和access相连接? 2009-10-25 09:02 panweikl | 分类:数据库DB | 浏览2948次想用VB做一个管理系统的登陆界面,如何和access相连接?请回答具体一点?我是新手,我想看看每步的详细步骤。不要别处复制的。现在已经有一个access数据库,并且有一个数据表,表内有两个属性:Username和Password。分享到: 2009-10-25 20:34 提问者采纳 1、首先在部件-控件里找到Microsoft ADO DataControl 6.0,打勾,然后在窗体上添加Adodc1。2. 添加两个文本输入框text1,text2,分别用来接收用户输入用户名和密码。 3、在Adodc1控件的属性窗口中单击Connectionstring右侧的按钮,打开ADO的属性页,选择“使用连接字符串”,单击“生成”按钮,打开数据链接属性对话框,在“提供程序”页中选择Microsoft Jet 4.0 OLE DB Provider,单击“下一步”,在“连接”页中,输入数据库名称XXXX.mdb(前提是将数据库文件和工程文件保存在同一目录下),单击“测试连接”,如果连接成功,单击“确定”即可。4、将以下代码添加到登录按钮: Private Sub Command1_Click() Adodc1.RecordSource = select * from 数据表名称 where username= & Text1.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 没有这个用户,请重新输入正确的用户名, , 错误提示 Else If Text2.Text = Adodc1.Recordset.Fields(password) Then MsgBox 登录成功!, , 错误提示 Else MsgBox 你的密码错误,请输入正确的用户密码!, , 错误提示 End If End If End Sub提问者评价你给的解决方案比较简便易行。谢谢!评论(1) | 给力36不给力2其他2条回答2009-10-25 10:17 gavinfanlove | 五级 1. 利用Adodc控件来实现,首先在部件-控件里找到Microsoft ADO DataControl 6.0,打勾,然后在窗体上添加Adodc,设置visible 为 false。2. 添加textbox 两个,text1,text2 (将text2的PasswordChar属性值设置为*)3. 添加botton一个,command1Private Sub Form_Load()连接数据库的信息(Jet OLEDB 4.0, DataSource - 数据库地址,这里用到了App.Path 意思是说在应用程序目录下的)Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & Biodoor.mdb;Persist Security Info=FalseEnd SubPrivate Sub Command1_Click()单击command1开始连接数据库,利用SQL语句来查询表(这儿暂时用Access数据库中的sys_Users数据表)Adodc1.RecordSource = Select * From sys_Users Where UserName = & Text1.Text & Adodc1.Refresh判断是否存在数据If Adodc1.Recordset.EOF = True Then如果不存在跳出窗口说 Invalid LoginMsgBox Invalid Login!Else如果存在继续判断密码是否为text2的文本If Adodc1.Recordset.Fields(UserPassword) = Text2.Text Then如果是跳出窗口说 WelcomeMsgBox Welcome!Else否则跳出窗口说 Invalid LoginMsgBox Invalid Login!End IfEnd IfEnd Sub评论 | 给力1不给力02009-10-25 22:41 fzgyxxgs | 三级 按照以下代码把你的表名、Username和Password改下就行了。Option ExplicitPublic appdisk As StringPublic conn As New adodb.ConnectionPublic rs As New adodb.RecordsetPublic Db As StringPrivate sSQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论