none
Por que no puedo agregar mas de 5 Insert en VB.Net 2012 y Access 2013 RRS feed

  • Pregunta

  • Saludos.

    Estoy desarrollando un programa con conexion a Access desde VB.net y quiero agregar 10 campos para agregarlos a la base de datos mediante  un formulario pero al parecer el codigo me limita a que solo cuando son 5 campos lo acepta pero cuando intento con uno mas me da error.

    Necesito ayuda por favor.!!

    martes, 30 de junio de 2015 23:51

Todas las respuestas

  • Hola Jesús,

    Requieres ayuda pero no haces mucho por obtenerla. Muéstranos el código donde estás teniendo problemas, recuerda que somos desarrolladores, no tenemos poderes para imaginar/suponer/adivinar/especular/recrear/escenificar/... lo que intentas realizar. 

    martes, 30 de junio de 2015 23:57
  • Disculpa. Es que lo hice un poco rapido.

    espero y tengas la solucion

    Imports System.Data
    Imports System.Data.OleDb

    Public Class fDespacho
        Dim conexion As New OleDbConnection
        Dim comando As New OleDbCommand
        Dim adadtador As New OleDbDataAdapter
        Dim Registro As New DataSet


        Sub Limpiar()

            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox1.Focus()

        End Sub

        Private Sub datagridviewdesp()

            Dim adadtador As New OleDbDataAdapter
            Dim registro As New DataSet
            Dim consulta As String


            consulta = "SELECT * FROM Registros_Despachos"
            adadtador = New OleDbDataAdapter(consulta, conexion)
            registro.Tables.Add("Registros_Despachos")
            adadtador.Fill(registro.Tables("Registros_Despachos"))
            DataGridViewDespachos.DataSource = registro.Tables("Registros_Despachos")


        End Sub

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

            Timer1.Start()
            btnmodificar.Enabled = False
            Try

                conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Programacion\windows form\My Sistema\My Sistema\bin\Debug\mybasedalmacen.accdb"
                conexion.Open()
                datagridviewdesp()

            Catch ex As Exception

                MsgBox("Error al conectar", MsgBoxStyle.Critical, "Error de Conexion")
            End Try

        End Sub

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnguardar.Click

            Try

                comando = New OleDbCommand("INSERT INTO Registros_Despachos( Lote, Worklot, Logador,"  & vbCrLf &  "Equipo, Despachador) Values( TextBox1, TextBox2, " & vbCrLf &
                        "TextBox3, TextBox4, TextBox5)", conexion)

                comando.Parameters.AddWithValue("@Lote", TextBox1.Text)
                comando.Parameters.AddWithValue("@Worklot", TextBox2.Text)
                comando.Parameters.AddWithValue("@Logador", TextBox3.Text)
                comando.Parameters.AddWithValue("@Equipo", TextBox4.Text)
                comando.Parameters.AddWithValue("@Despachador", TextBox5.Text)

                comando.ExecuteNonQuery()

                datagridviewdesp()

                Limpiar()

            Catch ex As Exception
                MsgBox("Error al Guardar", MsgBoxStyle.Critical, "Error")
                Limpiar()

            End Try

        End Sub


    miércoles, 1 de julio de 2015 2:22
  • Hola Jesús,

    ¿Qué error te marca?

    miércoles, 1 de julio de 2015 2:30
  • este es el error que marca. el error del try por falso

    MsgBox("Error al Guardar", MsgBoxStyle.Critical, "Error")

    miércoles, 1 de julio de 2015 4:00
  • Hola Jesus tejeda es que estas especificando parámetros que en tu query no están siendo especificados o usados veo que directamente estas emitiendo  los valores de los textbox (de una manera incorrecta sin la propiedad text), deberías aplicar el siguiente código:

    Imports System.Data
    Imports System.Data.OleDb
    
    Public Class fDespacho
        Dim conexion As New OleDbConnection
        Dim comando As New OleDbCommand
        Dim adadtador As New OleDbDataAdapter
        Dim Registro As New DataSet
    
        Sub Limpiar()
            TextBox1.Clear()
            TextBox2.Clear()
            TextBox3.Clear()
            TextBox4.Clear()
            TextBox5.Clear()
            TextBox1.Focus()
        End Sub
    
        Private Sub datagridviewdesp()
            Dim adadtador As New OleDbDataAdapter
            Dim registro As New DataSet
            Dim consulta As String
            consulta = "SELECT * FROM Registros_Despachos"
            adadtador = New OleDbDataAdapter(consulta, conexion)
            registro.Tables.Add("Registros_Despachos")
            adadtador.Fill(registro.Tables("Registros_Despachos"))
            DataGridViewDespachos.DataSource = registro.Tables("Registros_Despachos")
        End Sub
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Timer1.Start()
            btnmodificar.Enabled = False
            Try
                conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Programacion\windows form\My Sistema\My Sistema\bin\Debug\mybasedalmacen.accdb"
                conexion.Open()
                datagridviewdesp()
            Catch ex As Exception
                MsgBox("Error al conectar", MsgBoxStyle.Critical, "Error de Conexion")
            End Try
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnguardar.Click
            Try
                comando = New OleDbCommand("INSERT INTO Registros_Despachos( Lote, Worklot, Logador,Equipo,Despachador) Values( @Lote, @Worklot,@Logador, @Equipo, @Despachador)", conexion)
                comando.CommandType = CommandType.Text
                comando.Parameters.AddWithValue("@Lote", TextBox1.Text)
                comando.Parameters.AddWithValue("@Worklot", TextBox2.Text)
                comando.Parameters.AddWithValue("@Logador", TextBox3.Text)
                comando.Parameters.AddWithValue("@Equipo", TextBox4.Text)
                comando.Parameters.AddWithValue("@Despachador", TextBox5.Text)
                comando.ExecuteNonQuery()
                datagridviewdesp()
                Limpiar()
            Catch ex As Exception
                MsgBox("Error al Guardar", MsgBoxStyle.Critical, "Error")
                Limpiar()
            End Try
        End Sub

    Espero haberte ayudado.



    • Editado Aldair Cosetito miércoles, 1 de julio de 2015 4:08
    • Propuesto como respuesta Sergio Parra miércoles, 1 de julio de 2015 5:27
    miércoles, 1 de julio de 2015 4:07
  • Saludos.

    Gracias por la atencion y el soporte.

    use este codigo pero persiste el error.

    Si realizo el codigo hasta el campo "Despachador" me funciona si agrego un campo mas me da error. en este caso agregue size y color y me da error.

    Este error esta raro. 

     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnguardar.Click

            Try
                     
                comando = New OleDbCommand("INSERT INTO Registros_Despachos( Lote, Worklot, Logador, Equipo, Despachador, Size, Color) Values( @Lote, @Worklot, @Logador, @Equipo, @Despachador, @Size, @Color)", conexion)
                comando.CommandType = CommandType.Text
                comando.Parameters.AddWithValue("@Lote", TextBox1.Text)
                comando.Parameters.AddWithValue("@Worklot", TextBox2.Text)
                comando.Parameters.AddWithValue("@Logador", TextBox3.Text)
                comando.Parameters.AddWithValue("@Equipo", TextBox4.Text)
                comando.Parameters.AddWithValue("@Despachador", TextBox5.Text)
                comando.Parameters.AddWithValue("@Size", TextBox6.Text)
                comando.Parameters.AddWithValue("@Color", TextBox7.Text)

                comando.ExecuteNonQuery()

                datagridviewdesp()

                Limpiar()

            Catch ex As Exception
                MsgBox("Error al Guardar", MsgBoxStyle.Critical, "Error")


            End Try

        End Sub

    miércoles, 1 de julio de 2015 10:47
  • Hola Jesus tejeda,

    ¿Podrías indicar cuál es el error que te sale?

    miércoles, 1 de julio de 2015 14:30
  • EL ERROR POR CASO CONTRARIO 

    EJEMPLO

    Catch ex As Exception
                MsgBox("Error al Guardar", MsgBoxStyle.Critical, "Error")

    miércoles, 1 de julio de 2015 20:21