访问VBA错误“此类型的对象不支持该操作”

时间:2018-07-11 10:38:34

标签: vba ms-access

我有这个vba代码,但我不明白为什么它会返回错误
me.ID存储为字符串btw

Private Sub ID_AfterUpdate()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Me.ID = UCase(Me.ID)
      Set db = CurrentDb
    Set rs = db.OpenRecordset("Products")   
    rs.FindFirst ("[SKU] =""" & Me.ID & """") //this is the one giving error
    If Not rs.NoMatch Then
        MsgBox ("SKU Existed")
        Me.ID.Value = Null
        Me.Next.SetFocus //just for the sake of moving to this field then
        Me.ID.SetFocus  //to this field coz sometimes it won't go straight to
    End If

    rs.Close
    Set rs = Nothing
    Set db = Nothing End Sub

any idea where I got this wrong ?

1 个答案:

答案 0 :(得分:0)

db.OpenRecordset("<a local Table>")

将打开类型为Table的记录集,其中.FindFirst等无效。

使用dbOpenDynaset或使用.Seek方法。

Database.OpenRecordset Method (DAO)

  

如果在Microsoft Access工作区中打开记录集,但未指定类型,则OpenRecordset会创建表类型的Recordset(如果可能)。如果指定链接表或查询,则OpenRecordset会创建动态集类型的Recordset。