Sub TestRptChanges()
Dim a As Access.Report
Dim ctl As Access.Control
Dim ctlNew As Access.Control
DoCmd.OpenReport "a", acViewDesign
Set a = Reports("a")
DoCmd.OpenReport "b", acViewDesign
For Each ctl In a.Section(acDetail).Controls
Set ctlNew = CreateReportControl("b", ctl.ControlType, _
acDetail, , , ctl.Left, ctl.Top, ctl.Width, ctl.Height)
With ctlNew
.Visible = ctl.Visible
Select Case ctl.ControlType
Case acTextBox
.ControlSource = ctl.ControlSource
.BackColor = ctl.BackColor
.BackStyle = ctl.BackStyle
.FontBold = ctl.FontBold
.FontItalic = ctl.FontItalic
.FontName = ctl.FontName
.FontSize = ctl.FontSize
.ForeColor = ctl.ForeColor
.Format = ctl.Format
Case acCheckBox
.ControlSource = ctl.ControlSource
Case acLabel
.Caption = ctl.Caption
.BackColor = ctl.BackColor
.BackStyle = ctl.BackStyle
.FontBold = ctl.FontBold
.FontItalic = ctl.FontItalic
.FontName = ctl.FontName
.FontSize = ctl.FontSize
.ForeColor = ctl.ForeColor
End Select
End With
Next ctl
DoCmd.Restore
DoCmd.Close acReport, "a"
DoCmd.Close acReport, "b", acSaveYes
End Sub