Visual Basic - Conectar Visual Basic a Access

Life is soft - evento anual de software empresarial
 
Vista:

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 23/12/2015 22:56:58
Tengo este código para la conexión Access.
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Try
            'verdad
            conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Base de Datos\Base de BB.accdb"
            conexion.Open()
            MsgBox("Conectado a la Base de Datos", vbInformation, "Correcto")
        Catch ex As Exception
            'falso
            MsgBox("Error al conectar a Base de Datos", vbCritical, "Sin Conexión")
        End Try
 
End Sub

Me funciona bien, sale "Conectado a la Base de Datos" ahora.
Este es el código para entrar la data a la base de datos y me dice "Error al guardar"

QUE ESTARA MAL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub btnGuardar_Click(sender As Object, e As EventArgs) Handles btnGuardar.Click
 
        Try
            cdm = New OleDbCommand("INSERT INTO CONSULTA DE BB (Numerlote,Cavidad1,Cavidad2,Cavidad3,Cavidad4)" & Chr(13) &
                                 "VALUES (txtNumerlote,txtbbCavidad1,txtbbCavidad2,txtbbCavidad3,txtbbCavidad4)", conexion)
            cmd.Parameters.AddWithValue("@Numerlote", txtNumerlote.Text)
            cmd.Parameters.AddWithValue("@Cavidad1", txtbbCavidad1.Text)
            cmd.Parameters.AddWithValue("@Cavidad2", txtbbCavidad2.Text)
            cmd.Parameters.AddWithValue("@Cavidad3", txtbbCavidad3.Text)
            cmd.Parameters.AddWithValue("@Cavidad4", txtbbCavidad4.Text)
            cmd.ExecuteNonQuery()
            MsgBox("Guardado", vbInformation, "Correto")
 
        Catch ex As Exception
            MsgBox("Error al guardar", vbCritical, "Atención")
 
        End Try
End Sub
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 Wilfredo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Conectar Visual Basic a Access

Publicado por Wilfredo (260 intervenciones) el 26/12/2015 18:32:50
El Nombre de tu tabla tiene espacios y otra cosa, no es necesario el chr(13), los values estás poniendo nombres de textboxes, mas no contenidos, y los parámetros por ninguna parte s relacionan con los values, así que revisa eso y todo irá bien, claro que no es la mejor manera de hacerlo, pero al menos funcionará.

Saludos cordiales,
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 26/12/2015 19:42:51
Gracias,estaré verificando.
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 26/12/2015 19:58:39
Así está mejor. Cambié la tabla en Access a Consulta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub btnGuardar_Click(sender As Object, e As EventArgs) Handles btnGuardar.Click
 
	Try
		cdm = New OleDbCommand("INSERT INTO Consulta (@Numerlote,@Cavidad1,@Cavidad2,@Cavidad3,@Cavidad4)" & "VALUES (?,?,?,?,?)", conexion)
		cmd.Parameters.AddWithValue("@Numerlote", txtNumerlote.Text)
		cmd.Parameters.AddWithValue("@Cavidad1", txtbbCavidad1.Text)
		cmd.Parameters.AddWithValue("@Cavidad2", txtbbCavidad2.Text)
		cmd.Parameters.AddWithValue("@Cavidad3", txtbbCavidad3.Text)
		cmd.Parameters.AddWithValue("@Cavidad4", txtbbCavidad4.Text)
		MsgBox("Guardado", vbInformation, "Correto")
 
	Catch ex As Exception
		MsgBox("Error al guardar", vbCritical, "Atención")
 
	End Try
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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Conectar Visual Basic a Access

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 27/12/2015 01:20:52
Ya te funciona así?, ya que no creo que los nombre de los campos sean con @, mas bien esos deberían ir en los values, para que puedas pasar los parámetros.

Saludos cordiales,
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 27/12/2015 01:38:43
No, no funcionó.
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 Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Conectar Visual Basic a Access

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 27/12/2015 05:44:37
Es que estás aplicando mal la sintaxis.

Prueba de esta manera:

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
Private Sub Grabar()
        Dim Conn As New OleDbConnection('Aqui con cadena de conexon')
        Dim DBComando As New OleDbCommand
        Try
            Conn.Open()
            With DBComando
                .CommandText = "INSERT INTO CONSULTA (NumeroLote,Cavidad1,Cavidad2,Cavidad3,Cavidad4) VALUES (@NumeroLote,@Cavidad1,@Cavidad2,@Cavidad3,@Cavidad4)"
                .CommandType = CommandType.Text
                .Connection = Conn
                .Parameters.Add("@NumeroLote", OleDbType.Integer).Value =Convert.ToInt32(TxtNumeroLote.Text)
                .Parameters.Add("@Cavidad1", OleDbType.VarChar).Value = txtbbCavidad1.Text
                .Parameters.Add("@Cavidad2", OleDbType.VarChar).Value = txtbbCavidad2.Text
                .Parameters.Add("@Cavidad3", OleDbType.VarChar).Value = txtbbCavidad3.Text
                .Parameters.Add("@Cavidad4", OleDbType.VarChar).Value = txtbbCavidad4.Text
            End With
            Dim Correcto As Integer = DBComando.ExecuteNonQuery
            If Correcto = 0 Then
                MessageBox.Show("Error al agregar estudiante","Advertencia")
            Else
                 MessageBox.Show("Guardado", vbInformation, "Correto")
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message,"Error")
        Finally
            Conn.Close()
            Conn.Dispose()
        End Try
    End Sub


De esa manera no tendrás problemas solo adapta a tus necesidades.

Saludos cordiales,
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 27/12/2015 10:15:30
Gracias, lo estaré verificando y te dejo saber.
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 30/12/2015 12:07:16
Gracias Wilfredo, le hice unos cambios al código que me enviaste para adaptarlo a mi proyecto y funcionó super. Gracias mil!!!!!!!
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 Wilfredo Patricio Castillo
Val: 8
Ha aumentado su posición en 9 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Conectar Visual Basic a Access

Publicado por Wilfredo Patricio Castillo (260 intervenciones) el 30/12/2015 15:56:01
Correcto!!

Que bueno que te haya servido. cualquier otra duda, nos lo haces saber.

Saludos cordiales, y Feliz Año nuevo°°.
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

Conectar Visual Basic a Access

Publicado por sortiz (7 intervenciones) el 30/12/2015 16:24:16
Feliz Año para usted y todos los miembros de éste foro.
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