vb 实时错误‘91’对象变量或 With 块变量没有设置

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:44:28
Private Sub Form_Load()
Dim i%, tabDef As TableDef
Dim sqlStr$
Dim ret As Long
Dim Temp_Str$, X As Long
If Not Fileexists(Lib_path + "\CHECKIN.DBF") Then
Set tabDef = Lib_db.CreateTableDef("CHECKIN")
ReDim fld(5) As New Field
fld(0).Name = "ID": fld(0).Type = DB_INTEGER: fld(0).Size = 6
fld(1).Name = "PID": fld(1).Type = DB_INTEGER: fld(1).Size = 6
fld(2).Name = "CHECKDATE": fld(2).Type = DB_Text: fld(2).Size = 25
fld(3).Name = "CID": fld(3).Type = DB_INTEGER: fld(3).Size = 6
fld(4).Name = "CHECKIN": fld(4).Type = DB_Text: fld(4).Size = 40
fld(5).Name = "LAT_TIME": fld(5).Type = DB_INTEGER: fld(5).Size = 6
For i = 0 To 5
tabDef.Fields.Append fld(i)
Next i

Lib_db.TableDefs.Append tabDef
Set tabDef = N

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

上述问题的原因可能是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

试一下。