Access - Evitar duplicados

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Evitar duplicados

Publicado por Sandra (12 intervenciones) el 28/12/2018 21:56:22
Saludos; tengo el siguiente problema en una base de datos:

Para mi base use la plantilla "Administración de tareas" y estoy usando Access 2016 y le agregue algunos campos como "Tipo de servicio" "Fecha de reporte" y "No de serie"

Se usa un formulario "Detalles de tareas" para guardar registros en la tabla de "Tareas"; lo que quiero que pase es que cuando le de clic en "Guardar y nuevo" (o alguna otra sugerencia) aparezca un mensaje de error o advertencia si ya existe un registro que tenga el mismo valor para los campos "Tipo de servicio" "Fecha de reporte" y "No de serie".

Buscando en el foro encontré un código e intente adaptarlo pero no me funciona, no aparece ningún error ni nada


1
2
3
4
5
6
7
8
9
Private Sub cmdSaveAndNew_Click()
If DCount("Fecha de reporte", "Tareas", "Fecha de reporte=forms!Detalles de tareas!Fecha de reporte") And DCount("No de serie", "Tareas", "No de serie=forms!Detalles de tareas!No de serie") And DCount("Tipo de servicio", "Tareas", "Tipo de servicio=forms!Detalles de tareas!Tipo de servicio") >= 1 Then
 
MsgBox "Ese registro está duplicado", vbOKOnly, "Va a ser que no"
 
DoCmd.CancelEvent
End If
 
End Sub

de antemano gracias por su tiempo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Evitar duplicados

Publicado por Anonimo (3322 intervenciones) el 29/12/2018 01:06:09
Los nombres de los campos que contengan espacios, han de ser encerrados entre corchetes:

Tipo de servicio <=== Mal

[Tipo de servicio] <==== bien

Una opción alternativa o complementaria consistiría en añadir a la tabla un INDICE con esos tres campos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Evitar duplicados

Publicado por Sandra (12 intervenciones) el 03/01/2019 18:29:09
No se si te he entendido bien, puse los corchetes y obtuve esto pero sigue sin hacer nada, no muestra errores ni nada parecido

1
2
3
4
5
6
7
8
9
Private Sub cmdSaveAndNew_Click()
If DCount("[Fecha de reporte]", "Tareas", "[Fecha de reporte]=forms![Detalles de tareas]![Fecha de reporte]") And DCount("[No de serie]", "Tareas", "[No de serie]=forms![Detalles de tareas]![No de serie]") And DCount("[Tipo de servicio]", "Tareas", "[Tipo de servicio]=forms![Detalles de tareas]![Tipo de servicio]") >= 1 Then
 
MsgBox "Ese registro está duplicado", vbOKOnly, "Va a ser que no"
 
DoCmd.CancelEvent
End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Evitar duplicados

Publicado por Sandra (12 intervenciones) el 03/01/2019 19:00:22
Ya he visto donde esta mi error tengo un código y una macro para la misma acción de que se ejecute al dar clic, lo he cambiado para que se ejecute al dar doble clic y me ha funcionado. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar