Private Sub Form_Load()
Dim mydb As Database
Dim mytd As TableDef
Dim myfd As Field
Dim rs As Recordset
Set mydb = OpenDatabase("g:\pp.mdb", true, False)
Set mytd = mydb.TableDefs("newtd")
Set rs = mytd.OpenRecordsetrs.MoveFirst
rs.FindNext "name='qq'"  '出错的地方
If Not rs.NoMatch Then MsgBox "find it!!!"
rs.Close
mydb.CloseEnd Sub实时错误 3251 这种对象类型不知道该操作
为什么?

解决方案 »

  1.   

    FindNext 只能用于 dynaset 型態或 snapshot 型態之 Recordset
    你可以改为以下试试Private Sub Form_Load()
    Dim mydb As Database
    Dim mytd As TableDef
    Dim myfd As Field
    Dim rs As Recordset
    Set mydb = OpenDatabase("g:\pp.mdb", true, False)
    'Set mytd = mydb.TableDefs("newtd")'这句可以不要,这种物件只能在独占模式下开启
    Set rs = mydb.OpenRecordset("newtd",dbopendynaset)'这里改一下rs.MoveFirst
    'rs.FindNext "name='qq'"  '出错的地方
    rs.Findfirst "name='qq'"  '也可改为这句If Not rs.NoMatch Then MsgBox "find it!!!"
    rs.Close
    mydb.CloseEnd Sub