Tengo una La siguiente estructura:


Private Type ItemCaja
BolaRoja as boolean
BolaVerde as boolean
BolaAzul as boolean
end type


y el siguiente vector:


Cajas(1 to 3) as ItemCaja



Como puede ver, la idea es que ItemCaja pueda tomar diferentes valores booleanos!
El usuario es quien (mediante CheckBox) tilda en True cada ItemCaja, dado que que
el usuario predice: "la Caja 1 creo que va a tener una bola roja o verde... azul seguro que no".
Lo mismo hace con las otras cajas, va prediciendo que Bola puede guardar la Caja...


Ejemplo:


Caja 1, puede tener BolaRoja ó BolaVerde
Cajas(1).BolaRoja = True
Cajas(1).BolaVerde = True
Cajas(1).BolaAzul = False


Caja 2, cree que solo va a tener BolaRoja
Cajas(2).BolaRoja = True
Cajas(2).BolaVerde = False
Cajas(2).BolaAzul = False



Caja 3, cree que solo va a tener BolaAzul o BolaVerde
Cajas(2).BolaRoja = False
Cajas(2).BolaVerde = True
Cajas(2).BolaAzul = True



El programa debería mostrar en un textbox o en un archivo, todas
las posibles combinaciones que se pueden dar.
Siguiendo el Ejemplo:


Caja1 = RojaCaja2 = RojaCaja3 = Verde
Caja1 = RojaCaja2 = RojaCaja3 = Azul
Caja1 = VerdeCaja2 = RojaCaja3 = Verde
Caja1 = VerdeCaja2 = RojaCaja3 = Azul





El GRAN problema =) por lo cual estoy aquí... es que no se trata de 3 Cajas! Fue solo un ejemplo =(
Seguramente el sistema tenga 20 Cajas!


No se si hacer ciclos anidados o bien funciones recursivas.
Alguien tiene alguna idea y me puede ayudar?
Gracias,