急~~!!怎样在ACCESS中做一个带有用户名、密码的登陆窗体?

这是数据库留的作业,完全自学ACCESS,纯粹菜鸟一个求各位大神详细指点!!!这是我自己做的,但现在不输入用户名和密码,点击进入系统就可以登陆到我要的那个窗体,我不知道怎... 这是数据库留的作业,完全自学ACCESS,纯粹菜鸟一个
求各位大神详细指点!!!

这是我自己做的,但现在不输入用户名和密码,点击进入系统就可以登陆到我要的那个窗体,我不知道怎么能改成只能输入完用户名和密码后才能点击登陆,这个用户名和密码我做了一个表,一个是文本字段,一个是密码,都用的有效性规则,用户名只能输入管理员,密码为123456(其实我不懂怎么做,是自己做着试试的,请大神指正啊!!!),然后在窗体里把这两个放进去了,控件连接的是我要打开的窗体,但现在的问题就是,我输入密码不正确,进不了系统,但我输入正确了,或者根本不输入密码和用户名,直接点击也能进去,怎么改呢?!

这是这个窗体目前的代码,貌似没有将用户名、密码和进入系统的控件联系起来。。我没学过啊!!!完全不懂,也不知道怎么改。。。

PS, 如果那个登陆界面能做成Msgbox那样的小窗口就更好了。。下面这种效果的就最好,图片什么的可以不用考虑
展开
 我来答
创作者zUzVB1Sl31
2013-09-17 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5974

向TA提问 私信TA
展开全部

用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教程

解0人
推荐于2017-12-16 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:741万
展开全部

看你的样子,是不是把登录窗体做成绑定窗体了??

不要绑定窗体,窗体中的用户名和登录密码两个文本框不要和表字段绑定,不需要神马有效性规则...只需要:

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开发易登软件
2020-12-09 · 超过18用户采纳过TA的回答
知道答主
回答量:79
采纳率:100%
帮助的人:6.7万
展开全部

Access 中的窗体是一种数据库对象,可用于创建数据库应用程序的用户界面。“绑定”窗体直接连接到表或查询之类的数据源,可用于输入、编辑或显示来自该数据源的数据。或者也可以创建“未绑定”窗体。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
摸摸猫咪
2013-09-16
知道答主
回答量:45
采纳率:0%
帮助的人:5.6万
展开全部
jm/lk就iojiojmkojioj8by
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式