急~~!!怎样在ACCESS中做一个带有用户名、密码的登陆窗体?
求各位大神详细指点!!!
这是我自己做的,但现在不输入用户名和密码,点击进入系统就可以登陆到我要的那个窗体,我不知道怎么能改成只能输入完用户名和密码后才能点击登陆,这个用户名和密码我做了一个表,一个是文本字段,一个是密码,都用的有效性规则,用户名只能输入管理员,密码为123456(其实我不懂怎么做,是自己做着试试的,请大神指正啊!!!),然后在窗体里把这两个放进去了,控件连接的是我要打开的窗体,但现在的问题就是,我输入密码不正确,进不了系统,但我输入正确了,或者根本不输入密码和用户名,直接点击也能进去,怎么改呢?!
这是这个窗体目前的代码,貌似没有将用户名、密码和进入系统的控件联系起来。。我没学过啊!!!完全不懂,也不知道怎么改。。。
PS, 如果那个登陆界面能做成Msgbox那样的小窗口就更好了。。下面这种效果的就最好,图片什么的可以不用考虑 展开
用VBA,先建立一个用户表,在窗体上拉两个文本框输入用户名和密码用,再拖一个按钮,在VBA工程模块中找到按钮名称,并在他的Click事件中加入下面的代码:
Private Sub Command1_Click() '//假设你的按钮名叫Command1
'//连接数据库去查找用户
Dim cnn As ADODB.Connection '//连接对象
Dim rs As ADODB.Recordset '//数据集合
Set cnn = CurrentProject.Connection '//连接对象就是本身,临时连接就好了
Set rs = New ADODB.Recordset '//实例化数据集合
rs.Open "Select * from 用户表 where 用户名='" + Trim(Me.Text1) + "' and 密码='"+Trim(Text2)+"'", cnn '//注意不要画蛇添足写个Text1.Text,ACCESS不一样,写属性会让你不停去找焦点的,这里是打开数据集合
If rs.EOF Then '//如果没找到记录,就说明验证错误了嘛
MsgBox "对不起!用户名或密码错误,请重新输入!",vbOkOnly,"系统消息"
Me.Text1=""
Me.Text2="" '//如果验证失败,两个文本框空值
Me.Text1.SetFucos '//让光标焦点跳到Text1用户名输入框上去
Else '//如果查到了用户数据,那就登陆成功了
MsgBox "登陆成功","系统消息"
你需要打开的窗体名称.Show
Me.Hide '//隐藏自己,打开你要打开的窗体界面
End If '//结束IF循环
End Sub '//结束按钮事件
这只是个简单例子,希望对你有帮助,写完代码要把窗体设置成启动模式,只启动登陆窗体就好了,人家看到你用户表做登陆事件也是没意义的。ACCESS本身就可以设置密码安全,他其实不是开发环境,本身就是个软件,你做好了验证别人拿着往别的表一导入,一样的可以用。
ACCESS打开的时候把文件取消打开,然后在文件菜单下面找到打开,找到你的文件
右下脚有个按钮,选择以独占形式打开,进入ACCESS后在安全里就可以设置密码了,
这个密码比上面的策略安全,别人很难破解
不知道楼主能不能看懂
参考文献:
http://www.51zxw.net/list.aspx?cid=335 自学网
http://www.duote.com/tech/access/ 2345软件教程
http://www.51vba.com/ 51VBA教程
看你的样子,是不是把登录窗体做成绑定窗体了??
不要绑定窗体,窗体中的用户名和登录密码两个文本框不要和表字段绑定,不需要神马有效性规则...只需要:
1.建好用户表,表中设好用户名和密码;
2.登录窗体中【进入系统】按钮的单击事件代码:
if isnull(me.用户名) or isnull(me.登录密码) then
msgbox "请输入正确的用户名和密码!"
elseif isnull(DLookup("密码","用户表","用户名='" & me.用户名 & "'")) then
msgbox "用户名不存在!"
elseif DLookup("密码","用户表","用户名='" & me.用户名 & "'")=me.登录密码 then
docmd.openform 窗体名称
else
msgbox "密码错误!"
end if
'祝你成功!
太感谢了!!!窗口的问题解决了!!!现在还有两个问题哦。。在登陆成功以后,这个登陆界面依然存在,而且每输入一次用户名和密码,用户表中的用户名和密码都会自动增加一条,能不能在登陆以后就自动关闭呢,有没有方法能不让数据自动添加记录呢?
1.登陆成功后,关闭这个登录界面即可,
在"docmd.openform 窗体名称"下面再加一句代码,
Docmd.close acform,me.name
2.不应该自动增加的,除非你的用户名和密码文本框是绑定表字段的...
上面已经说过了,不要绑定!
在窗体设计中,选中整个窗体-->属性-->数据来源,不要设置任何内容;
选中用户名文本框,属性-->控制项数据来源,不要设置任何内容,密码文本框同样。
另外,你说的"如果那个登陆界面能做成Msgbox那样的小窗口就更好了",完全可以的,窗体大小自己可以调整,不要窗体最大化,自己多摸索一下。
祝你成功!
Access 中的窗体是一种数据库对象,可用于创建数据库应用程序的用户界面。“绑定”窗体直接连接到表或查询之类的数据源,可用于输入、编辑或显示来自该数据源的数据。或者也可以创建“未绑定”窗体。