运行时错误'91':
对象变量或未设置块变量
我正在使用VB6
好的,这是我的代码
Private Sub Form_Load()
lblIDNumber.Caption = UserID
With datPersonal.Recordset
.Index = "idxid"
.Seek "=", UserID
LockTextboxes
End With
End Sub
Public Sub LockTextboxes()
With txtDateHired
.Locked = True
End With
With txtBirthday
.Locked = True
End With
With txtGender
.Locked = True
End With
With txtAddress
.Locked = True
End With
With txtContact
.Locked = True
End With
With txtStatus
.Locked = True
End With
With txtPosition
.Locked = True
End With
With txtBasicSalary
.Locked = True
End With
With txtReligion
.Locked = True
End With
End Sub
答案 0 :(得分:2)
通常在调用未设置的对象的方法时发生。
答案 1 :(得分:2)
您尚未初始化datPersonal.Recordset。
答案 2 :(得分:1)
这意味着您正在尝试使用变量,但未将变量设置为任何值。具体而言,变量引用对象而不是值类型。
通常的原因是Dim obj As SomeClass
而不是Dim obj As New SomeClass
,即在使用之前未能将变量设置为对象的引用。
答案 3 :(得分:1)
您需要先初始化类才能使用它们。假设datPersonal.Recordset实际上是一个Recordset类,那么您将需要执行以下操作:
Set datPersonal.Recordset = New ADODB.Recordset
您还需要确保在项目中添加了对ActiveX数据对象的引用。
看看以下内容:
答案 4 :(得分:1)
从您之前的问题我假设datPersonal指的是ADO Datacontrol。 datacontrol的连接字符串和选择标准可以在设计时设置,当应用程序启动时,会自动打开连接和记录集。
您收到此错误的事实表明未指定connectionstring和selection,或者执行了以下代码:
Set datPersonal.Recordset = Nothing
答案 5 :(得分:1)
也许问题已经以另一种方式解决了,但您可以尝试将代码从form_load移动到form_activate