我有这个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
答案 0 :(得分:0)
db.OpenRecordset("<a local Table>")
将打开类型为Table
的记录集,其中.FindFirst
等无效。
使用dbOpenDynaset
或使用.Seek
方法。
Database.OpenRecordset Method (DAO)
如果在Microsoft Access工作区中打开记录集,但未指定类型,则OpenRecordset会创建表类型的Recordset(如果可能)。如果指定链接表或查询,则OpenRecordset会创建动态集类型的Recordset。