Qué puedo hacer en VBA acces para que no se dupliquen los registros, no soy experto en el tema.

He visto varias respuestas pero; o no se adaptan a lo que necesito o no me funcionan, o no las entiendo. He empezado a crear una BBDD con la que pretendo llevar el control de las reparaciones de un taller. Para no cansar al personal intentaré resumir. Lo único que quisiera es que el formulario me avise cuando ingrese una clave duplicada o nula y poder cancelar la operación.

La clave la tengo en un campo indexado sin duplicados.

1 respuesta

Respuesta
2

Supongamos que el campo clave se llama CodEmpresa. Lo más sencillo es que le quites lo de Sin duplicados y en las propiedades del cuadro de texto CodEmpresa del formulario en el evento Antes de actualizar crees un procedimiento de evento y entre Private Sub y End Sub escribas

If dcount("codempresa","nombredelatablaenlaqueestá","codempresa=foms!nombredelformulario!codempresa")>=1 then

Msgbox"Ese código ya existe", vbokonly","A jod..."

Docmd. Cancelevent

end if

También lo puedes hacer en las propiedades del cuadro de texto siguiente a Codempresa, en el evento Al recibir el enfoque

If dcount("codempresa","nombredelatablaenlaqueestá","codempresa=foms!nombredelformulario!codempresa")>=1 then

Msgbox"Ese código ya existe",vbokonly","A jod..."

codempresa=null

codempresa.setfocus

end if

En fin hay muchas formas, todo depende de como lo quieras.

Aunque al haberlo hecho indexado sin duplicados ya te lo advertiría.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas