关于access2010创建账户密码登陆框
2012-04-04 10:56匿名 | 分类:数据库DB | 浏览1545次
按照access2007教程做了个有密码的登陆框但是无法运行弹出错误调试什么的
以下是教程代码:
If IsNull(Me.管理用户) Then
MsgBox "请输入管理用户的帐号!", vbQuestion
Exit Sub
End If
If IsNull(Me.登录密码) Then
MsgBox "请输入管理用户的登录密码!", vbQuestion
Exit Sub
End If
If adlogin = True Then
以下是教程代码:
If IsNull(Me.管理用户) Then
MsgBox "请输入管理用户的帐号!", vbQuestion
Exit Sub
End If
If IsNull(Me.登录密码) Then
MsgBox "请输入管理用户的登录密码!", vbQuestion
Exit Sub
End If
If adlogin = True Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "职员考勤主界面"
Else
MsgBox " 管理用户帐号或密码错误,请重新输入! ", vbCritical
Exit Sub
End If
Public Function adlogin() As Boolean
Dim str As Database
Dim rs
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'")
If Not rs.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
DoCmd.OpenForm "职员考勤主界面"
Else
MsgBox " 管理用户帐号或密码错误,请重新输入! ", vbCritical
Exit Sub
End If
Public Function adlogin() As Boolean
Dim str As Database
Dim rs
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'")
If Not rs.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
End If
End Function
If MsgBox(" 您是否确定退出本系统? 按 [ 是 ] 确定 按 [ 否 ] 取消 ", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Quit acQuitSaveAll
End If
--------------------------------------分割线------------------------------
错误行:
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'")
重复做了3变还是有错误 不知道是怎么回事
End Function
If MsgBox(" 您是否确定退出本系统? 按 [ 是 ] 确定 按 [ 否 ] 取消 ", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Quit acQuitSaveAll
End If
--------------------------------------分割线------------------------------
错误行:
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'")
重复做了3变还是有错误 不知道是怎么回事
分享到:
2012-04-10 10:17提问者采纳
你是不是做得太麻烦了;ACCESS还不好解决,你直接给窗体指定 用户表做数据源
Private Sub 登陆_Click()
If Trim(用户名) = Me.用户名 And Trim(密码) = Me.密码 Then
DoCmd.Close
DoCmd.OpenForm ("职员考勤主界面")
Else: MSGBOX("错误提示")
Me.SetFocus
Me.用户名= ""
Me.密码 = ""
End If
End Sub
你别把自己搞糊涂了,没有哪个动作去调用函数查数据源,都没查到数据源怎么判断,很简单的问题别想太复杂了,如果你觉得不该用窗体数据源access数据库用什么软件,那你就定义一个连接吧,呼叫连接一样的效果,消息对话框随你怎么写.还有,你存在一个根本性的错误:你定义的不是窗体数据源,怎么用窗
Private Sub 登陆_Click()
If Trim(用户名) = Me.用户名 And Trim(密码) = Me.密码 Then
DoCmd.Close
DoCmd.OpenForm ("职员考勤主界面")
Else: MSGBOX("错误提示")
Me.SetFocus
Me.用户名= ""
Me.密码 = ""
End If
End Sub
你别把自己搞糊涂了,没有哪个动作去调用函数查数据源,都没查到数据源怎么判断,很简单的问题别想太复杂了,如果你觉得不该用窗体数据源access数据库用什么软件,那你就定义一个连接吧,呼叫连接一样的效果,消息对话框随你怎么写.还有,你存在一个根本性的错误:你定义的不是窗体数据源,怎么用窗
体去筛选,那就判断数据连接是否查询到了记录就行了,而不是判断窗体控件是否为NULL.有两个办法,1.判断查询有没有记录来决定登陆事件2.给控件指定到数据源,判断控件是否为空查询.改一下思路,很简单的
评论(2) | 1
各种 trim 函数的语法如下:
LTRIM(字串):将字串左边的空格移除。
RTRIM(字串): 将字串右边的空格移除。
TRIM(字串): 将字串首尾两端的空格移除,作用等于RTRIM和LTRIM两个函数共同的结果。
ALLTRIM(字串):将字串左右边两边的空格移除。
例1:
TRIM(' Sample ');
结果:
'Sample'
例2:
LTRIM(' Sample ');
结果:
'Sample '
例3:
? RTRIM(' Sample ');
结果:
' Sample'
ALLTRIM(" Sample ")
结果:
"Sample"
CurrentDb.OpenRecordset是什么意思
2010-08-09 14:09 提问者悬赏:20分 | opwquiwq | 分类:VB | 浏览3754次
分享到:
2010-08-18 02:30网友采纳
CurrentDb是你的数据库对象
OpenRecordset是打开结果集的意思。打个比方,Set RS=CurrentDB.OpenRecordset("麻烦服务器帮我查下AAAA数据表里2003年以前的所有记录") 'SQL语句翻译:"Select * From AAAA Where dDate<'2003-1-1'"
服务器查询后,也许查到了20条记录,把结果返回、装在了RS里,RS里存的就是结果集数据,RS就是结果集类型(Recordset)。
OpenRecordset是打开结果集的意思。打个比方,Set RS=CurrentDB.OpenRecordset("麻烦服务器帮我查下AAAA数据表里2003年以前的所有记录") 'SQL语句翻译:"Select * From AAAA Where dDate<'2003-1-1'"
服务器查询后,也许查到了20条记录,把结果返回、装在了RS里,RS里存的就是结果集数据,RS就是结果集类型(Recordset)。
其他1条回答
2010-08-09 14:23远风的梦想家 | 十二级
一般用法是set rs = cureentdb.openrecordset(....)是用来打开一个记录集的
简单的VB代码.....
2011-06-29 20:43wr394708958 | 分类:VB | 浏览248次
Dim str As Database
Dim rs
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'") 【显示这句错误438,对象不支持改属性和方法】
If Not rs.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
Dim rs
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'") 【显示这句错误438,对象不支持改属性和方法】
If Not rs.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
End If
End Function
End Function
分享到:
2011-06-29 22:17提问者采纳
Function opentable(byval txtPath as string) '【功能:建立数据库连接;状态:完成】
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtPath & ";"
Set res = New ADODB.Recordset
End Function
Function closetable() '【功能:关闭数据库连接;状态:完成】
conn.Close
End Function
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & txtPath & ";"
Set res = New ADODB.Recordset
End Function
Function closetable() '【功能:关闭数据库连接;状态:完成】
conn.Close
End Function
set res=dset
res.Open "select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'"
If Not res.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
End If
res.Open "select 管理用户,登录密码 from 管理员信息 where 管理用户= '" & Me.管理用户 & "' and 登录密码='" & Me.登录密码 & "'"
If Not res.EOF Then
If rs.Fields("登录密码") = Me.登录密码 Then adlogin = True
End If
追问
终于能编译过去了。。太谢谢了。。可是它提示用户和密码不对,请你再帮我看看,我没有什么基础。。....
上面那段代码我不需要再自己改动什么地方了吗?
上面那段代码我不需要再自己改动什么地方了吗?
回答
上面那段不需要再改动。
哪里提示用户和密码不对?如果可行的话,你把工程文件全部打包发给我(379650356@qq.
哪里提示用户和密码不对?如果可行的话,你把工程文件全部打包发给我(379650356@qq.
com)
出于保密需求的话,你至少把这一段发完整……好吗?
出于保密需求的话,你至少把这一段发完整……好吗?
提问者评价
谢了,我已经解决了~
评论 | 0 0
sunruisunrui | 来自团队 永霸天下 | 十级 采纳率40%
擅长: VB 数据库DB C#/.NET Windows 欧美明星
Access的问题,请大家帮我
2012-04-16 15:58rensiming1 | 分类:数据库DB | 浏览86次
Option Compare Database
Private Sub 登陆_Click()
If IsNull(Me.请输入用户名) Then
MsgBox "请输入用户名", vbQuestion
Exit Sub
End If
If IsNull(Me.输入用户密码) Then
MsgBox "请输入密码", vbQuestion
Exit Sub
End If
If adlogin = True Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "管理窗体"
Else
Private Sub 登陆_Click()
If IsNull(Me.请输入用户名) Then
MsgBox "请输入用户名", vbQuestion
Exit Sub
End If
If IsNull(Me.输入用户密码) Then
MsgBox "请输入密码", vbQuestion
Exit Sub
End If
If adlogin = True Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "管理窗体"
Else
MsgBox "管理员或密码错误,请重新输入!", vbCritical
Exit Sub
End If
End Sub
Public Function adlogin() As Boolean
Dim str As Database
Dim rs As Recordset
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理员姓名,管理员密码 from 管理员 where 管理员姓名='" & Me.请输入用户名 & "" And 管理员密码 = "" & Me.输入用户密码 & "'")
If Not rs.EOF Then
If rs.Fields("管理员密码") = Me.输入用户密码 Then adlogin = True
End If
End Function
这个在运行时显示“运行时错误‘13’类型不匹配”
Exit Sub
End If
End Sub
Public Function adlogin() As Boolean
Dim str As Database
Dim rs As Recordset
Set str = CurrentDb
Set rs = str.OpenRecordset("select 管理员姓名,管理员密码 from 管理员 where 管理员姓名='" & Me.请输入用户名 & "" And 管理员密码 = "" & Me.输入用户密码 & "'")
If Not rs.EOF Then
If rs.Fields("管理员密码") = Me.输入用户密码 Then adlogin = True
End If
End Function
这个在运行时显示“运行时错误‘13’类型不匹配”
2012-04-19 12:06提问者采纳
& "" And 管理员密码 = "" & 错误,要改成:& "' And 管理员密码 = '" &,即表达式计算后其值是字符串的要用 ' 而非 " 。头尾用对了(where 管理员姓名='" 及Me.输入用户密码 & "'"用对了)
,中间用错了!另外如果密码是数字,则后面的两个 ' 要去掉!
,中间用错了!另外如果密码是数字,则后面的两个 ' 要去掉!
提问者评价
谢谢你,在你的帮助下,我成功了
评论 | 1 0
qyx7137 | 四级 采纳率66%
擅长: 系统软件 数据库DB 财务税务 保险 股票
按默认排序 | 按时间排序
其他1条回答
2012-04-17 21:28feifei20080 | 五级
If rs.Fields("管理员密码") = Me.输入用户密码 Then adlogin = True
应该是这句话。把程序给我我帮你看吧
应该是这句话。把程序给我我帮你看吧
评论 | 0 0
等待您来回答
怎样在access窗体加载时就使一个文本框取得焦点?
2012-08-14 16:56fyx1204 | 分类:数据库DB | 浏览279次
分享到:
2012-08-14 18:51提问者采纳
在加载事件中输入文本框获得焦点,如下:
Private Sub Form_Load()
Me.文本框名.SetFocus
End Sub
Private Sub Form_Load()
Me.文本框名.SetFocus
End Sub
在Access数据库窗体中怎么实现一个文本框中输入内容,在另一个文本框中显示根本刚才输入的内容,显示出结
2013-05-30 15:23 提问者悬赏:30分 | 魑魅魍魉魂魄瑰 | 分类:数据库DB | 浏览352次
有个表 姓名 年龄
我有2个文本框“姓名”“年龄”
我想输入姓名后,年龄那个文本框直接出结果。
不太会弄,请指教一下。谢谢了!
我有2个文本框“姓名”“年龄”
我想输入姓名后,年龄那个文本框直接出结果。
不太会弄,请指教一下。谢谢了!
分享到:
2013-05-30 15:54网友采纳
年龄文本框,设置其数据来源:
=dlookup("[年龄字段名称]","[表名]","姓名='" & me.[姓名文本框名称] & "'")
以上[ ]中的名称都改为你自己的实际名称,祝你成功!
=dlookup("[年龄字段名称]","[表名]","姓名='" & me.[姓名文本框名称] & "'")
以上[ ]中的名称都改为你自己的实际名称,祝你成功!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论