Global CRApplication As New CRAXDRT.Application
Global CRReport As New CRAXDRT.Report
Global CRConProp As CRAXDRT.ConnectionProperty
Global CRTabla As CRAXDRT.DatabaseTable
Global CRFormula As CRAXDRT.FormulaFieldDefinition
Global CRSections As CRAXDRT.Sections
Global CRSection As CRAXDRT.Section
Global CRSubRpt As CRAXDRT.Report
Global CRSubRptObj As CRAXDRT.SubreportObject
Global CRRptObjs As CRAXDRT.ReportObjects
Global CRField As CRAXDRT.DatabaseFieldDefinition
Global ReportObject As Object
Global GSelFor As String
Global GTituloA As String
Global MEnt2 As Integer
Ejemplo reporte "rec.rpt" utiliza DAO y Access
----------------------------------------------
GTituloA = "Original Socio"
GSelFor = "{Recibos.Recibo}=" & Chr(39) & "123" & Chr(39)
Set CRReport = CRApplication.OpenReport(MyPath & "\rec.rpt", 1)
For MEnt2 = 1 To CRReport.Database.Tables.Count
Set CRTabla = CRReport.Database.Tables(MEnt2)
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.value = "Access/Excel (DAO)"
Set CRConProp = CRTabla.ConnectionProperties("Database Name")
CRConProp.value = App.Path & "\Caja.mdb"
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.value = "Access"
Set CRConProp = CRTabla.ConnectionProperties("Session UserID")
CRConProp.value = ""
Next MEnt2
Ejemplo reporte "rec.rpt" utiliza ODBC y DSN y SQL
--------------------------------------------------
Set CRReport = CRApplication.OpenReport(App.Path & "\rec.rpt", 1)
For MEnt2 = 1 To CRReport.Database.Tables.Count
Set CRTabla = CRReport.Database.Tables(MEnt2)
Set CRConProp = CRTabla.ConnectionProperties("Provider")
CRConProp.value = "MSDASQL"
Set CRConProp = CRTabla.ConnectionProperties("Data Source")
CRConProp.value = "myDSN"
Set CRConProp = CRTabla.ConnectionProperties("Initial Catalog")
CRConProp.value = "myDBname"
Set CRConProp = CRTabla.ConnectionProperties("User ID")
CRConProp.value = ""
Set CRConProp = CRTabla.ConnectionProperties("Locale Identifier")
CRConProp.value = "2058"
Set CRConProp = CRTabla.ConnectionProperties("OLE DB Services")
CRConProp.value = "-5"
Next MEnt2
Ejemplo reporte "rec.rpt" utiliza OLE DB (ADO) y Access
-------------------------------------------------------
Set CRReport = CRApplication.OpenReport(App.Path & "\rec.rpt", 1)
For MEnt2 = 1 To CRReport.Database.Tables.Count
Set CRTabla = CRReport.Database.Tables(MEnt2)
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.Value = "OLE DB (ADO)"
Set CRConProp = CRTabla.ConnectionProperties("Provider")
CRConProp.Value = "Microsoft.Jet.OLEDB.4.0"
Set CRConProp = CRTabla.ConnectionProperties("Data Source")
CRConProp.Value = App.Path & "\sysGAP.mdb"
Set CRConProp = CRTabla.ConnectionProperties("User Id")
CRConProp.Value = "Admin"
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.Value = "Access"
Set CRConProp = CRTabla.ConnectionProperties("Locale Identifier")
CRConProp.Value = "1033"
Set CRConProp = CRTabla.ConnectionProperties("OLE DB Services")
CRConProp.Value = "-6"
Next MEnt2
Ejemplo de como modificar FORMULAS en tiempo de ejecucion y de
como pasar la RecordSelectionFormula
--------------------------------------------------------------
For MEnt1 = 1 To CRReport.FormulaFields.Count
Select Case CRReport.FormulaFields(MEnt1).name
Case "{@a}": CRReport.FormulaFields(MEnt1).Text = "Trim(" & Chr(39) & "MexMarketing,
Inc." & Chr(39) & ")"
Case "{@b}": CRReport.FormulaFields(MEnt1).Text = "Trim(" & Chr(39) & GTituloA &
Chr(39) & ")"
End Select
Next MEnt1
If Trim(GSelFor) <> "" Then
CRReport.RecordSelectionFormula = GSelFor
End If
Ejemplo de como modificar origen de datos en tiempo de ejecucion en SUBREPORTES
-------------------------------------------------------------------------------
Set CRSections = CRReport.Sections
For Each CRSection In CRSections
Set CRRptObjs = CRSection.ReportObjects
For Each ReportObject In CRRptObjs
If ReportObject.Kind = CRAXDRT.CRObjectKind.crSubreportObject Then
Set CRSubRptObj = ReportObject
Set CRSubRpt = CRSubRptObj.OpenSubreport
For MEnt2 = 1 To CRSubRpt.Database.Tables.Count
Set CRTabla = CRSubRpt.Database.Tables(MEnt2)
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.value = "Access/Excel (DAO)"
Set CRConProp = CRTabla.ConnectionProperties("Database Name")
CRConProp.value = App.Path & "\Caja.mdb"
Set CRConProp = CRTabla.ConnectionProperties("Database Type")
CRConProp.value = "Access"
Set CRConProp = CRTabla.ConnectionProperties("Session UserID")
CRConProp.value = ""
Next MEnt2
End If
Next ReportObject
Next CRSection
Ejemplo de como modificar campos de SORT en tiempo de ejecucion
---------------------------------------------------------------
'Selecciona para Sort el campo 2 de la Tabla=1 del rpt
Set CRField = CRReport.Database.Tables.Item(1).fields.Item(2)
CRReport.RecordSortFields.Item(1).field = CRField
CRReport.RecordSortFields.Item(1).SortDirection = crAscendingOrder