martes, 3 de febrero de 2015

Using query in VBA for recordset

Using query in VBA for recordset



You can either

    Use a query that has parameters and specify values for parameters provided that the query uses parameters.

    Dim dbs As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim prm As DAO.Parameter
    Dim rst As DAO.Recordset

    Set qdf = CurrentDb.QueryDefs("qry_SomeQueryWithParameters")

    qdf.Parameters("SomeParam").Value = "whatever"

    Set rst = qdf.OpenRecordset

or

    Specify a query name as the command and use the Filter property on the recordset


    Dim rs As DAO.Recordset
    Dim rsFiltered As DAO.Recordset


    Set rs = CurrentDb.OpenRecordset(qry_SomeQueryWithoutParameters)

    rs.Filter = "field1 > 30"
    set rsFiltered  = rs.OpenRecordset