Sure. Not all controls have a ControlSource property, so you have to
either check the type of control or just ignore errors while attempting
to list the ControlSource for all controls. A simple version would be
like this:
DoCmd.OpenReport "YourReport", acViewDesign
On Error Resume Next
For Each ctl In Reports("YourReport").Controls
Debug.Print ctl.Name;
Debug.Print , ctl.ControlSource;
Debug.Print ""
Next ctl
On Error GoTo 0 ' or your error-handler
DoCmd.Close acReport, "YourReport", acSaveNo
--
Dirk Goldgar, MS Access MVP
www.datagnostics.com
(please reply to the newsgroup)