Mostrar mensaje al ingresar registro duplicado

Necesito mostrar un mensaje hecho por mi cuando alguien ingresa algún dato que ya existe. Yo tengo programado nel campo sin duplicados y ya aparece una leyenda medio rara y no te permite pero yo lo quiero personalizar para que diga "REGISTRO YA INGRESADO".

1 Respuesta

Respuesta
1
Si quieres preguntarme a mi directamente lo mejor es que no pongas los mensajes en el tablón general, he pillado tu pregunta por casualidad.
Dime en que programa quieres eso, el nombre del campo y el mensaje
Hola Dayvitt, Ok te preguntare directamente la próxima vez.
El programa es Access, el campo se llama Knumeral y el mensaje seria" KNUMERAL YA INGRESADO".
Yo lo que le hice fue programar el registro con clave sin duplicados y lo esta haciendo pero sale un mensaje feo tipo warning que no me gusta y da la sensación que se cometió un error más que ingreso un dato existente.
Un abrazo y gracias!
Gabriel
Para eso necesitaras, poner el textbox de Knumeral en modo invisible, y poner otro textbox independiente (llamado Mira, por ejemplo)
Luego solo tienes que hacer un código para que te recorra Knumeral comprobando si ese Knumeral existe.
De esta manera evitas el mensaje que sale por defecto en Access
Si Dayvitt ya lo se!.. pero lo que no se es como escribirlo! Porque no estoy ducho en la programación en VIsual o C.
Saludos
Ok, código para recorrer la tabla y mirar si Knumeral existe en el textbox llamado "Mira", si no existe guarda el valor en el textbox invisible "Knumeral", y si existe mensajea error.
Este código lo ponemos "alperderenfoque" del textbox "Mira"
 Dim rst As DAO.Recordset
 Dim strSql As String
 Dim NomCamp As String
 Dim NomTabla As String
 Dim alerta as integer
 NomCamp = "[<nombre del campo knumeral>]"
 NomTabla = "<nombre de la tabla que contiene los datos>"
 alerta=0
 If Nz(NomCamp, "") <> "" Then
    If Nz(NomTabla, "") <> "" Then
        strSql = "SELECT " & NomCamp & " FROM " & NomTabla & ";"
        Set rst = CurrentDb.OpenRecordset(strSql)
        With rst
            If (Not .EOF) And (Not .BOF) Then
                Do While Not .EOF
                    if .Fields(0) = Mira.Value then
                        alerta=1
                    end if
                    .MoveNext
                Loop
            End If
        End With
    End If
 End If
 if alerta = 0 then
     Knumeral.Value=Mira.Value
 else
     missatge = MsgBox("Ese Knumeral ya existe", vbOKOnly, "Error")
     Mira.Value =""
 end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas