Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Crystal Reports 8.5 report.section error
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Divers
Thread ID:
00631314
Message ID:
00631900
Vues:
18
I figured it out by looking at the docs <s>.
The alternate syntax:
crxFieldObject = crxsections.Item("GH").AddFieldObject("{@myFormula}", 0, 0)

works fine in VFP.
Tevye

>I am trying to use the functionality in Crystal Reports 8.5 that allows you to create a report from code. I downloaded a sample VB project from the Crystal Decisions web site, which runs perfectly in VB. Then I translated it into FoxPro (not a big job <s>). The .prg runs fine till I get to the line:
>
>crxFieldObject = crxSections("GH").AddFieldObject("{@myFormula}", 0, 0)
>
>I get an error crxSections is not an array.
>When I look at the Intellisense info on the command line it doesn't show the "AddFieldObject()" method for the "section" object.
>
>Any Ideas?
>
>Tevye
>
>
>**************************************************************************
>* program created from translating a downloaded Crystal Reports VB sample
>**************************************************************************
>
>crxApplication = CREATEOBJECT("CrystalRuntime.Application")
>*Create a New Report object
>crxReport = crxApplication.NewReport
>*our Database object to the Reports Database object
>crxDatabase = crxReport.Database
>*Set our DatabaseTables object to the Tables collection of our Database object
>crxDatabaseTables = crxDatabase.Tables
>*Add the Customer table from our Xtremelite.mdb file
>crxDatabaseTables.Add("H:\download\crystal\examples\groupformula\xtremelite.mdb", "Customer")
>*Set our FormulaFieldDefinitions object to the FormulaFields collection of our report
>crxFormulaFields = crxReport.FormulaFields
>*Set out FormulaFieldDefinition object to our newly create formula
>crxFormulaField = crxFormulaFields.Add("myFormula", "{Customer.Customer ID} & '-' & {Customer.Customer Name}")
>*Check the formula
>crxFormulaError=''
>crxFormulaField.Check(.t., @crxFormulaError)
>
>*If the Formula returns an error. Display it.
>If Len(crxFormulaError) > 0 Then
> WAIT wind "There was an error in the formula {@" + crxFormulaField.Name + "}" + CHR(13)+CHR(10)+;
> "Error Returned: " + crxFormulaError
>EndIf
>
>*Add the Group to the Report
>crGCAnyValue = 14
>crAscendingOrder = 0
>crxReport.AddGroup( 0, crxFormulaField, crGCAnyValue, crAscendingOrder)
>*Set our Sections object to the Sections collection of our report
>crxSections = crxReport.Sections
>
>*Add the Formula Field to the Group Header to prove it has been grouped
>*******************************************************************************
>* I get stuck on the line below. I get a message "crxSections" is not an array
>*******************************************************************************
>crxFieldObject = crxSections("GH").AddFieldObject("{@myFormula}", 0, 0)
>*******************************************************************************
>
>*Change some properties of the field object we just added
>With crxFieldObject
> .Font.Bold = .t.
> .Font.Size = 12
> .Height = 300
> .BackColor = RGB(0,0,255)
> .TextColor = RGB(255, 255, 255)
>EndWith
>
>
>*Add a field to the details section that will show the customer's last years sales
>crxFieldObject = crxSections("D").AddFieldObject("{Customer.Last Year's sales}", 4500, 0)
>
>*Change some properties of the field object we just added
>With crxFieldObject
> .Font.Bold = .t.
> .Font.Size = 10
> .Height = 300
> .TextColor = RGB(255, 0, 0)
>Endwith
>
>
>*******************************************************
>* the code below refers to the crystal report viewer activex
>* that is placed on a form
>* (haven't gotten up to that part yet! <s>)
>*******************************************************
>*View the Report
>*CRViewer1.ReportSource = crxReport
>*CRViewer1.ViewReport
>
>*Zoom the window to 100%
>*CRViewer1.Zoom( 100)
>
>* clean up the object references
>crxReport = .NULL.
>crxApplication = .NULL.
>crxDatabase = .NULL.
>crxDatabaseTable = .NULL.
>crxDatabaseTables = .NULL.
>RETURN
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform