Access VBA-用Find或Seek方法实现查找符合条件的记录

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

转载于:https://www.cnblogs.com/meiyangsz/archive/2013/03/09/10228483.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值