Ahí te va la respuesta.
*Tip: Si puedes construye las tablas y formulario con los nombres que te doy, para que te guíes más fácil, ya luego lo adecuas con tu requerimiento.
Con respecto al formulario, entiendo que quieres desplegar un cuadro combinado que dependa de otro cuadro combinado. O un subformulario que dependa de un cuadro combinado.
Por ejemplo, si en un formulario llamado Cotización tienes un cuadro combinado llamado IdCliente, y otro cuadro combinado dependiente llamado IdSubcliente. Lo que tienes que hacer:
Tabla cliente:
IdCliente, Cliente
1, National Oilwell Co.
2, Constructora Subacuática Diavaz SA. De CV.
Tabla subcliente:
IdSubCliente, SubCliente, IdCliente
1, Nabors Co, 1
2, Noble Co, 1
3, DSSP SA de CV, 2
4, KCA Deutag Co, 1
5, Offshore Services Co, 2
Esto significa que Nabors, Noble y KCA son subclientes pertenecientes a la cuenta principal llamada National Oilwell. Así como DSSP y Offshore Services pertenecen a la cuenta principal llamada Constructora Subacuática Diavaz.
Debes relacionar ambas tablas mediante el IdCliente.
Una vez que te hayas cerciorado de esto:
En tu formulario Cotización, creas un cuadro combinado llamado IdCliente, cuyo origen sea la tabla Cliente, y creas otro llamado IdSubcliente, cuyo origen sea la tabla SubCliente.
Nota:
*En el origen de control del cuadro combinado IdCliente debes cerciorate de lo siguiente:
Número de columnas: 2
Ancho de columnas: 0cm;5cm
Origen de Control: IdCliente
Origen de Fila:
SELECT Cliente.IdCliente, Cliente.Cliente FROM Cliente ORDER BY Cliente.Cliente;
Tipo de Origen de la Fila: Tabla/Consulta
Columna dependiente: 1
*En el origen de control del cuadro combinado IdSubCliente debes cerciorate de lo siguiente:
Número de columnas: 2
Ancho de columnas: 0cm;5cm
Origen de Control: IdSubCliente
Origen de Fila:
SELECT [SubCliente].[IdSubCliente], [SubCliente].[SubCliente], [SubCliente].IdCliente FROM SubCliente WHERE ((([SubCliente].IdCliente)=Forms!Cotización!IdCliente));
Tipo de Origen de la Fila: Tabla/Consulta
Columna dependiente: 1
Luego, en el campo IdCliente, creas un evento "después de actualizar" en la hoja de propiedades del campo.
Private Sub IdCliente_AfterUpdate()
Me.IdSubCliente.Requery
End Sub
.. Y listo, ya tienes un cuadro combinado llamado IdSubCliente, que va cambiando de forma dinámica, dependiendo del IdCliente que selecciones. Esto te sirve cuando estás añadiendo nuevos registros. Yo lo uso mucho, y es muy funcional.