no se como conectas.. pero te paso el codigo y lo probas...
primero que nada anda a proyecto/referencias y tilda
microsoft activex data ojets 2.6 library
(este o posterior.. sirve igual si no tenes uno posterior.. busca el 2.5)
abri un formulario con los siguientes controles...
dos combos uno llamado
cmbApellido
cmbNombre
crea un modulo y agrega el siguiente codigo.
Public cnn As ADODB.Connection
Public Sub AbroConexion()
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ACAELNOMBREDETUBASEACCESS.mdb;"
cnn.ConnectionTimeout = 0
cnn.Open
End Sub
Public Sub CierroConexion()
cnn.Close
Set cnn = Nothing
End Sub
ABRI EL FORMULARIO Y AGREGA EL SIGUIENTE CODIGO
Public Sub HCombo(CB As ComboBox)
CB.Enabled = True
CB.SetFocus
CB.SelStart = 0
CB.SelLength = Len(CB)
End Sub
private sub form_activate()
'//llamamos al sub abroconexion para establecer la conexion con la base. (lo que subimos antes)
abroconexion
'// establecemos un objeto recorset, lo inicializamos y ejecutamos nuestra consulta
dim rs as adodb.recorset
set rs = new adodb.recordset
rs.open"Select distinct(apellido)as apellido from mitabla",cnn
if not rs.eof then
'// limpiamos el combo
cmbapellido.clear
do while not rs.eof
'// cargamos el combo
cmbapellido.additem (rs!apellido)
rs.MoveNext
loop
else
'// aca llega si el combo esta vacio.
msgbox "no hay ningun apellido en mi tabla."
end if
rs.close
cierroconexion
end sub
private sub cmbapellido_click()
abroconexion
dim rs1 as adodb.recorset
set rs1 = new adodb.recorset
rs1.open "Select nombre from mitabla where apellido='" & trim(cmbapellido.text) & "'",cnn
if not rs1.eof then
cmbnombre.clear
do while not rs1.eof
cmbnombre.additem (rs1!nombre)
rs1.movenext
loop
else
msgbox "no se registra ningun nombre para el apellido seleccionado"
end if
rs1.close
cierroconexion
end sub
private sub cmbapellido_keypress(keyascii as integer)
if keyascii = 13 then
if cmbapellido.listindex <> -1 then
call hcombo(cmbnombre)
else
msgbox "seleccione un apellido de la lista"
call hcombo(cmbapellido)
end if
end if
end sub
private sub cmbnombre_click()
'// aca haces lo que tengas ke haces.. despues que seleccionaste el nombre... si keres hacer una '// consulta por ejemplo
'// si queres cargar todo en un textbox aparte.. ni conectes aca.. toma los datos y concatenalos
abroconexion
dim rs2 as adodb.recorset
set rs2 = new adodb.recorset
rs2.open "select f_nacimiento from mitabla where apellido='" & trim(cmbapellido.text) & "' and nombre='" & trim(cmbnombre.text) & "'",cnn
if not rs2.eof then
msgbox "la fecha de nacimiento de este infeliz es: " & rs2!f_nacimiento
else
msgbox "no tengo los datos de nacimiento de este pobre cristiano
end if
rs.close
cierroconexion
end sub