office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

access使用書簽的方法篩選記錄

2020-02-18 08:00:00
tmtony8
原創
512

查找記錄的控件顯示在窗體時,FindRecord方法是一種非常好的搜索方式。

如果要搜索是單個值,可以用《access組合框篩選綁定窗體的記錄》方法

但是很多情況下,多個值作為查找條件會使用書簽的方法查找記錄,如下設計視圖


詳細源代碼:

Private Sub cboQuickSearch_AfterUpdate()
  
  Dim rsClone As DAO.Recordset
  Dim sCriteria As String
  
  Const sSEARCHFLD As String = "[ProductID]"
  
  If Not IsNull(Me.cboQuickSearch.Value) Then

    Set rsClone = Me.RecordsetClone
    
    ' Build the criteria:
    sCriteria = sSEARCHFLD & " = " & Me.cboQuickSearch.Value
    
    ' Perform the search:
    rsClone.FindFirst sCriteria
    
    If Not rsClone.NoMatch Then
        'Synchronize the form's bookmark
        'to the recordset's record:
        Me.Bookmark = rsClone.Bookmark
    End If
    
    rsClone.Close
    Set rsClone = Nothing
    
  End If
  
End Sub

篩選效果如圖所示


使用findFirst或者bookmark方法要好于使用findrecord,因為它允許使用更復雜的條件,并且不需要設置被搜索的控件為可見。也不需要將光標定位到某個控件上即可使用。

說明一下,RecordsetClone屬性創建的記錄集是DAO類型的記錄集。只有DAO記錄集支持Findfirst、findLast、Findnext、findprevious 方法。

    分享
    北京十一选五基本走势