Hola
Te pongo el código que utilizo yo para mostrar el informe:
Código:
Dim RegInfo As New ADODB.Recordset
Dim CrxInfor As CRAXDRT.Report
Dim CrxApp As New CRAXDRT.Application
bd.Open sConexion
RegInfo.Open "SELECT cod, Archivo from erroreak", bd, adOpenDynamic, adLockReadOnly
Screen.MousePointer = 11
Set CrxInfor = CrxApp.OpenReport(App.Path & "\informiek\erroreak.rpt")
CrxInfor.DiscardSavedData
CrxInfor.Database.SetDataSource RegInfo
With CrystalActiveXReportViewer1
.ReportSource = CrxInfor
.EnableExportButton = True
.DisplayGroupTree = False
.EnablePopupMenu = False
.EnableDrillDown = False
.EnableSelectExpertButton = False
.ViewReport
.Zoom 100
End With
Screen.MousePointer = 0
Lo que hago es crear un recordset y luego pasárselo al report (CrxInfor.Database.SetDataSource), de esa forma la contraseña de la base de datos va en la conexión.
--Saludos--