Evitar duplicados de Registros con tres criterios

Tengo una base de datos de facturas y quisiera saber si es posible que me saliese un mensaje de advertencia cuando introduzca una factura ya creada anteriormente, teniendo en cuenta tres datos, uno número de factura, proveedor y el tercero fecha de la factura (pero la fecha que tome como referencia solo el año ya que se nos ha dado el caso de que nos envíen una misma factura dos veces pero con fecha diferente y en el mismo año).

1 respuesta

Respuesta
3

Puedes usar la función DCount() para comprobar si ya existe un registro con esas características. La expresión sería algo así:

If DCount("*","TFacturas","NFact='" & Me.NFact & "' AND Proveedor='" & Me.Proveedor & "' AND Year(FFact)=" & Fear(Me.FFact))>0 Then
  Msgbox "Esta factura ya ha sido registrada",vbInformation,"AVISO"
End If

En el código de ejemplo he supuesto que tanto el número de factura como el proveedor son campos de tipo texto, y obviamente, me he inventado los nombres de las tablas, campos y controles.

El código, yo lo pondría en el evento "Después de actualizar" del último de esos tres campos que rellenes, o incluso, por si no siempre sigues el mismo orden, o modificas algún dato "a posteriori", lo pondría en ese evento de los tres campos, previa validación de que los tres contengan datos.

Un saludo.


Muchísimas gracias Sveinbjorn El Rojo, me soluciono el problema. 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas