VB 数据库ADO控件 报错实时错误91

VB 数据库ADO控件 报错实时错误91,第1张

对象变量

With

块变量没有设置(错误

91)

创建对象变量有两个步骤。第一,必须先声明对象变量。然后必须用

Set

语句将一个正确的引用赋值给对象变量。同样地,With...End

With

块必须先用

With

语句进入点来执行初始化。此错误有以下的原因和解决方法:

试图使用的对象变量,还没有用一个正确对象的引用来赋值。

给对象变量指定或再指定一个引用。例如,如果在下列的代码中省略

Set

语句的话,那么引用

MyObject

将会产生错误:

Dim

MyObject

As

Object

'

创建对象变量。

Set

MyObject

=

Sheets(1)

'

创建一个正确的对象引用。

MyCount

=

MyObject.Count

'

计数值赋给

MyCount。

试图用的对象变量已经被设为

Nothing。

Set

MyObject

=

Nothing

'

释放此对象。

MyCount

=

MyObject.Count

'

引用了已释放的对象。

再指定引用给对象变量。例如,使用新的

Set

语句给对象设置新的引用。

此对象是正确的对象,但没有被设置,因为在对象库中,在

“引用”

对话框中没有被选取。

“添加引用”

对话框选择对象库。

With

块内GoTo

语句的去向。

不要跳进

With

块。确保块使用

With

语句进入点以执行初始化。

当选了

“设置下一条语句

命令时,在

With

块内指定了一行。

With

块必须用

With

语句执行初始化。

==========================================

你的错误应该是:你定义了一个数据库链接(或者链接对象,或者控件)但是没有对这个链接初始化(如set

conn=createobject("adodb.connection"))或者赋值,导致该对象为空,所以当你使用这个对象的时候就会出问题。

一个窗口是无法直接使用另一个窗口上的ado控件的,需要引用的时候必须带上窗体名字,比如在form2中使用form1里的data1控件,就必须使用:

form1.Data1.<属性、方法>

这样的格式才是正确的,如果form1中的data1没有初始化或者这个窗口没有打开,则报错

你的代码没有错误,如果总是出现“对象变量或with块变量未设置”错误,只有一个可能,就是你的

mshflexgrid

控件的问题。当用的是

msflexgrid

控件时,会出现你说的问题。

Private SqlRes As ADODB.Recordset

Private Sub StuUpd_Click()

Dim SqlStr As String

SqlStr = "select * from XS where XH='" + Trim(StuXH.Text) + "'"

SqlRes.Open "select * from XS where XH='" + Trim(StuXH.Text) + "'", SqlCon, adOpenDynamic, adLockPessimistic

If Not SqlRes.EOF Then

'修改

SqlRes("XM") = StuXM.Text

SqlRes("XB") = StuXB.Text

SqlRes("ZY") = StuZY.Text

SqlRes("ZXF") = CInt(StuZXF.Text)

SqlRes.Update

Else

'添加

SqlRes.AddNew

SqlRes("XH") = StuXH.Text

SqlRes("XM") = StuXM.Text

SqlRes("ZY") = StuZY.Text

SqlRes("XB") = StuXB.Text

SqlRes("CSSJ") = CDate(StuCSSJ.Text)

If Trim(StuZXF.Text) <>"" Then

SqlRes("ZXF") = CInt(StuZXF.Text)

End If

SqlRes("BZ") = StuBZ.Text

SqlRes.Update

End If

SqlRes.Close

StuADO.Refresh

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9962027.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存