Translate

domingo, 18 de mayo de 2014


Como guarda, modificar, eliminar informacion en "Access" mediante V.B
  • Lo primero que debemos hacer es ir a crear una tabal en Acces ,  dando clic en la pestaña vista de diseño, y agragas los campos que necesites. Como por ejemplo:


  • Yo, a mi tabla la llame pasaporte y agrega los campos que necesita mi tabla, les di el tipo de dato que les corresponde a cada uno de los campos, es importante también agregar una breve descripción de los que es cada uno de los campos, en mi caso no lo hice pero ustedes lo pueden hacer. Recuerden siempre identificar la identidad con una clave principal  ya que es un campo único y el tipo de dato  será autonumerico. Cuando termines seleccionas la pestaña "Ver hoja de datos" y les mostrara como quedo estructurada su tabla.

  • Luego nos vamos a abrir un nuevo proyecto en Visual Basic y seleccionamos "Agregar Windows Form" en el formulario que nos da V.B con el cuadro de herramientas pegamos los Label, Texbox, Combobox, button etc. Dependiendo cual le corresponda a el campo.



  • Para que la información que ingresemos en el formulario se envíe a Access escribimos el siguiente código en el formulario dando doble clic en el formulario.
Public Class Form1
    Dim Cadena As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\EjercicioPasaporte\Ejercicio Pasaporte.accdb"
    Private Function Validar() As Boolean
        'Datos Personales
        If txtidentidad.Text.Trim = String.Empty Then
            Erp.SetError(txtidentidad, "Escriba la Identidad")
            txtidentidad.Focus()
            Return False
        End If
        Erp.SetError(txtidentidad, "")
        If txtNombres.Text.Trim = String.Empty Then
            Erp.SetError(txtNombres, "Escriba el Nombre")
            txtNombres.Focus()
            Return False
        End If
        Erp.SetError(txtNombres, "")
        If txtapellidos.Text.Trim = String.Empty Then
            Erp.SetError(txtapellidos, "Escriba el Apellido")
            txtapellidos.Focus()
            Return False
        End If
        Erp.SetError(txtapellidos, "")
        If txtCiudad.Text.Trim = String.Empty Then
            Erp.SetError(txtCiudad, "Escriba la Cuidad")
            txtCiudad.Focus()
            Return False
        End If
        Erp.SetError(txtCiudad, "")
        If txtDepartamento.Text.Trim = String.Empty Then
            Erp.SetError(txtDepartamento, "Escriba el Departamento")
            txtDepartamento.Focus()
            Return False
        End If
        Erp.SetError(txtDepartamento, "")
        If txtDuración.Text.Trim = String.Empty Then
            Erp.SetError(txtDuración, "Escriba la Duración del Pasaporte")
            txtDuración.Focus()
            Return False
        End If
        Erp.SetError(txtDuración, "")
        Return True


    End Function

  •         Este código también valida cada uno de los campos en tu tabla.



  •          Para que Guarde y Modifique  información en la tabla.
Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        'Boton Guardar
        If Validar() = True Then
            Dim fecha As String
            Dim cSQLIns As String
            If txtidentidad.ReadOnly = False Then
                'Agregar Registro
                cSQLIns = " Insert into Pasaporte(Identidad,Nombres,Apellidos,FechaNac,Ciudad,Departamento,FechaSoli,Duración)Values('" & txtidentidad.Text.Trim & "','" & txtNombres.Text.Trim & "','" & txtapellidos.Text.Trim & "',#" & DtpFechaNac.Value.ToShortDateString & "#,'" & txtCiudad.Text.Trim & "','" & txtDepartamento.Text.Trim & "',#" & DtpFechaSoli.Value.ToShortDateString & "#,'" & txtDuración.Text.Trim & "')"
            Else
                cSQLIns = " Update Pasaporte set Nombres ='" & txtNombres.Text.Trim & "', Apellidos='" & txtapellidos.Text.Trim & "', FechaNac=#" & DtpFechaNac.Value.Month & "/" & DtpFechaNac.Value.Day & "/" & DtpFechaNac.Value.Year & "# , Ciudad='" & txtCiudad.Text.Trim & "', Departamento='" & txtDepartamento.Text.Trim & "', FechaSoli=#" & DtpFechaSoli.Value.ToShortDateString & "#, Duración='" & txtDuración.Text.Trim & "' Where Identidad ='" & txtidentidad.Text.Trim & "'"
            End If
            Dim oConexion As New OleDb.OleDbConnection(Cadena)
            oConexion.Open()

            Dim cmd As New OleDb.OleDbCommand(cSQLIns, oConexion)
            cmd.ExecuteNonQuery()
            MsgBox("La Informacion Fue Almacenada ", MsgBoxStyle.OkOnly, "Guardar")
            oConexion.Close()
            Call btnNuevo_Click(Nothing, Nothing)

        End If
    End Sub


  • Al momento de  guardar la fecha en Access ocurre un error que Access la guarda: mes/día/año y en V.B la escribimos: día / mes/año  para arreglar este error  nos vamos a la instrucción update y la escribimos así:

FechaNac=#" & DtpFechaNac.Value.Month & "/" & DtpFechaNac.Value.Day & "/" & DtpFechaNac.Value.Year & "#

  • En nuestro caso ya la teníamos arreglada así  que no habrá  ningún cambio

  •          Para que elimine informacion:
  Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
        Dim cSQL As String
        cSQL = " Delete From Pasaporte Where Identidad = '" & txtidentidad.Text.Trim & "'"
        Dim oConexion As New OleDb.OleDbConnection(Cadena)
        oConexion.Open()
        Dim cOMANDO As New OleDb.OleDbCommand(cSQL, oConexion)
        cOMANDO.ExecuteNonQuery()
        oConexion.Close()
        MsgBox("La informacion a sido eliminada")
        Call btnNuevo_Click(Nothing, Nothing)




No hay comentarios:

Publicar un comentario