none
GUARDAR UN DATO DE UN TEXTBOX EN UN CAMPO DE UNA BASE DE DATOS ACCESS, VB EXP 2010? RRS feed

  • Pregunta

  • HOLA SALUDOS ESPERO ME PUDIERAN AYUDAR CON ESTA CONSULTA,

    TENGO ENLAZADOS UN COMBOBOX CON UN TEXTBOX. AL ELEGIR UNA OPCION DEL COMBOBOX ME MUESTRA UNA CANTIDAD DE STOCK EXISTENTE EN MI TEXTBOX1, POSTERIORMENTE EN OTRO TBX2 INTRODUSCO LA CANTIDAD DE STOCK QUE SALDRA, REALIZA LA RESTA Y MUESTRA MSG DE QUE LA SALIDA ES EXITOSA, PERO NO ME GUARDA EL RESULTADO EN LA BASE DE DATOS. COMO PUEDO GUARDAR EL RESULTADO DE LA RESTA EN LA BASE DE DATOS. 

    ESPERO HABERME EXLICADO BIEN, MUCHAS GRACIAS POR ATENDER LES COMENTO QUE SOY NUEVO EN ESTO DE PROGRAMAR. SALUDOS

    sábado, 13 de abril de 2013 17:25

Todas las respuestas

  • hola

    de casualidad la db esta integrada al proyecto ? o sea puedes verla en el solution explorer, porque si es asi recuerda que la db se copia a la carpeta \bin\Debug, es alli donde se realizan las actualizaciones

    aqui explico

    [Visual Studio] Base de Datos integradas al proyecto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    domingo, 14 de abril de 2013 18:36
  • hola leandro muchisismas gracias por  responder, si la comprobe que este dentro del proyecto, de hecho ya me habia pasado que no me guardaba las

    altas o cualquier cambio, pero ya corrobore la ruta de la base de datos, nombre de la tabla y todo bien, creo que esta ves es algo del codigo lo que anda mal, anexo el mio para cualquier duda

                         

    Imports System
    Imports System.Data
    Imports System.Windows.Forms
    Imports System.Drawing.Printing

    Public Class SALIDAS
        Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\r\Documents\Visual Studio 2010\Projects\Proyecto Almacen Cielco\Proyecto Almacen Cielco\CONTRATOS1.mdb"

        Private dataGridView1 As New DataGridView()
        'Crear el enlace de origen
        Private bindingSource3 As New BindingSource()
        'Adaptador de datos
        Private AdaptadorDeDatos As New OleDb.OleDbDataAdapter

        <STAThreadAttribute()> _
        Public Shared Sub Main()
            Application.Run(New SALIDAS())     'Ejecutar aplicacion

        End Sub
        Private Sub SALIDAS_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'TODO: esta línea de código carga datos en la tabla 'CONTRATOS1DataSet3.MATERIALES' Puede moverla o quitarla según sea necesario.
            Me.MATERIALESTableAdapter1.Fill(Me.CONTRATOS1DataSet3.MATERIALES)
            'TODO: esta línea de código carga datos en la tabla 'CONTRATOS1DataSet3.ALMACENES' Puede moverla o quitarla según sea necesario.
            Me.ALMACENESTableAdapter1.Fill(Me.CONTRATOS1DataSet3.ALMACENES)
            'TODO: esta línea de código carga datos en la tabla 'CONTRATOS1DataSet3.CONTRATOSNOM' Puede moverla o quitarla según sea necesario.
            Me.CONTRATOSNOMTableAdapter1.Fill(Me.CONTRATOS1DataSet3.CONTRATOSNOM)
            'TODO: esta línea de código carga datos en la tabla 'CONTRATOS1DataSet2.ALMACENES' Puede moverla o quitarla según sea necesario.
            Me.CONTRATOSNOMTableAdapter.Fill(Me.CONTRATOS1DataSet1.CONTRATOSNOM)


            Me.DataGridView3.DataSource = Me.bindingSource3 'Enlazar el DataGrid
            LeerDatos("select * from MATERIALES")            'obtener los datos
        End Sub



        Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

            Me.AdaptadorDeDatos.Update(CType(Me.bindingSource3.DataSource, DataTable))
            LeerDatos(Me.AdaptadorDeDatos.SelectCommand.CommandText)
            MsgBox("SUS CAMBIOS SE GUARDARON CORRECTAMENTE", MsgBoxStyle.Information)
        End Sub



        Private Sub LeerDatos(ByVal selectCommand As String)
            Try
                ' Especificar un 'connection string' valido
                ' En este caso origen de la carpeta de la aplicacion BD1.mdb
                Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\r\Documents\Visual Studio 2010\Projects\Proyecto Almacen Cielco\Proyecto Almacen Cielco\CONTRATOS1.mdb"

                ' Crear un nuevo adaptador de datos vasado en el 'query' especificado
                Me.AdaptadorDeDatos = New OleDb.OleDbDataAdapter(selectCommand, connectionString)

                ' Crear un 'commandbuilder' que genere el SQL Update/Insert/Delete
                ' segun el 'selectcommand', usado para actualizar la BD
                Dim commandbuilder As New OleDb.OleDbCommandBuilder(Me.AdaptadorDeDatos)

                ' Llenar la tabla con los datos y enlazarza con el 'bindingsource'
                Dim tabla As New DataTable()
                Me.AdaptadorDeDatos.Fill(tabla)
                Me.bindingSource3.DataSource = tabla


                ' Dimensionar las columnas del DataGrid para ajustalarlas al contenido cargado


            Catch ex As Exception
                MessageBox.Show("Excepcion al leer los datos:" + ex.Message)
            End Try

        End Sub



        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ALTAS_SALIDAS.Show()
        End Sub

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Me.AdaptadorDeDatos.Update(CType(Me.bindingSource3.DataSource, DataTable))
            LeerDatos(Me.AdaptadorDeDatos.SelectCommand.CommandText)
            MsgBox("SUS CAMBIOS SE GUARDARON CORRECTAMENTE", MsgBoxStyle.Information)

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click





            TextBox1.Text = Me.TextBox1.Text - TextBox9.Text



            Me.AdaptadorDeDatos.Update(CType(Me.bindingSource3.DataSource, DataTable))
            LeerDatos(Me.AdaptadorDeDatos.SelectCommand.CommandText)


            Try
                Me.Validate()
                Me.bindingSource3.EndEdit()
                Me.AdaptadorDeDatos.Update(Me.CONTRATOS1DataSet3.MATERIALES)
                MsgBox("La Salida de Materiales se ha registrado correctamente")

            Catch ex As Exception
                MsgBox("Update failed")
            End Try







        End Sub





        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        End Sub

        Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
            Me.Close()

        End Sub

        Private Sub Button5_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

        End Sub

        Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

        End Sub

        Private Sub DataGridView3_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView3.CellContentClick

        End Sub

        Private Sub SalirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click
            Me.Close()

        End Sub

        Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

        End Sub

        Private Sub Label8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        End Sub

        Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged

        End Sub

    Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
            Me.TextBox1.Text = CONTRATOS1DataSet3.Tables("MATERIALES").Rows(Me.ComboBox3.SelectedIndex)("Stock")


        End Sub

        Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            Dim res As String
            res = TextBox2.Text
            res = Me.TextBox1.Text - TextBox9.Text
            Me.AdaptadorDeDatos.Update(CType(Me.bindingSource3.DataSource, DataTable))
            LeerDatos(Me.AdaptadorDeDatos.SelectCommand.CommandText)

        End Sub

        Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged

        End Sub
    End Class

    Creo que en el codigo esta el error y no lo estoy haciendo de la manera correcta, espero y me puedas ayudar muchas gracias de antemano y un saludo.

    lunes, 15 de abril de 2013 13:54
  • Hola, tengo el mismo problema que tu, si lo resolviste? podrías compartirme como? gracias
    miércoles, 28 de mayo de 2014 17:53