Q: 为什么执行Data1.Recordset.FindFirst "PubID=" & DBCombo1.BoundText时出现"对象不支持该属性或方法"错误?
A:这是因为FindFirst、FindNext、FindLast等方法不支持Table类的记录集,但可以使用Seek方法进行查找工作,但你必须对Pubid字段建立索引。如果想使用FindFirst方法,请修改Data1的RecordsetType属性为Dynaset。
.用seek方法示例:
Set rec = CurrentDb.OpenRecordset("GuestList")
With rec
.Index = "GuestId" 'GuestId是在表属性里设定的索引名,可能指向某字段
.Seek "=", 客户ID
If .NoMatch Then 'havn't find
MsgBox "Can't find thid GuestId:" & 客户ID
Else
AutoFill_CopyRecordInfo (rec)
.Edit
!最近使用 = True
.Update
End If
.Close
End With
.用find方法示例:
Set rec = CurrentDb.OpenRecordset("GuestList", dbOpenDynaset)
With rec
.FindLast "GuestId = '" & 客户ID & "'"
intIdLast = ![ID]
'使用FindFirst后,指针停在第一条客户ID条件符合的记录处
.FindFirst "GuestID = '" & 客户ID & "'"
Do
intId = ![ID]
If ![销售平台] = 销售平台 Then
blFoundGuest = True
intIdNewest = intId
If ![最近使用] = True Then
blFoundUsed = True
AutoFill_CopyRecordInfo (rec)
Exit Do
End If
End If
.FindNext "GuestID = '" & 客户ID & "'"
Loop While intId <> intIdLast
.Close
End With