I have a form which has a number of Crystal Report ActiveX Controls defined to it. I would like to be able to activate the use of a given control at runtime based on the data being read. I do this because multiple Crystal Reports will be open at any given point.

Here is an example. My form has 4 Crystal Report ActiveX controls defined to it (CRYSTALREPORT0 thru CRYSTALREPORT3). My pseudo-code is as follows:
**********
FileIdArray = Array("BC", "CA", "CI", "CM")
For ArrayPosition = 0 To 3
(Get data associated with the value in FileIdArray)
(If data is found run activate the CRYSTALREPORTn object on
the form. 'n' is to be based on the ArrayPosition
value. For example if I have found CA data then the
activex control to be activated is CRYSTALREPORT1,
if I have found CM data then it would be
CRYSTALREPORT3 so the control name to use is derived
by concatenating 'CRYSTALREPORT' and the value in
ArrayPosition)
Next
**************
So how do I dynamically format the following types of statements, replacing the 'n' with the appropriate ArrayPosition:
CRYSTALREPORTn.ReportFileName = .......
CRYSTALREPORTn.Connect = .....

I tried just setting a variable to the concatenation result and using the variable as such: variable.ReportFileName = ..... but it didn't work.

Any suggestions much appreciated!