Puedes hacerlo de muchas, pero que de muchas formas. Por ejemplo, tengo una tabla Clientes con, entre otros campos, Nombre y Apellido. En un formulario continuo le añado dos combinados ElegirNombre y ElegirApellido. En el primer combinado selecciono un nombre
En este caso a María. Por tanto, el segundo combinado Elegir Apellido, ya sólo me muestra aquellos apellidos que tengan como nombre a María
Y en el momento en que seleccione un apellido, en este caso Larsson
El formulario ya sólo me muestra el(los) registro(s) que tenga(n) esa combinación de nombre y apellido.
En este caso, el segundo combinado no tiene origen de la fila. En sus propiedades-Eventos-Al recibir el enfoque le tengo puesto
Private Sub ElegirApellido_GotFocus()
If IsNull([ElegirNombre]) Then
MsgBox "Nenico, hay que elegir primero un nombre", vbOKOnly + vbInformation, "Otra vez será, hoy no"
ElegirNombre.SetFocus
Else
ElegirApellido.RowSource = "select apellido from clientes where nombre='" & Me.ElegirNombre & "'"
End If
End Sub
Me explico. Si por casualidad no hubiera elegido un nombre, me avisa y el cursor se va al combinado ElegirNombre. En caso de que sí lo hubiera hecho, me presenta sólo aquellos valores de apellido que tengan ese Nombre.
Y en las propiedades del combinado, en el evento Después de actualizar( o sea después de haber elegido un apellido, le tengo puesto
Private Sub ElegirApellido_AfterUpdate()
Me.RecordSource = "select * from clientes where nombre='" & Me.ElegirNombre & "' and apellido='" & Me.ElegirApellido & "'"
End Sub
Es decir, que el origen de registros del formulario, sean aquellos de la tabla Clientes, en que su nombre coincida con el elegido en el primer combinado y su apellido coincida con lo elegido en el segundo combinado.
Pero como te decía, lo puedes hacer de mil formas.