En primer lugar, asegurémonos de entender el concepto detrás de los "cuadros combinados en cascada". La lógica se ejecuta de tal manera que después de realizar una selección de Combo1, las opciones disponibles en Combo2 cambiarán para que solo sean elementos relacionados con Combo1. De manera similar, después de seleccionar un elemento de Combo2, los elementos en Combo3 serán solo elementos relacionados con lo que el usuario seleccionó en Combo2.
Entonces, en primer lugar, todos los cuadros combinados además de Combo1 deben estar vacíos o deben estar relacionados con el valor predeterminado de Combo1. Podrías hacerlo de cualquier manera.
A continuación, en el evento AfterUpdate de Combo1, debería tener algo como esto:
Me.cboCombo2.RowSource = "SELECT MyFieldNames " & _
"FROM tblMyTable " & _
"WHERE SomeID = " & Nz(Me.cboCombo1) & _
"ORDER BY SomeValue"
Me.cboCombo2.Requery
Obviamente, MyFieldNames, tblMyTable y todos esos otros valores dependerán de lo que realmente esté buscando, su tabla de origen/nombre de consulta y nombres de campo, etc...
Bien, ahora Combo2 debería llenarse con datos que solo son relevantes para lo que seleccionó en Combo1, ya que estamos usando Combo1 como filtro en el SQL anterior.
Si eso se ve bien, haga más o menos exactamente lo mismo para Combo3. Es posible que deba filtrar los valores de ambos combos, o puede salirse con la suya simplemente usando ese valor en Combo2, según su conjunto de datos.
Hacer espuma, enjuagar, repetir. Supongo que necesitarás hacer eso 50 veces si tienes 50 combos, pero así es como se hace.
Para obtener más información, consulte este artículo:http://www.fmsinc .com/microsoftaccess/forms/combo-boxes/cascading.html