Visual Basic - Validacion de Clave primaria o Campo ID de una tabla

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 8
Ha disminuido su posición en 13 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Validacion de Clave primaria o Campo ID de una tabla

Publicado por Jesus (3 intervenciones) el 12/12/2019 05:31:53
Buenas Noches Saludos! Tratare de ser breve, Te una BD en access con interfaz en VB, la cual tiene 3 tablas relacionadas y cada tabla con llave primaria...

Es un proyecto de la universidad para este viernes, he buscado en muchos foros tanto en ingles como en español pero no encuentro la forma de validar esos campos primarios para que no haya duplicación de datos.

Utilice un botón para checar antes de registrar los valores si existe o no el ID en la base de datos, pero no me funciona ya que en la condición siempre se va por la segunda opción (ELSE)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub BotonChecar_Click(sender As Object, e As EventArgs) Handles BotonChecar.Click
 
    Dim x As String
    x = tbclie.Text
    For Each row As DataRow In ProyectoFinalDataSet.Tables("TBCliente").Rows
        Dim dato As String
        dato = row("IdCliente")
        If x = dato Then
            MsgBox("Ya existe este ID de Cliente, Escribe otro", MessageBoxIcon.Exclamation, "Informacion")
            tbclie.Select()
            'Exit Sub
        Else
            MsgBox("Puedes guardar tu dato, correctamente", MessageBoxIcon.Exclamation, "Informacion")
            BotonGuardar.Enabled = True
            Exit Sub
        End If
    Next
 
End Sub



No se cual podria ser el error, necesito solucionar esto antes del viernes, agradezco de antemano su ayuda!
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 Andres Leonardo
Val: 3.799
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Validacion de Clave primaria o Campo ID de una tabla

Publicado por Andres Leonardo (1553 intervenciones) el 12/12/2019 15:43:48
Para mi lo mas facil es hacer una consulta

select * from tablaClientes where idCliente = elidaBuscar
abres la conexion y procedes a validarlo.
Si te devuelve algo existe is no no

No se donde estas buscando esto pues pareceria buscas en una celda o en un componente.
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: 8
Ha disminuido su posición en 13 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Validacion de Clave primaria o Campo ID de una tabla

Publicado por Jesus (3 intervenciones) el 12/12/2019 22:29:33
¿Y como haria esa funcion?, es que soy bastante nuevo en esto y me he guiado a base de videos!
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
Imágen de perfil de Andres Leonardo
Val: 3.799
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Validacion de Clave primaria o Campo ID de una tabla

Publicado por Andres Leonardo (1553 intervenciones) el 12/12/2019 23:51:13
pero es que dices

Te una BD en access con interfaz en VB,

como lo conectas presenta tu codigo de conexion

como buscas en las tablas asi podriamos ver como te ayudameo
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: 8
Ha disminuido su posición en 13 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Validacion de Clave primaria o Campo ID de una tabla

Publicado por Jesus (3 intervenciones) el 13/12/2019 03:36:49
Bueno la conexión la hago mediante el asistente de configuración de orígenes de datos, mas en el codigo no uso la cadena de conexion, solo cargo los datos mediante datagrid, botones para guardar, agregar y editar y eliminar

CADENA DE CONEXIÓN ---> Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\50764\Desktop\ProyectoFinal.accdb


CODIGO:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Private Sub VCliente_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'ProyectoFinalDataSet.Cliente' Puede moverla o quitarla según sea necesario.
        Me.ClienteTableAdapter.Fill(Me.ProyectoFinalDataSet.Cliente)
           End Sub
 
'boton agregar un nuevo registro
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ClienteBindingSource.AddNew()
 
        tbclie.ReadOnly = False
        tbnom.ReadOnly = False
        tbdir.ReadOnly = False
        tbt1.ReadOnly = False
        tbt2.ReadOnly = False
 
    End Sub
 
'boton guardar registro
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim nom, id As String
        id = tbclie.Text
        nom = tbnom.Text
 
 
 
        If nom = "" Or id = "" Then
            MsgBox("Los campos Id y Nombre son obligatorios", vbCritical, "Error")
        Else
 
            On Error GoTo SaveErr
 
 
            ClienteBindingSource.EndEdit()
            ClienteTableAdapter.Update(ProyectoFinalDataSet.Cliente)
 
 
            MsgBox("Registro Guardado correctamente.", vbInformation, "Guardar")
 
SaveErr:
 
 
 
            tbclie.ReadOnly = True
            tbnom.ReadOnly = True
            tbdir.ReadOnly = True
            tbt1.ReadOnly = True
            tbt2.ReadOnly = True
 
        End If
 
 
    End Sub
 
'boton editarr un registro
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
 
        Dim a As String
        a = MsgBox("¿Esta seguro que desea Modificar Registro?", vbQuestion + vbYesNo, "Actualizar")
 
        If a = vbYes Then
 
 
            tbclie.ReadOnly = False
            tbnom.ReadOnly = False
            tbdir.ReadOnly = False
            tbt1.ReadOnly = False
            tbt2.ReadOnly = False
 
 
        Else
            MsgBox("Actualizacion Cancelado", vbInformation, "Atualizar")
            Me.ClienteTableAdapter.Fill(Me.ProyectoFinalDataSet.Cliente)
        End If
 
    End Sub
 
'boton eliminar un registro
 
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim a As String
        a = MsgBox("¿Desea eliminar el registro?", vbQuestion + vbYesNo, "Eliminar")
        If a = vbYes Then
            ClienteBindingSource.RemoveCurrent()
            ClienteTableAdapter.Update(ProyectoFinalDataSet.Cliente)
 
        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