You are on page 1of 7

CONEXIÓN CON ACCESS

Imports System
Imports System.Data
Imports System.Data.OleDb

Public Class FrmPrincipal


Private posic As Integer
Private dstabla As DataSet
Dim Cadena As String
Dim consulta As String
Sub volver(ByVal valor As Boolean)

Me.btncancelar.Enabled = valor

End Sub

Sub limpiar()
txtidalumno.Clear()
txtnombre.Clear()
txtapellidos.Clear()
txtdireccion.Clear()
Me.Txtidcurso.Clear()
Me.Txttelefono.Clear()
Me.Txtcarrera.Clear()
txtidalumno.Focus()
End Sub

Sub desactivar_cuadros(ByVal valor As Boolean)

Me.txtidalumno.ReadOnly = valor
Me.Cmboidcurso.Visible = Not valor
Me.Txtidcurso.ReadOnly = True
Me.txtnombre.ReadOnly = valor
Me.txtapellidos.ReadOnly = valor
Me.txtdireccion.ReadOnly = valor
Me.Txttelefono.ReadOnly = valor
Me.Txtcarrera.ReadOnly = valor

End Sub

1
Private Sub rehace()

Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
'Crea el objeto Connection
Dim Cn As New OleDbConnection(Cadena)
Me.dstabla.Clear()
consulta = "Select * From Alumnos"
Dim adaptador As New OleDbDataAdapter(consulta, Cn)
adaptador.Fill(dstabla, "Alumnos")

End Sub
Sub navegadores(ByVal valor As Boolean)

Me.Btnprimera.Enabled = valor
Me.BtnAnterior.Enabled = valor
Me.Btnsiguiente.Enabled = valor
Me.Btnultimo.Enabled = valor

End Sub

Private Sub cargar()

If Me.dstabla.Tables("Alumnos").Rows.Count > 0 Then


Dim registro As DataRow
registro = Me.dstabla.Tables("Alumnos").Rows(Me.posic)
Me.txtidalumno.Text = registro("idalumno")
Me.Txtidcurso.Text = registro("idcurso")
Me.txtnombre.Text = registro("nombre")
Me.txtapellidos.Text = registro("apellidos")
Me.txtdireccion.Text = registro("direccion")
Me.Txttelefono.Text = registro("telefono")
Me.Txtcarrera.Text = registro("carrera")

Me.Lblpos.Text = "Registro " & posic + 1 & " de " &


Me.dstabla.Tables("Alumnos").Rows.Count
'Me.Btnelimina.Enabled = True

Else
Me.txtidalumno.Clear()
Me.txtnombre.Clear()
Me.txtapellidos.Clear()
Me.txtdireccion.Clear()
Me.Btnelimina.Enabled = False
Lblpos.Text = "No hay registro(s)"
Me.posic = 0
Me.rehace()
End If

End Sub

2
Private Sub FrmPrincipal_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
Dim Cn As New OleDbConnection(Cadena)
consulta = "Select * From Alumnos"
Dim adaptador As New OleDbDataAdapter(consulta, Cn)
Me.dstabla = New DataSet
Cn.Open()
adaptador.Fill(dstabla, "Alumnos")
Cn.Close()
Me.posic = 0
Me.cargar()
Me.desactivar_cuadros(True)
Me.btngrabar.Enabled = False
Me.Btnmodificar.Enabled = False
Me.BtnNuevo.Enabled = False
Me.volver(False)

End Sub

