How to do data filtering in macro VBA?

SOLVED

Hi all,

how do I do data filtering in macro? Lets say I want to filter by invoice number in OE0520

Parents Reply Children
  • +1 in reply to Shane - Ascend Business Solutions
    verified answer

    Thank you for the tips. So I ended up using OE0420 to get filter for Invoice Number and using FilterCount instead of Browse function

    Function ValidateInvoiceNumber(invoiceNo As String) As Boolean
        
        Dim uniq As Boolean
        
        Dim mDBLinkCmpRW As AccpacCOMAPI.AccpacDBLink
        Set mDBLinkCmpRW = OpenDBLink(DBLINK_COMPANY, DBLINK_FLG_READWRITE)
    
        Dim mDBLinkSysRW As AccpacCOMAPI.AccpacDBLink
        Set mDBLinkSysRW = OpenDBLink(DBLINK_SYSTEM, DBLINK_FLG_READWRITE)
        
        Dim temp As Boolean
        Dim INVheader As AccpacCOMAPI.AccpacView
        Dim INVheaderFields As AccpacCOMAPI.AccpacViewFields
        mDBLinkCmpRW.OpenView "OE0420", INVheader
        Set INVheaderFields = INVheader.Fields
        
        If INVheader.FilterCount("INVNUMBER=" & invoiceNo, 0) > 0 Then
            Logger.LogDetails "Invoice Number=" & invoiceNo & " already exist."
            ValidateInvoiceNumber = False
        Else
            ValidateInvoiceNumber = True
        End If
    End Function