none
visual studio 2008 y access 2007

    Pregunta

  • hola a todos espero q me puedan ayudar soy nuevo en esto de la programacion
    tengo un program echo en vb lo q no puedo lograr es:

    * la coneccion a mi base de datos (access 2007)
    * como pasar los datos de un textbox a un registro de la base de datos
    * como modificar los datos de una base de datos
    * y despues imprimir estos resultados

    gracias de antemano a todos
    sábado, 21 de marzo de 2009 17:29

Todas las respuestas

  • hola,

    La verdad tu consulta es demasiado generica, y amplia, recuerda que cada punto que mencionas son capitulos completos de libros de miles de paginas.

    Igualmente voy a ver si puedo pasarte algunas referencias para comenzar.

    Lo primero que debes hacer es conseguirte algun libro basico sobre VB.NET, es lo primero, estos libros seguro tienen estos temas que mencionas.

    - para conectar a la base de datos estos link te lo explicaran muy bien:

    conectar base de datos?

    O sea veras que deberas aprender sobre los objetos : OleDbConnection, OleDbDataAdapter
    en el ejemplo no lo usa pero deberas ver tambien el objeto: OleDbCommand

    Despues para recorrer el resultado obtenido tienes dos alternaticvas una conectada usando el: OleDbDataReader
    o una desconectado utilizando DataSet

    Veras que en cada link de cada objeto tienes ejemplo que explican como deben utilizarse.
    Es mas sino me equivoco si utilizas el msdn para aprender, puedes pasarlo de idioma al catellano asi te resulta mas simple en la lectura.

    seguramente necesites aprender como armar el connection string a tu base:

    Connection strings for Access 2007


    - si tienes un textbox simplemente debes asignar un valor a la propiedad Text del mismo y eso es todos. Puede ser un valor fino como ser :

    TextBox1.Text = "Texto de prueba"

    o desde una base de datos asignando un registro: TextBox1.Text = reader[0].ToString(), sinedo el reader un objeto del tipo OleDbDataReader, pero esto puede cambiar dependiendo de que objetos utilices.


    - para modificar deberias estar usando los mismos objetos de mas arriba, pero solo que le asignaras una consulta SQL de update, o insert, segun sea el caso.

    Para esto ya deberias estar aprendiendo las consulta de SQL, lo cual es todo un tema en si mismo.

    las instrucciones basicas son: SELECT, INSERT, UPDATE o DELETE.

    los link que agregue correspondean a T-SQL, o sea a los queria que harias en SQL Server, pero en Access son bastante similares.
    Estas seguramente las utilices en tu objetos OleDbCommand, junto a tu metodo: ExecuteNonQuery o ExecuteReader, segun sean de actualizacion o de consulta.

    - por ultimo la impresion, bueno en este punto lo mas recomendable es que utilices algun sistema de reportes, las alternativas mas comunes serian Crystal Reports, o Reporting Service, por ahi la segunda alternativa requiere que tengas licencias de SQL Server.


    Bueno como veras hice un uso intensivo del msdn library para proporcionarte ejemplos y explicaciones sobre todos los temas, te recomiendo que lo investigues a fondo hay mucho alli, o sino acon algun libro, simpre son una buena guia para empezar.
    Tambien puede cambiar el idioam al msdn library para que te sea ams simple.

    bueno espero te sea de utilidad esta info
    Saludos


    Leandro Tuttini
    domingo, 22 de marzo de 2009 15:13
  • Hola Rcap,
    Te dejo un ejemplo en codigo... no esta comentado, si tienes alguna dificultad para interpretarlo no dudes en seguir esta conversacion.
    Saludos,
    Pep Lluis,

        'Supuesto de una BD de access llamada Clientes y una tabla de cliente

        'notar el uso de binding en los textbox, desde donde

        'podemos modificar / añadir el contenido a la tabla

        'invocando a la actualiacion al pulsar el boton.

     


        Private Miconexion As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Clientes.mdb")

        Private MiAdaptador As New OleDbDataAdapter("Select * from Cliente", Miconexion)

        Private MiDataSet As New DataSet

        Private MiEnlazador As New BindingSource

     

        Private DGV As New DataGridView

     

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

     

            Dim Nombre = New TextBox

            Dim Direccion = New TextBox

            Dim Insertar = New Button

            Dim Actualizar = New Button

            DGV.AllowUserToAddRows = False

     

            Dim marco = New FlowLayoutPanel

            marco.Dock = DockStyle.Top

            Insertar.Text = "Insertar"

            Actualizar.Text = "Actualizar"

            marco.Controls.AddRange(New Control() {Nombre, Direccion, Insertar, Actualizar, DGV})

            marco.Size = New System.Drawing.Size(Me.Height, Me.Width)

            Me.Controls.AddRange(New Control() {marco})

     

            Miconexion.Open()

            MiAdaptador.Fill(MiDataSet, "Clientes")

            Dim Clave(0) As DataColumn

            Clave(0) = MiDataSet.Tables("Clientes").Columns(0)

            MiDataSet.Tables("Clientes").PrimaryKey = Clave

     

            MiEnlazador.DataSource = MiDataSet.Tables(0)

     

            Dim Micommandbuilder As New OleDbCommandBuilder(Me.MiAdaptador)

     

            DGV.DataSource = MiEnlazador

     

            Dim EnlaceNombre As New Binding("Text", MiEnlazador, "Nombre")

            Nombre.DataBindings.Add(EnlaceNombre)

            Dim EnlaceDireccion As New Binding("Text", MiEnlazador, "Direccion")

            Direccion.DataBindings.Add(EnlaceDireccion)

     

            AddHandler Insertar.Click, AddressOf Nuevo

            AddHandler Actualizar.Click, AddressOf Actualizacion

        End Sub

     

        Sub Nuevo()

            MiEnlazador.AddNew()

        End Sub

     

        Sub Actualizacion()

            MiEnlazador.EndEdit()

            MiAdaptador.Update(CType(Me.MiEnlazador.DataSource, DataTable))

            Me.DGV.RefreshEdit()

        End Sub

    Recuerda importat los espacios de nombres...

    Imports System.Data
    Imports System.Data.OleDb


    MVP - Visual Developer
    lunes, 23 de marzo de 2009 6:18