Private Sub Btngrabar_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Btngrabar.Click
Dim idalumno, idcurso, nombre, apellidos, direccion, telefono,
carrera As String
'crear el control de excepciones
Try
idalumno = Me.txtidalumno.Text.ToUpper()
idcurso = Me.Txtidcurso.Text.ToUpper()
nombre = Me.txtnombre.Text.ToUpper()
apellidos = Me.txtapellidos.Text.ToUpper()
direccion = Me.txtdireccion.Text.ToUpper()
telefono = Me.Txttelefono.Text.ToUpper()
carrera = Me.Txtcarrera.Text.ToUpper()
'Forma la cadena de conexiom para la base de datos
Universidad
Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
'Crea el objeto Connection
Dim Cn As New OleDbConnection(Cadena)
'Crea el objeto con la instruccion insert
Dim Cmd As New OleDbCommand("Insert Into Alumnos
(idalumno,idcurso,nombre,apellidos,direccion,telefono,carrera)
Values('" & idalumno & "','" & idcurso & "','" & nombre & "','" &
apellidos & "','" & direccion & "','" & telefono & "','" & carrera &
"')", Cn)
'abre la conexion
Cn.Open()
'Ejecuta el comando
Cmd.ExecuteNonQuery()
MsgBox("Su registro ha sido insertado con éxito", 64,
"Mensaje")
Me.desactivar_cuadros(True)
Me.Btngrabar.Enabled = False
Me.navegadores(True)
'cierra la conexion a la base de datos
Cn.Close()
Catch Ex As OleDbException

3
Dim Mensaje As String
'utiliza la propiedad number para saber el tipo de error
producido
Select Case Ex.ErrorCode

Case 17
Mensaje = "No tiene acceso al servidor"
Case 4060
Mensaje = "No existe la base de datos"
Case 17142
Mensaje = "el servidor esta en pausa"
Case 18452
Mensaje = "no esta asociado a una conexion de
confianza"
Case 18456
Mensaje = "El nombre de usuario o contraseña es
incorrecto"
Case Else
'Si no es ninguno de los mensajes indicados, se
muestra su numero y mensaje de error
Mensaje = Ex.ErrorCode.ToString & "" & Ex.Message
End Select
'muestra el mensaje al usuario
MsgBox(Mensaje, 16, "Acceso denegado")
Catch Ex As Exception
Dim Mensaje As String
'almacena el mensaje de error producido por una excepcion
diferente de sqlserver
Mensaje = Ex.Message
'muestra el mensaje de usuario
MsgBox(Mensaje, 16, "verifique la sintaxis")
Finally
Me.rehace()
Me.Lblpos.Refresh()
Me.Lblpos.Text = "Registro " & posic + 1 & " de " &
Me.dstabla.Tables("Alumnos").Rows.Count
Me.BtnNuevo.Enabled = True
Me.Btnultimo.PerformClick()
Me.btncancelar.PerformClick()
End Try
End Sub

Private Sub Btncancelar_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Btncancelar.Click
Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
'Crea el objeto Connection
Dim Cn As New OleDbConnection(Cadena)
consulta = "Select * From Alumnos"
Dim adaptador As New OleDbDataAdapter(consulta, Cn)
Me.dstabla = New DataSet
'Cn.Open()
adaptador.Fill(dstabla, "Alumnos")
Cn.Close()
Me.cargar()
Me.rehace()
Me.desactivar_cuadros(True)
Me.BtnNuevo.Enabled = False
Me.BtnEditar.Enabled = True

4
Me.Btngrabar.Enabled = False
Me.Btnelimina.Enabled = True
Me.Btnmodificar.Enabled = False
Me.navegadores(True)
Me.volver(False)
End Sub

Private Sub Btnprimero_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Btnprimera.Click
Me.posic = 0
Call cargar()
End Sub

Private Sub btneditar_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btneditar.Click
Me.Btnelimina.Enabled = False

Me.btneditar.Enabled = False
Me.Btngrabar.Enabled = False
Me.desactivar_cuadros(False)
Me.Btnmodificar.Enabled = True
Me.BtnNuevo.Enabled = True
Me.volver(True)
Me.txtidalumno.Focus()
Me.Cmboidcurso.Text = Me.Txtidcurso.Text

End Sub

Private Sub btnsiguiente_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnsiguiente.Click
If Me.posic = (Me.dstabla.Tables("Alumnos").Rows.Count - 1)
Then
MsgBox("Ultimo registro", 64, "Mensaje")
Else
Me.posic = Me.posic + 1

End If
Call cargar()
End Sub

Private Sub btnanterior_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles btnanterior.Click
If Me.posic = 0 Then
MsgBox("Primer registro", 64, "Mensaje")
Else
Me.posic = Me.posic - 1
Call cargar()
End If
End Sub

Private Sub btnultimo_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnultimo.Click
Me.posic = (Me.dstabla.Tables("Alumnos").Rows.Count - 1)
Call cargar()
End Sub

5
Private Sub btnelimar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnelimina.Click
Try
Dim idalumno As String
idalumno = Me.txtidalumno.Text.ToUpper
'Forma la cadena de conexiom para la base de datos
Universidad
Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
'Crea el objeto Connection
Dim Cn As New OleDbConnection(Cadena)
'Crea el objeto con la instruccion insert
Dim Cmd As New OleDbCommand("DELETE FROM Alumnos WHERE
(idalumno='" & idalumno & "')", Cn)
'abre la conexion
Cn.Open()
'Ejecuta el comando
Cmd.ExecuteNonQuery()
MsgBox("registro eliminado", 64, "Informacion")
Me.Lblpos.Refresh()
'cierra la conexion a la base de datos
Cn.Close()
Catch ex As Exception
MsgBox("No se puede eliminar el registro", 16, "Acceso
denegado")
Finally
'Me.posic = 0
Me.limpiar()
Me.rehace()
Me.desactivar_cuadros(True)
Me.cargar()

End Try
End Sub

Private Sub btnmodificar_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles btnmodificar.Click
Dim idalumno, idcurso, nombre, apellidos, direccion, telefono,
carrera As String
idalumno = Me.txtidalumno.Text.ToUpper()
Me.Txtidcurso.Text = Me.Cmboidcurso.SelectedItem
idcurso = Me.Txtidcurso.Text.ToUpper()
nombre = Me.txtnombre.Text.ToUpper()
apellidos = Me.txtapellidos.Text.ToUpper()
direccion = Me.txtdireccion.Text.ToUpper()
telefono = Me.Txttelefono.Text.ToUpper()
carrera = Me.Txtcarrera.Text.ToUpper()
'Forma la cadena de conexiom para la base de datos Universidad
Cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=I:\profesor\base de datos\Sistema_notas.mdb" 'Verifique la ruta
en donde esta la base de datos
'Crea el objeto Connection
Dim Cn As New OleDbConnection(Cadena)
'Crea el objeto con la instruccion insert
Dim Cmd As New OleDbCommand("Update Alumnos SET idcurso = '" &
idcurso & "',nombre='" & nombre & "',apellidos='" & apellidos &
"',direccion='" & direccion & "',telefono='" & telefono &
"',carrera='" & carrera & "' WHERE idalumno='" & idalumno & "'", Cn)
'abre la conexion
Cn.Open()

6
'Ejecuta el comando
Dim total As Integer = Cmd.ExecuteNonQuery()
MsgBox("El registro " & Me.posic + 1 & " ha sido modificado ",
, "Mensaje")
Cn.Close()
Me.posic = 0
Me.rehace()
Me.Btncancelar.PerformClick()
End Sub

Private Sub btnnuevo_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnnuevo.Click
Me.limpiar()
Me.Btngrabar.Enabled = True
Me.btnmodificar.Enabled = False
Me.desactivar_cuadros(False)
Me.Btnelimina.Enabled = False
Me.navegadores(False)
Me.btnnuevo.Enabled = False
End Sub

Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles btnsalir.Click
End
End Sub

Private Sub cmboidcurso_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
cmboidcurso.SelectedIndexChanged
Me.Txtidcurso.Text = Me.cmboidcurso.SelectedItem
End Sub

End Class

You might also like