Foros del Web » Programación para mayores de 30 ;) » .NET »

crear, modificar y eliminar registros en access 2003 desde visual basic 2005

Estas en el tema de crear, modificar y eliminar registros en access 2003 desde visual basic 2005 en el foro de .NET en Foros del Web. hola , antes que me regañen por no buscar las faqs o ejemplos me preguntaba si quisieran ayudarme con este codigo de veras lo necesito ...
  #1 (permalink)  
Antiguo 11/05/2009, 19:12
Avatar de osckblz2  
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 18 años
Puntos: 0
De acuerdo crear, modificar y eliminar registros en access 2003 desde visual basic 2005

hola , antes que me regañen por no buscar las faqs o ejemplos me preguntaba si quisieran ayudarme con este codigo de veras lo necesito

busque en la web una aplicacion que lea una base de datos en acces y funciona ya que visualiza los registros y hasta busca segun un item, pero quiero añadir el boton para añadir un nuevo registro, otro para modificar y otro para eliminar un registro si quisieran colaborarme se los agradeceria


este es el codigo de los botones

por si a alguno mas le sirve la base de datos se llama biblio2.mdb

Código:
Public Class frmBiblioteca
    Dim dt As New DataTable
    Dim intfila As Integer = 0

    Private Sub frmBiblioteca_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '********************************************************************
        '* Carga los datos de la basa de datos y lospone en una data table  (dt) y muestra el primer registro
        '*osck                               *
        ' ************************************************************
        Dim strconexion As String = "Provider =Microsoft.Jet.OLEDB.4.0;" & _
       "Data Source=biblio2.mdb"
        Dim strSQL As String = "SELECT * FROM LIBROS "
        Dim dataAdapter As New OleDb.OleDbDataAdapter(strSQL, strconexion)
        dataAdapter.Fill(dt)
        dataAdapter.Dispose()
        ActualizaTexto()


    End Sub
    Private Sub ActualizaTexto()
        '***********************************************************
        '* esta funcion carga los datos de un registro a los cuadros de texto
        '************************************************************
        TxtISBN.Text = CStr(dt.Rows(intfila)("ISBN"))
        TxtTitulo.Text = CStr(dt.Rows(intfila)("TITULO"))
        TxtAutor.Text = CStr(dt.Rows(intfila)("AUTOR"))
        Txteditorial.Text = CStr(dt.Rows(intfila)("EDITORIAL"))
        TxtAño.Text = CStr(dt.Rows(intfila)("AÑO"))
        Txtlugar.Text = CStr(dt.Rows(intfila)("LUGAR"))
        Txtpaginas.Text = CStr(dt.Rows(intfila)("PAGINAS"))


    End Sub

    Private Sub BotBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotBuscar.Click
        Dim strBuscaISBN As String
        Dim Encontrado As Boolean = False
        Dim i As Integer
        strBuscaISBN = CStr(InputBox("Escribe el ISBN del libro a Buscar"))
        For i = 0 To dt.Rows.Count - 1
            If CStr(dt.Rows(i)("ISBN")) = strBuscaISBN Then
                Encontrado = True
                intfila = i
                ActualizaTexto()

            End If

        Next

        If Not Encontrado Then
            MsgBox("no se encontro libro con este ISBN en nuestros registros" & strBuscaISBN)

        End If
    End Sub
End Class
__________________
Visita ForoSpyware para que te despidas para siempre de los bichos y molestos malwares
  #2 (permalink)  
Antiguo 12/05/2009, 12:04
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años, 7 meses
Puntos: 30
Respuesta: crear, modificar y eliminar registros en access 2003 desde visual basic 20

Bueno.... colocar los botones de guardar un nuevo registro, actualizar, y borrar es sumamente sencillo.

Según veo tu código una vez que buscas pasas los datos, cuando los tengas en los textbox debes hacer lo siguiente:

Para guadar un nuevo registro:

Public Sub llenarcuenta()

Try
Dim objCon As New Conexion
Dim strSQL As String = "INSERT INTO CUENTAS (numcuenta,tipocuenta,descripcion,usuario)" & _
"VALUES ('" & txtnumcuenta.text & "', '" & txttipoc.text & "','" & txtdescripcion.text & "','" & txtuser.Text & "')"

objCon.abrirConexion()
objCon.consultaAccion(strSQL)
objCon.cerrarConexion()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Sub

Para modifica un dato luego de que lo has buscado
Sub actuliza

Try

Dim strConsul = "UPDATE CUENTAS SET TIPOCUENTA ='" & txttipocuenta.text & "',DESCRIPCION='" & txtdesc.text & "',USUARIO='" & txtuser.text & "' WHERE NUMCUENTA='" & txtnucuenta.text & "'"
objCon.abrirConexion()
objCon.consultaAccion(strConsul)
objCon.cerrarConexion()

MsgBox("Se han Modificado los datos", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "Ejecutado")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End sub

Para eliminar el dato

Try

If MsgBox("Desea Eliminar la Cuenta: " & txtcuenta.Text, MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question, "Advertencia") = MsgBoxResult.Yes Then
Dim objCon As New Conexion
objCon.abrirConexion()
objCon.consultaAccion("DELETE FROM CUENTAS WHERE NUMCUENTA ='" & txtcuenta.Text & "'")
objCon.cerrarConexion()
MsgBox("Se ha eliminado el registro", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "Ejecutado")

End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Por último y para que lo anterior te funcione deberias tener una clase conexión con lo siguiente:

Public Class Conexion

Public strConexion As String
Public cnnConex As OleDb.OleDbConnection
Public comand As OleDb.OleDbCommand
Public dtrDatos As OleDb.OleDbDataReader

Sub abrirConexion()
Try
strConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ".\tu bd"
cnnConex = New OleDb.OleDbConnection(strConexion)
cnnConex.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Sub

'consultas insert,delete,update
Sub consultaAccion(ByVal consulta As String) 'para hacer las consultar

Try
comand = New OleDb.OleDbCommand(consulta, cnnConex)
comand.ExecuteNonQuery()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Sub cerrarConexion()
Try
cnnConex.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub



End Class

Esta es la forma mas sencilla, existen otras formas utilizando clases pero se complica un poco mas. Sin embargo si quieres saberlas nada mas avisame.

Espero con esto poder ayudarte y aclarte tus dudas.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.