Ora aqui está uma coisa que eu gosto de fazer, criar uma consulta Temporária e abri-la em modo ReadOnly
Não desfazendo o que o amigo Ricardo postou.
Dim qdf As QueryDef
CurrentDb.QueryDefs.Delete ("qryTemporario")
Set qdf = DBEngine(0)(0).CreateQueryDef("qryTemporario", "SELECT [CADASTROCID/ODM].CID, [CADASTROCID/ODM].Veiculo, [CADASTROCID/ODM].[Data Matrix], [CADASTROCID/ODM].[Data SGM], [CADASTROCID/ODM].Emparelhamento, [CADASTROCID/ODM].Responsavel, [CADASTROCID/ODM].Status, [CADASTROCID/ODM].[Data Evasao/Pendencia], [CADASTROCID/ODM].Observações FROM [CADASTROCID/ODM] WHERE ((([CADASTROCID/ODM].[Data Matrix])>='#" & datainicial & "#' And ([CADASTROCID/ODM].[Data Matrix])<='#" & datainfinal & "#') AND (([CADASTROCID/ODM].Tipo)=[Formulários]![CADASTRO CID subformulário]![cmbselecaotipo]));")
qdf.Close
DoCmd.OpenQuery "qryTemporario", acViewNormal, acReadOnly