Office中国论坛/Access中国论坛

标题: 大侠们,请教一下 [打印本页]

作者: mqs    时间: 2013-5-17 12:39
标题: 大侠们,请教一下
在数据库中修改密码按钮出现这个错误什么意思啊??
作者: mqs    时间: 2013-5-17 12:40
Private Sub 确定_Click()
If IsNull(Me!原密码文本框) Then
MsgBox "请输入原来的密码!", vbOKOnly, "请确定"
Me!原密码文本框.SetFocus
Exit Sub
End If
If IsNull(Me!新密码1文本框) Then
MsgBox "请输入新密码!", vbOKOnly, "请确定"
Me!新密码1文本框.SetFocus
Exit Sub
End If
If IsNull(Me!新密码2文本框) Then
MsgBox "请再次输入新密码!", vbOKOnly, "请确定"
Me!新密码2文本框.SetFocus
Exit Sub
End If
If StrComp(Me!新密码1文本框, Me!新密码2文本框, vbBinaryCompare) <> 0 Then
MsgBox "你两次输入的新密码不一致!", vbOKOnly, "请确定"
Me!新密码1文本框.SetFocus
Exit Sub
End If
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim SQLstring As String

SQLstring = "select * from 读者信息表 where 借书证号='" + user借书证号 + "'"

rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs.MoveFirst
If StrComp(rs("登陆密码"), Me!原密码文本框, vbBinaryCompare) <> 0 Then
MsgBox "你输入的原密码错误!", vbOKOnly, "警告!"
Me!原密码文本框.SetFocus
Exit Sub
End If
Set rs = Nothing
Dim updatesqlstring As String
updatesqlstring = "update 读书信息表 set 登陆密码='" + Me!新密码1文本框 + "' where 借书证号='" + user借书证号 + "'"

DoCmd.SetWarnings False
DoCmd.RunSQL updatesqlstring
MsgBox "密码修改成功!", vbOKOnly, "恭喜!"

Me!原密码文本框 = ""
Me!新密码1文本框 = ""
Me!新密码2文本框 = ""
   
End Sub
作者: mqs    时间: 2013-5-17 12:40
大家看看那里有问题啊??????每次都是rs.MoveFirst这里有问题啊???不知道为什么啊???
作者: 竹笛    时间: 2013-5-17 14:38
应该是你查询出来没数据导致记录集里没数据 你要确保select出来时有数据的有数据
作者: access新闻爱好者    时间: 2013-5-17 17:37
图片好像看不到,最好上传个附件吧!
作者: todaynew    时间: 2013-5-17 17:47
mqs 发表于 2013-5-17 12:40
Private Sub 确定_Click()
If IsNull(Me!原密码文本框) Then
MsgBox "请输入原来的密码!", vbOKOnly, "请 ...

rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
if rs.RecordCount=0 then
     msgbox "鬼打架的,怎么没搞到数据!"
     exit sub
end if
rs.MoveFirst

加上红色的代码
作者: mqs    时间: 2013-5-17 23:13
todaynew 发表于 2013-5-17 17:47
rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
if rs.RecordCount=0  ...

出来就是“鬼打架的,怎么没搞到数据”
作者: mqs    时间: 2013-5-17 23:14
竹笛 发表于 2013-5-17 14:38
应该是你查询出来没数据导致记录集里没数据 你要确保select出来时有数据的有数据

哪里chaxun a ??
作者: mqs    时间: 2013-5-17 23:17
怎么会没数据啊??
作者: mqs    时间: 2013-5-17 23:21
access新闻爱好者 发表于 2013-5-17 17:37
图片好像看不到,最好上传个附件吧!

就是这些啊~~~

作者: mqs    时间: 2013-5-17 23:22
mqs 发表于 2013-5-17 23:21
就是这些啊~~~

还有就是出现这个啊~~~怎么回事啊???

作者: todaynew    时间: 2013-5-18 06:19
mqs 发表于 2013-5-17 23:21
就是这些啊~~~



说明sql语句有错误嘛
作者: mqs    时间: 2013-5-18 08:35
todaynew 发表于 2013-5-18 06:19
说明sql语句有错误嘛

那帮我看看那里错了????徐谢谢哦~~~
作者: Henry D. Sy    时间: 2013-5-18 08:53
mqs 发表于 2013-5-17 23:21
就是这些啊~~~

你打开的记录集是没有记录的,所以rs.MoveFirst就会出错。
作者: mqs    时间: 2013-5-18 09:20
Henry D. Sy 发表于 2013-5-18 08:53
你打开的记录集是没有记录的,所以rs.MoveFirst就会出错。

那应该怎么改正啊????才可以对啊??
作者: todaynew    时间: 2013-5-18 10:13
mqs 发表于 2013-5-18 09:20
那应该怎么改正啊????才可以对啊??

SQLstring = "select * from 读者信息表 where 借书证号='" & me.user借书证号.value & "'"
rs.Open SQLstring, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
if rs.RecordCount=0 then
     msgbox "笨蛋!没这个借书证号!"
     exit sub
end if
rs.MoveFirst
作者: aslxt    时间: 2013-5-18 10:14
SQLstring = "select * from 读者信息表 where 借书证号='" + user借书证号 + "'"
之后添加一句  debug.print SQLstring  
运行出错后复制print的结果到查询中测试一下,看看有没有查询到记录?

作者: Henry D. Sy    时间: 2013-5-18 11:14
mqs 发表于 2013-5-18 09:20
那应该怎么改正啊????才可以对啊??

要不你把例子传上来,
作者: 竹笛    时间: 2013-5-20 08:27
mqs 发表于 2013-5-17 23:14
哪里chaxun a ??

不是,你理解错了.其实就是你select * from 读者信息表 where 借书证号='" + user借书证号 + "'出来必须是有内容的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3