水泥电阻测量:实时错误'91'对象变量或with块变量未设置(在线等)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 20:51:41
程序:
Private Sub cmdSave_Click()
If txtNewPWD(1) <> txtNewPWD(0) Then '验证两次输入的新口令是否相同
MsgBox "两次输入的新口令必须相等!", vbExclamation, "修改口令"
txtNewPWD(0).SetFocus
txtNewPWD(0).SelStart = 0: txtNewPWD(0).SelLength = Len(txtNewPWD(0))
Else '修改原来的口令
With Adodc1.Recordset
.Find "用户名='" & CurrentUserName & "'"
.Fields("密码") = Trim(txtNewPWD(0))
.Update
End With
MsgBox "口令以被成功修改!", vbInformation, "修改口令"
End If

当光标运行到.Find "用户名='" & CurrentUserName & "'"时报错::
实时错误'91'对象变量或with块变量未设置

什么原因
是VB的

你上面提供的代码都没问题,不过我没有看见你绑定数据库的语句或者你是否在设计时进行了正确的设置。

上述问题的原因可能是Adodc1.Recordset 绑定的数据库连接不正确,无法打开记录集(或数据库表)所致,当Adodc1.Recordset数据绑定不正确时,Adodc1.Recordset对象返回Nothing,这样对象就不存在,所以无法执行Find方法及后续操作。

你可以在With语句前加上一句测试的代码:

If not Adodc1.Recordset.EOF Then
With Adodc1.Recordset
.Find "用户名='" & CurrentUserName & "'"
.Fields("密码") = Trim(txtNewPWD(0))
.Update
End With
Else
Msgbox "数据库绑定错误!"
Exit Sub
End If

如有其他问题再和我联系。