Lo he "solucionado" poniendo un botón "verificar" con el siguiente procedimiento de evento al hacer click: (es un poco guarro, pero ¡hey! funciona)
Código:
Private Sub verifica_Click()
On Error GoTo Err_guardar_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Nombre.SetFocus
MsgBox " CÓDIGO VÁLIDO: PUEDE PROCEDER "
Exit_guardar_Click:
Exit Sub
Err_guardar_Click:
On Error GoTo Err_deshacer_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
MsgBox " EL CÓDIGO INTRODUCIDO YA EXISTE; LOCALÍCELO "
On Error GoTo Err_buscar_Click
codigo.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Exit_buscar_Click:
Exit Sub
Err_buscar_Click:
MsgBox Err.Description
Resume Exit_buscar_Click
Exit_deshacer_Click:
Exit Sub
Err_deshacer_Click:
MsgBox Err.Description
Resume Exit_deshacer_Click
MsgBox Err.Description
Resume Exit_guardar_Click
End Sub
Esto lo que hace es: si el código introducido en el campo de al lado no existe, muestra un "alert" diciendo "es válido" y al darle a aceptar, pone el foco en el siguiente campo que hay que rellenar; si el código ya existe, muestra un "alert" diciendo que ya existe y que hay que buscarlo y al darle aceptar, saca la búsqueda y borra el dato del campo (si no, entra en bucle porque he usado "guardar" y no permite guardar un código ya existente)
Lo que queda por mejorar es que lo busque solito... (ni siquiera he logrado pasarle el valor introducido a la ventana de buscar)
¿ideas?
-gracias-