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 Cotizascion, 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.