Oliver
To change the data used by the datareport:
Use a SQL command in the dataenvironment (ie you enter a sql string).
Have the SQL for your standard report as the command string.
Design your report using the SQL command.
At run time change the SQL command string as required, ensuring that the returned field structure does not change.
Show the report.
A code snippet is shown below:
On Error Resume Next
de.rssqlR1_Grouping.Close
On Error GoTo EH
de.Commands("sqlR1_Grouping"

.CommandText = MakeR1SQL
de.sqlR1_Grouping
dR1.Refresh
de is data environment
sqlR1_Grouping is the command object in the data environment
dR1 is the data report
To change displayed labels etc. just reference them as you would controls on a form.
e.g.
dR1.Caption = R1TITLE
dR1.Title = R1TITLE
dR1.Sections("PageHeader"

.Controls("lTitle"

.Caption = R1TITLE
dR1.Sections("PageHeader"

.Controls("lScope"

.Caption = _
ScopeDates & ScopeUser & ScopeContent
dR1.Sections("ReportFooter"

.Controls("lUser"

.Caption = PrintedBy
dR1.Refresh
Make sure you have the lates Service Pack SP5 - or you can run into serious bugs.
Regards
sadcow