Evitar duplicados en formulario access, dar setfocus

Tengo una tabla de nombre REGISTROS y uno de sus campos es NoCtaFact cuya propiedad de indexado es si(sin duplicados). Tengo un formulario llamado RADICACION que contiene el campo NoCtaFact . En parte funciona, (quiero aclarar que lo que tengo lo consegui en internet no conozco de VBA para access), lo que deseo es dos cosas que no logro hacer: una es que una vez salga el msgbox diciendo que el número es un duplicado me vuelva al mismo campo UnoNoCtaFact, lo intente con setfocus pero no pude y lo segundo que luego del mensaje no me borre los otros campos, sino que solo me permite meter una nueva cuenta (para no volver a meter la información nuevamente). No se si me hice entender.

1 respuesta

Respuesta
1

Basta con poner, en las propiedades del cuadro de texto- eventos-Antes de actualizar, con el generador crear un procedimiento de evento y entre Private Sub y End sub escribir

If dcount("*","registros","noctafact=" & me.noctafact & "")>=1 then

Msgbox"Muchacho, ese número ya existe", vbokonly,"No te lo digo más"

Docmd. Cancelevent

end if

Me explico. Cuando tu escribes un número(he supuesto que el campo es numérico) y pulsas Enter, lo primero que hace es contar si en la tabla ya hay alguno con ese número y si lo hay te sale el mensaje. Como sólo puedes pulsar Aceptar el cursor se queda en el control para que cambies el valor.

De todas formas, si ves que no te aclaras bien con el VB, dímelo y te lo pongo detallado en imágenes.

¡Gracias! por su respuesta oportuna, fue clara y concisa, ¡Excelente! pude solucionar mi problema por que ya me estaba complicando mucho con lo que tenía.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas