The first post is correct and there are many ways of doing it. First of all the fields in your report could be bound to data from a database, or they can be formula fields that are filled from a query, which means yes they could be stored in array which populates at runtime. Also there are techniques for using grids as the source of data.
Here are a couple of simplistic samples that may give you a hint or two for simple reports.
This example has the fields bound to a database inside of the RPT file in the Crystal Reports designer. Then at runtime you can point to any database with the same structure. Various properties are arbitrarily set in this example.
'Set properties of the report viewing window
'(crpt1 is the name of the Crystal Reports Control
'on the form)
With frmMainMenu.crpt1
.WindowShowGroupTree = False 'Prevents the Tree from being shown
.WindowAllowDrillDown = False 'Prevents Drilldown
.WindowState = crptToWindow 'send report to window
.WindowControls = True 'activates windows controls
.WindowState = crptMaximized 'maximize window
.WindowBorderStyle = 2 'Sizable Window
.WindowControlBox = True 'Activates control box
.WindowMaxButton = True 'Turns on Maximize button
.WindowMinButton = True 'Turns on Minimize button
.PageZoom (2) 'Enables Zoom Display
.WindowTitle = "Acme Enterprises"
'If the report is a drilldown set the tree view on and the Drilldown feature
If intrType = 1 Then
.WindowShowGroupTree = True
.WindowAllowDrillDown = True
End If
.DataFiles(0) = strPath 'set datapath to RIM
.ReportFileName = strpath & strfilename
'Reportname and path
.CopiesToPrinter = 1 'Default to printer
.Action = 1 'run the report
End With
This example sets formula fields in Crystal Reports at run time from the data in an array. I left the array part out but once it has been populated here is how it looks.
'Set properties of the report viewing window
With frmImpProjDetail.CrystalReport1
.WindowShowGroupTree = False 'Prevents the Tree from being shown
.WindowAllowDrillDown = False 'Prevents Drilldown
.WindowState = crptToWindow 'send report to window
.WindowControls = True 'activates windows controls
.WindowState = crptMaximized 'maximize window
.WindowBorderStyle = 2 'Sizable Window
.WindowControlBox = True 'Activates control box
.WindowMaxButton = True 'Turns on Maximize button
.WindowMinButton = True 'Turns on Minimize button
.PageZoom (2) 'Enables Zoom Display
.WindowTitle = "Acme Enterprises"
.DataFiles(0) = strDataPath 'set datapath to RIM
.CopiesToPrinter = 1 'Default to printer
'Set the values to be placed into the report fields
.Formulas(0) = "Field1 = '" & strWordArray(0) & " '"
.Formulas(1) = "Field2 ='" & strWordArray(1) & " '"
.Formulas(2) = "Field3 ='" & strWordArray(2) & " '"
.Formulas(3) = "Field4 ='" & strWordArray(3) & " '"
.Formulas(4) = "Field5 ='" & strWordArray(4) & " '"
.Formulas(5) = "Field6 ='" & strWordArray(5) & " '"
.Formulas(6) = "Field7 ='" & strWordArray(6) & " '"
.Formulas(7) = "field8 ='" & strWordArray(7) & " '"
.Action = 1
End With