PROF. YIXON ANUEL CATEDRA: LENGUAJE DE PROGRAMACIN II CONEXION DE VISUAL BASIC.NET 2005 Y 2008 CON ACCESS 2007
PARA REALIZAR UN SISTEMA DE INFORMACION EN VISUAL BASIC.NET Y CONECTARLO CON UNA BASE DE DATOS EN ACCESS 2007 DEBEMOS HACER LO SGTE :
1. CREAR UN MODULO EN DONDE GUARDAREMOS LAS VARIABLES PUBLICAS Y LAS FUNCIONES A USAR EN NUESTRO PROYECTO.
2. AGREGAR UNA REFERENCIA PARA HACER LA CONEXIN CON VISUAL BASIC.NET Y ACCESS.
3. DISEAR UNA BASES DE DATOS EN ACCESS 2007 QUE CONTENGA LAS TABLAS QUE GUARDARAN LA INFORMACIN.
4. USAR LAS SENTENCIAS SQL NECESARIAS PARA EXTRAER LA INFORMCIN DE LA BASES DE DATOS.
COMO CREAR UN MDULO EN VB.NET
Una vez creado nuestro proyecto en vb.net, debemos ir al men PROYECTO y escoger la opcin AGREGAR MDULO. Luego el mdulo creado aparecer en la seccin del explorador de soluciones, juntos con los formularios.
COMO AGREGAR UNA REFERENCIA A UN PROYECTO EN VB.NET
Una vez creado nuestro proyecto en vb.net, debemos ir al men PROYECTO y escoger la opcin AGREGAR REFERENCIA. Luego en la ventana que se abre hacer clic en la PESTAA COM. Por ltimo buscar la referencia Microsoft ActiveX Data Objects 2.6 Library y hacer clic en el botn aceptar.
COMO CREAR UNA BASES DE DATOS EN ACCESS 2007
Abrir el Access. Hacer clic en el icono que dice Base De Datos En Blancos, luego a su derecha colocar el nombre a su base de datos y hacer clic en crear. todas las bases de datos guardan su informacin en TABLAS. Luego dependiendo las tablas que vayamos a crear y con sus respectivos atributos debemos hacer el siguiente procedimiento: Hacer clic en el icono ver que esta en la barra de herramientas. Luego se abrir una ventana en donde se solicita el nombre de su tabla, una vez colocado el nombre a la tabla y hacer clic en aceptar. Luego de colocar el nombre se abrir una cuadricula don aparecern tres columnas (nombre del campo, tipo de datos y descripcin). En nombre del campo debe colocar el nombre de cada atributo y al lado escoger el tipo de datos que le corresponder al campo de acuerdo a su anlisis y descripcin es opcional llenarla. Ejemplo Nombre del campo Tipo de datos Descripcin Cedula Nmero Es la cedula Una vez terminado de colocar cada campo o atributos de la tabla y su tipo de datos cerrarla. Y hacer clic en si al momento de guardar los cambios. Si desea crear otra tabla ir al MEN CREAR de Access y escoger la opcin tabla y realizar el procedimiento antes descrito nuevamente.
INTRUCCIONES BSICAS DE SQL A USAR PARA EXTRAER O AGREGAR INFORMACIN A MI BASES DE DATOS
INSTRUCCIN SELECT : SIRVE PARA EXTRAER O VISUALIZAR INFORMACION DE MI BASE DE DATOS.ESTA SE USA CON LAS TABLAS Y TIENE LAS SIGUIENTES
SINTAXIS 1 SELECT * FROM TABLA WHERE CAMPO=VALOR NOTA: SI EL CAMPO ES UN TEXTO IRA ENTRE EJEMPLOS SELECT * FROM TABLA1 WHERE CEDULA=12 SELECT * FROM TABLA1 WHERE NOMBRE= MARIA
NOTA=ESTA SINTAXIS EXTRAE TODOS LOS CAMPOS DE LA TABLA SINTAXIS 2: SELECT CAMPO1,CAMPO2,..CAMPO N FROM TABLA WHERE CAMPOX=VALOR NOTA: SI EL CAMPOX ES UN TEXTO IRA ENTRE EJEMPLOS SELECT CEDULA, NOMBRE, APELLIDO FROM TABLA1 WHERE CEDULA=12 SELECT CEDULA, NOMBRE, APELLIDO FROM TABLA1 WHERE NOMBRE=ANA
NOTA=Esta Sintaxis Extrae Solo Los Campos De La Tabla Que Se Enumeran Despus Del Select De Acuerdo El Valor Del Campo De Bsqueda.
INSTRUCCIN INSERT : SIRVE PARA AGREGAR INFORMACION A LA BASE DE DATOS.ESTA SE USA CON LAS TABLAS Y TIENE LAS SIGUIENTES
SINTAXIS 1 INSERT INTO TABLA (CAMPO1,CAMPO2,CAMPO3,CAMPON) VALUES(VALOR1, VALOR2, VALOR3, VALORN) NOTA: SI EL CAMPO ES UN TEXTO IRA ENTRE DENTRO DEL VALUES EJEMPLOS INSERT INTO TABLA (CEDULA, NOMBRE, APELLIDO, EDAD) VALUES (12, MARA, PEREZ, 23)
NOTA=ESTA SINTAXIS AGREGA INFORMACION A CADA UNO DE LOS CAMPOS DE LA TABLA
INSTRUCCIN DELETE : SIRVE PARA BORRAR INFORMACION DE MI BASE DE DATOS.ESTA SE USA CON LAS TABLAS Y TIENE LAS SIGUIENTES
SINTAXIS 1 DELETE FROM TABLA WHERE CAMPO=VALOR NOTA: SI EL CAMPO ES UN TEXTO IRA ENTRE EJEMPLOS DELETE FROM TABLA1 WHERE CEDULA=12 DELETE FROM TABLA1 WHERE NOMBRE= MARIA
INSTRUCCIN UPDATE : SIRVE PARA MODIFICAR INFORMACION DE MI BASE DE DATOS.ESTA SE USA CON LAS TABLAS Y TIENE LAS SIGUIENTES
SINTAXIS 1 UPDATE TABLA SET CAMPO1= VALOR, CAMPO2=VALOR, CAMPO3=VALOR WHERE CAMPO=VALOR NOTA: SI EL CAMPO O CAMPO1 O CAMPO2 O CAMPO N SON UN TEXTO IRAN ENTRE EJEMPLOS UPDATE TABLA SET NOMBRE= MARIA, EDAD=20, APELLIDO=PEREZ WHERE CEDULA=12
NOTA=ESTA SINTAXIS ACTUALIZA TODOS LOS CAMPOS DE LA TABLA NOTA2: ANTES DE ACTUALIZAR DEBEMOS BUSCAR CON UN SELECT.
NOTAS IMPORTANTES
LOS RECORDSET SON ESPACIOS DE MEMORIAS QUE SE USARAN PARA ALMACENAR TEMPORALMENTE INFORMACIN. EN NUESTRO MODULO DEBEMOS DECLARAR LOS RECORDSET DE LA SIGUIENTE MANERA:
Public RS, RS1, RS2, RS3 As New ADODB.Recordset
NOTA: SE DECLARARAN TANTOS RECORDSET COMO SE CONSIDEREN NECESARIOS
LAS VARIABLES DONDE SE GUARDARN LAS SINTAXIS SQL SERAN DE TIPO STRING Y SERAN DECLARADAS EN EL MDULO DE LA SIGUIENTE MANERA:
Public SQL, SQL1, SQL2 As String
NOTA: SE DECLARARAN TANTAS VARIABLES SQL COMO SE CONSIDEREN NECESARIOS.
EN EL MDULO SE DECLARAR UNA FUNCION QUE LLEVARA LA RUTA DE LA CONEXIN, O MEJOR DICHO CONTENDRA LA RUTA DONDE SE VA A COLOCAR LA BASES DE DATOS.ESTO SE HAR DE LA SIGUIENTE MANERA :
Module Module1 Public SQL, SQL1, SQL2 As String //VARIABLES SQL Public RS, RS1, RS2, RS3 As New ADODB.Recordset // LOS RECORDSET
Public A As ADODB.Connection // VARIABLE PARA LA CONEXION
Public Sub CONECTAR() A = New ADODB.Connection A.ConnectionString = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE= C:\XX.ACCDB" End Sub End Module NOTA: EL PROVEEDOR O PROVIDER VARIA SEGN EL ACCESS PARA ACCESS MENORES EL PROVEEDOR ES OTRO
CADA VEZ QUE CREE UN FORMULARIO DEBE COLOCAR EN EL EVENTO FORM LOAD DEL FORMULARIO NUEVO LA FUNCION QUE LLAMA CONEXIN. EJEMPLO
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CONECTAR() End Sub
CADA VEZ QUE SE ABRA LA CONEXIN AL TERMINAR LAS OPERACIONES DEBE CERRARSE.
EJEMPLO DE UN PROYECTO HECHO EN VB.NET QUE SE CONECTA CON UNA BASE DE DATOS EN ACCESS 2007
CDIGO DEL BOTN BUSCAR If TextBox1.Text = "" Then MsgBox("LA CAJA NO PUEDEQUEDAR VACIA") Else A.Open() // ABRE LA CONEXION //ASIGNA A LA VARIABLE SQL LA SINTAXIS DE BUSCAR TODOS LOS DATOS DONDE CONSIGA LA CEDULA QUE SE COLOCO EN LA CAJA 1 SQL = "SELECT * FROM TABLA1 WHERE CEDULA=" & Val(TextBox1.Text) // ASIGNA AL RECORDSET LA SINTAXIS SQL PARA QUE LA EJECUTE RS = A.Execute(SQL) //REVISA CADA UNO DE LOS REGISTROS If RS.BOF <> True Then RS.MoveFirst() // COLOCA EN CADA CAJA EL VALOR DE CADA EXTRAIDO DE LA BD. SIN INCLUIR LA CEDULA TextBox2.Text = RS.Fields(1).Value TextBox3.Text = RS.Fields(2).Value TextBox4.Text = RS.Fields(3).Value Else MsgBox("EL REGISTRO CON ESA CEDULA NO EXISTE") End If End If A.Close() //CIERRA A CONEXION End Sub NOTA: BOF: Begin Of File, Indica el PRINCIPIO de los registros.
CODIGO DEL EVENTO CARGAR FORMULARIO Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CONECTAR() // FUNCION DE LA CONEXION
End Sub
CODIGO DEL BOTON AGREGAR
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then MsgBox("LA CAJAS NO PUEDEN QUEDAR VACIA") Else A.Open() SQL = "SELECT * FROM TABLA1 WHERE CEDULA=" & Val(TextBox1.Text) RS = A.Execute(SQL) If RS.BOF <> True Then RS.MoveFirst() MsgBox("EL USUARIO YA EXISTE") TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox1.Focus() Else SQL = "INSERT INTO TABLA1(CEDULA,NOMBRE,APELLIDO,EDAD) VALUES(" & Val(TextBox1.Text) & ",'" & TextBox2.Text & "','" & TextBox3.Text & "'," & TextBox4.Text & ")" RS = A.Execute(SQL) MsgBox("DATOS GUARDADOS CON EXITO") TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox1.Focus() End If End If A.Close()
CODIGO DEL EVENTO CARGAR FORMULARIO Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CONECTAR() // FUNCION DE LA CONEXION
End Sub
DISEO DE LA TABLA1 DISEADA EN ACCESS
CODIGO DEL MODULO
Module Module1 Public SQL, SQL1, SQL2 As String //VARIABLES SQL Public RS, RS1, RS2, RS3 As New ADODB.Recordset // LOS RECORDSET
Public A As ADODB.Connection // VARIABLE PARA LA CONEXION
Public Sub CONECTAR() A = New ADODB.Connection A.ConnectionString = "PROVIDER=MICROSOFT.ACE.OLEDB.12.0;DATA SOURCE= C:\XX.ACCDB" End Sub End Module