¿Cómo evito que se ingresen dos datos iguales?

Estoy haciendo un programa en donde tengo un formulario para ingresar nuevos clientes. Mi problema es que no quiero que se repitan esos datos, porque después la base de datos me reconoce solo una característica... Todo un lio... Así que lo que debo hacer es evitar que se inghresen dos clientes del mismo nombre... Pensé en hacer una consulta sql a la base de datos y verificar si el txt_ApellidoyNombre.Text es igual a alguno... Pero la verdad esuqe no me resulta... Quizás lo estoy haciendo mal... ¿Me ayudarías? ¿Cómo sería?

1 respuesta

Respuesta
1
Tomando tu ejemplo, la sentencia SQL que te permite verificar ya si existe un elemento en la BD es la siguiente [en el ejemplo se verifica la existencia a partir de presionar un botón (podría ser el botón "Guardar")]:
Private Sub Command1_Click()
    If ClienteExistente = True Then
        MsgBox "El cliente ya ha sido dado de alta anteriormente", _
        vbInformation, "Atención"
    Else
        'no existe el cliente, almacenarlo
    End If
End Sub
Private Function ClienteExistente() As Boolean
    Dim Cnx As New ADODB.Recordset
    Dim Rst As New ADODB.Recordset
    'abrir una BD de Access
    Cnx.Open "provider=microsoft.jet.oledb.4.0;data source=C:\BD.mdb"
    'recuperar un registro específico de la tabla clientes
    Rst.Open "SELECT * FROM Clientes WHERE ApellidoyNombre = '" & _
    txt_ApellidoyNombre.Text & "'", Cnx, adOpenStatic, adLockPessimistic
    If Rst.RecordCount = 1 Then
        'si lo encuentra enviar True a la funcion
        ClienteExistente = True
    Else
        'si no lo encuentra enviar False a la funcion
        ClienteExistente = False
    End If
End Function
Espero que puedas solucionar tu situación, si tienes alguna otra duda consúltame.
Saludos desde México. Juan Pablo E.P.
¿Me parece o eso es ADO? Perdón, debí especificar que trabajaba con DAO... Recién comienzo y me pareció más fácil de aprender.
De todos modos me guié de tu respuesta, así que ue mil gracias por tu tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas