1. Creo que la imagen no se corresponde con lo que indicabas en el primer post ya que me parece que el cuadro combinado está en un subformulario, por lo que estoy de acuerdo contigo en que mi planteamiento no es útil en este caso.
2. Lo que te comentaba que tenía que ser un campo independiente es un cuadro de texto, no el campo combinado o el cuadro de lista.
3. Aunque el cuadro combinado, o un cuadro de lista, lo insertes como elemento independiente en el formulario, si como origen de lista (propiedades/datos), generas una consulta a partir de la tabla materiales, los valores de este cuadro pasan a depender de los registros de la tabla materiales.
Puesto que creo que lo que tienes es un formulario principal (lo llamare formCotizacion), con un subformulario (lo llamare subformMateriales), un cuadro combinado (lo llamare cboMateriales) y por lo que veo subformMateriales se ha creado como tipo TABULAR (si lo tienes ocmo HOJA DE DATOS creo que no van a funcionar los eventos), podrías hacer:
1) Una copia de la base de datos para no arrepentirte y poder volver a lo que tienes
2) Insertar un cuadro/campo de texto independiente antes de campo con Material en subformMateriales y lo llamaremos txtBuscar
3) Cambiar el origen de lista ((propiedades/datos) de cboMateriales para que se base en una consulta del campo del nombre del material de la tabla materiales y como criterio indicar:
Como "*" & [Formularios]![formCotizacion].[Formulario]![subformMateriales]![txtbuscar].[Texto] & "*"
4) Como eventos de txtBuscar, sería lo mismo que indique antes, pero adaptado a los nuevos nombres:
Evento cambiar/change:
Me.cboMateriales.Requery
If Me.cboMateriales.ListCount < 2 Then
Me.txtBuscar.ForeColor = RGB(255, 0, 0)
Else
Me.txtBuscar.ForeColor = RGB(0, 0, 0)
End If
Evento doble clic:
Me.txtBuscar = ""
Me.cboMateriales.Requery
5) Aunque al escribir en txtBuscar se va a ver el mismo valor en todos los registros de subformMateriales, como es un cuadro independiente, no se guarda ningún valor.