Duplicados de registro sin bloqueo

Quisiera saber como hacer para que al registrar una serie de facturas, salga un mensaje en el caso de que ese registro este duplicado. No quiero usar un campo indexado por que nos es muy útil y necesaria la función duplicar registros. Necesitaría que nos avise de los duplicados al cerrar (o guardar)

1 respuesta

Respuesta
2

Construye con el asistente una consulta de Datos duplicados >> Crear >> Asistente para consultas >> Asistente para búsqueda de duplicados.

Se puede llamar por ejemplo >> QryDupliFacturas.

En el Formulario con el que tabajas, y en el Evento que te parezca adecuado, le pones >>

DoCmd. OpenQuery "QryDupliFacturas"

Un saludo >> Jacinto

Gracias Jacinto,

He cambiado el OpenQuery por OpenReport (informe de "Facturas_duplicadas" basado en la consulta de Facturas_duplicadas). El problema con este proceso es que se abre el informe en cada registro, este duplicado o no. Solo necesito que salte el informe o mensaje en los casos de duplicados.

Gracias

Dependerá de dónde hayas puesto la apertura.

Si lo pones en el FormLoad, o en el FormClose, o en un botón que solo haga eso, se te abrirá una vez. Ignoro la estructura que tienes y cuando quieres que se abra. Podría ser desde el Menú principal o cualquier sitio.

Quizá si me pones el código completo de dónde lo hayas puesto te puedo orientar. Saludos >> Jacinto

Esto es lo que he echo:

En el campo numero de factura "Numero", despues de actualizar:

Me.Texto394 = [Cuadro_combinado368] & "-" & [CIF_Proveedor] & "-" & [Fecha_factura] & "-" & [numero]

La consulta de duplicados "Facturas_duplicadas" la he hecho sobre el Texto394 (campo texto).

En el formulario, al cerrar, DoCmd. OpenReport "Facturas_duplicadas", acViewReport.

El informe funciona pero se abre siempre para indicar que hay duplicados o para indicar que no hay.

Ok, ya funciona, he añadido:

If DCount("[id_facturas]", "Facturas_duplicadas") > 0 Then
DoCmd.OpenReport "Facturas_duplicadas", acViewReport
End If

Gracias y un saludo

La verdad es que no acabo de entender lo de una Consulta de Datos Duplicados construida sobre un Cuadro de Texto. Es posible que quieras decir sobre un campo de una tabla que se llama igual que ese cuadro de texto.

Para evitar que te salga cada vez "tenga o no" Registros la Consulta >>

If Nz(DCount("*","[Facturas_Duplicadas]","[NombreDeTuCampo] = '" & MeTexto394 & "'"),0) > 0 Then

'Aquí abririas el Informe

Else

'Aqui si quieres un Mensaje y si no quieres poner nada, puedes borrar ésta línea y el Else de arriba

End If

Un saludo >> Jacinto

Justo por unos segundos, veo que te has adelantado y solucionado. Perfecto. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas