Access - Registro Duplicado

 
Vista:

Registro Duplicado

Publicado por badboy (74 intervenciones) el 30/03/2004 17:18:08
estoy desarrollando un sistema en access 97 y tengo una pantalla con 3 cuadros combinados y una lista donde muestro todos los registros.... necesito saber como hago para que cuando en los tres cuadros combinados se seleccione una combinocion que ya existe en la lista y presione guardar muestre un mensage de error.... como evaluo esto... por favor ayudenme
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
Imágen de perfil de Alejandro

Registro Duplicado

Publicado por Alejandro (4142 intervenciones) el 04/05/2023 23:44:06
Puedes usar una consulta para verificar si la combinación seleccionada ya existe en la lista antes de guardarla. Aquí te muestro un ejemplo:

Supongamos que los tres cuadros combinados son "Combo1", "Combo2" y "Combo3", y la lista se muestra en un control de lista llamado "Lista1". Para verificar si la combinación seleccionada ya existe en la lista, puedes utilizar la siguiente consulta en el evento "BeforeUpdate" del formulario:

1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim strSQL As String
 
    strSQL = "SELECT Count(*) FROM NombreDeTuTabla " _
            & "WHERE Campo1='" & Me.Combo1 & "' AND Campo2='" & Me.Combo2 & "' AND Campo3='" & Me.Combo3 & "'"
 
    If DCount("*", "NombreDeTuTabla", "Campo1='" & Me.Combo1 & "' AND Campo2='" & Me.Combo2 & "' AND Campo3='" & Me.Combo3 & "'") > 0 Then
        MsgBox "Esta combinación ya existe en la lista.", vbCritical, "Error"
        Cancel = True
    End If
End Sub

En este ejemplo, "NombreDeTuTabla" es el nombre de la tabla donde se almacenan los registros, y "Campo1", "Campo2" y "Campo3" son los nombres de los campos que corresponden a cada cuadro combinado. La función DCount se utiliza para contar cuántos registros existen en la tabla que coinciden con la combinación seleccionada en los cuadros combinados. Si el resultado es mayor que cero, significa que ya existe un registro con esa combinación, y se muestra un mensaje de error y se cancela la actualización para evitar la inserción de un registro duplicado.
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