Consegui um amigo postou aqui no forum e adaptei ao meu sistema..... usei o seguinte codigo        Dim DataInicio, DataFim, Convenio As String          DataInicio = frmRelatorio.txtDataInicio.Text     DataFim = frmRelatorio.txtDataFim.Text     Convenio = "Unimed"           Dim crAppl As CRAXDRT.Application, crRep As CRAXDRT.Report     Set crAppl = New CRAXDRT.Application      Set crRep = crAppl.OpenReport("d:\Contas de Faturamento\Relatorios\Faturamento.rpt")      crRep.RecordSelectionFormula = "{Faturamento.Convenio} = """ & Convenio & """ and {Faturamento.DataEnvioFaturamento} >= DateTime('" & DataInicio & "') and {Faturamento.DataEnvioFaturamento} <= DateTime('" & DataFim & "')"                      'Comando para Imprimir o Relatorio Direto....     'crRep.PrintOut False, 1          CRViewer1.ReportSource = crRep     CRViewer1.ViewReport       estou temdo um outro problema, alguém já viu isso, quando abro o relatorio pelo crieviwer no vb até aí tudo certo consigo buscar os dados ao banco de dados access, mas quando mando dar um refresh para atualizar ele mosta a mesnagem (SERVER HAS NO YET BEEN OPENED) e não atualiza sendo assim ele nunca vai abrir os dados seguintes,   alguém sabe de como atualizar o relatorio do crystal reports 8.5 via código para que toda vez que o relatoria abre ele mostra o que realmente esta no banco de dados access....    ate e agradeço desde-já