No es tan sencillo, pero te trataré de ayudar, primero para hacerlo muy bien, hazlo con código usando SQL, y si manejas bien los eventos, será un gran éxito, ejem.
en el cc1pon el evento alsalir()
y escribe algo más o menos así
' Toma en cuenta que el Campo Nombre y demás tendran que ser
Combo para poder asignar varios valores posibles
Dim BaseDatos as Database()
Dim Registro as Recordset()
Dim Con as String
Set BaseDatos = Currentdb()
Con = "SELECT Nombre From TABLADATOS WHERE APELLIDOS" & _
" = ' " & APELLIDOS.Value & " ' "
Set Registro = BaseDatos.Openrecordset(Con)
if registro.recordcount > 0 then
Nombre.rowsourcetype = "Lista de valores" ' prepara el combo
registro.movefirst
do until registro.EOF
nombre.rowSource=nombre.rowsource & _
registro!nombre & ";" ' para separar los nombres
registro.movenext
Loop
registro.close
basedatos.close
desde luego que esta forma es limitada, debido a que la propiedad rowsource solo admite 256 caracteres, para hacerlo mejor lleva los registros a una tabla "temporal", y luego asigna a rowsourcetype el valor
"Tabla/Consulta" y el rowsource = "temporal"
algo más o menos así utilizé en una DB de contabilidad que me pidieron, si deseas más informes escribeme y con gusto te mando los ejemplos que tengo
espero te sirva Bye