Enlace entre MS Visual Basic y MS ACCESS. Utilizando el Objeto ADO. Crear la base de datos. Diseño de la base de datos: a continuación diseñe una base de datos llamada Automoviles y dentro de la misma diseñe una tabla llamada Auto. Al terminar de crear la estructura de la tabla guarde la base de datos el disco C en una carpeta llamada BD, guárdela como Base de datos Access 2000 haciendo lo siguiente: Nota: como la base de datos al principio se hizo con MS Access 2003 ó 2007 al guardarlo condichas versiones el archivo queda guardado con extensión accdb, al guardarlo como versión Base de datos Access 2000 lo guarda con extensión mdb. Paso No. 1 Agregar el componente de conexión de base de datos Adodc al cuadro de controles y luego al proyecto de la siguiente manera: A. De clic derecho sobre el cuadro de controles y escoja la opción componentes. B. En la lista que aparece busque y seleccione el control Microsoft ADO Data Control 6.0 y clic en el botón Ok. Otra forma es haciendo clic en el menú Proyecto ó Proyect, luego dar clic en Componentes ó Components y seleccionamos el componente Microsoft ADO Data Control 6.0. C. Una vez agregado el control ADO a la lista de controles agregue un ADO a nuestro proyecto. Paso No. 2: cree la siguiente interfaz de formulario para ingresar, modificar y eliminar los datos hacia la tabla de la base de datos. Los controles de la interfaz deben de tener las siguientes propiedades: Control. Form1 Propiedad. Name ó Nombre Caption Name ó Nombre Caption: Valor Form1 Autos LblEtiqueta1 MATRÍCULA Label 2 Name ó Nombre Caption: LblEtiqueta2 MARCA Label3 Name ó Nombre Caption: LblEtiqueta3 MODELO Label4 Name ó Nombre Caption: LblEtiqueta4 COLOR Text1 Name ó Nombre Text TXTMatricula Text2 Name ó Nombre Text TXTMarca Text3 Name ó Nombre Text TXTModelo Text4 Name ó Nombre Text TXTColor Command1 Name ó Nombre Caption CmdGuardar Guardar Clic Command2 Name ó Nombre Caption CmdActualizar Modificar Clic Command3 Name ó Nombre Caption CmdEliminar Eliminar Label 1 Evento Load Paso No. 3: generar la cadena de conexión de la base de datos, dicha cadena está compuesta por la ubicación de base de datos y el proveedor de conexión de base de datos. Clic aquí para ir a las propiedades de conexión del control ADODC. Paso No. 4: como no sabemos el proveedor de base de datos y la ubicación de la misma, haremos que las propiedades del control de Adodc la cree por nosotros siguiendo los pasos: A. clic en el botón generar Clic aquí para generar la cadena de conexión. B. Seleccione el proveedor de conexión Microsoft Jet 4.0 OLE DB Provider y clic en siguiente ó Next. Selecciona el proveedor de base de datos, el proveedor Microsoft Jet 4.0 Provider es solo para bases de datos MS Access 2000. C. De clic al botón que se encuentra a la par del cuadro de texto y busque y seleccione la base de datos Automoviles. Da Clic aquí para buscar y seleccionar la base de datos. Nota: La base de datos y la aplicación se deben de guardar en la ubicación en el caso de este ejemplo se encuentra en la unidad C y en una carpeta llamada BD. Seleccione la base de datos y clic en Open ó abrir. Nota: Para comprobar que se ha conectado con éxito da clic en el botón Test y se nos mostrará un mensaje diciendo que la conexión es exitosa. Podemos dar Clic a la opción Test Connection para verificar la conexión antes de generar la cadena D. Copiamos la cadena generada la cual se encuentra en el cuadro de texto Caja de Conexión y clic en Cancel ó cancelar. Cadena Generada (Esta cadena es la que debe copiar y asignársela a la una variable que representa la cadena de conexión). Variables que servirán para la conexión de la base de datos y el control ADODB. BD: esta variable va ha ser de tipo ADODB.Connection la cual representa al objeto ADODC con sus propiedades y métodos, para que ejecute cualquier conexión con la base de datos ó consulta SQL. Cad: esta variable va contener la cadena de conexión de la base de datos generada en los pasos anteriores. Paso 5: en las siguientes líneas de código se declaran las variables anteriores BD y Cad, estas deben estar declaradas en el área de declaraciones de la ventana de código es decir fuera de cualquier modulo de programación de un control. Para agregar dicho código de doble clic en el fondo del formulario. Declaración de las variables para la Conexión de la base de datos Paso No. 6: Ejecución de la conexión entre el objeto ADODB y la base de datos. Ahora en el evento Load del formulario escribiremos el siguiente código: . Cadena de conexión generada y copiada del control ADODB Se crea una nueva conexión instanciando ó creando nuevamente del objeto ADODB en la variable BD. Mensaje diciendo que la conexión se ejecutó satisfactoriamente. Se ejecuta la cadena de conexión, el método Open del Objeto ADO abre la conexión de la base de datos utilizando la cadena, mediante el método Open del control ADO Nota: lo que de color verde y se encuentra después de la comilla simple ‘ son comentarios del código, es decir una descripción que hace el programador de lo que su código ejecuta, estos comentarios no son tomados como parte del código si no como algo invisible ó documentación interna del código. Ejemplo: en este ejemplo se tiene la base de datos Automoviles.mdb, dicho archivo de MS Access se encuentra alojado en la unidad C: en la carpeta BD como se puede dar cuenta. Ahora se necesita crear una aplicación para el ingreso, eliminación y actualización de la información de la base de datos Automoviles.mdb. Gestión de los datos desde MS Visual Basic hacia la base de datos Automoviles.mdb. Cuando se quiere manipular la información de una base de datos desde MS Visual Basic, se necesita de Instrucciones SQL y además una nomenclatura de datos según el tipo de campo dentro de la base de datos ó tipo de información que contenga que guarda el campo. Nomenclatura de datos: Si son números los que soporta el campo, el formato para la consulta seria: “& Nombre del Objeto ó Control &” Si es Texto lo que soporta el campo, el formato para la consulta seria: ‘ “& Nombre del Objeto ó Control &” ’ Si son Fechas lo que soporta el campo, el formato para la consulta seria: #“& Nombre del Objeto ó Control &”# Paso No. 7: Guardando Información a la Base de datos: Para guardar datos en una tabla de una base de datos se utiliza la claula ó instrucción SQL Insert Into utilizando la siguiente sintaxis: Insert Into Campos Values(Valores á Guardar) Variable que almacena la cadena de la consulta SQL. Se ejecuta la variable la cadena de la consulta por medio de la variable sustituta del control ADO BD por medio del método del objeto ADO Execute(Ejecutar) Se muestra un mensaje diciendo que los datos se guardaron en la tabla Auto de la base de datos Automovil con éxito. El MsgBox muestra un mensaje. Resultado de la ejecución del Codigo: Ejemplo si ingresamos la siguiente información a los campos del formulario el resultado seria el siguiente: Ahora verifica en la tabla Auto de la base de datos Automoviles.mdb si aparecen los datos que ingresastes. Al ejecutarse la consulta SQL de insert into los datos serán transferidos a la tabla auto de la base de datos Automoviles.mdb. Actualizar: Para actualizar uno o varios datos de un registro de la tabla se utiliza la clausula ó instrucción SQL Update de la siguiente manera: Instrucción SQL: Update Nombre de la tabla Set Campo1=”Valor”, Campo2=”Valor”, Campo3=”Valor” Where Campo clave=Dato Variable que almacena la cadena de la consulta SQL. Nomenclatura Campo=‘ “& Nombre del Objeto ó Control &” ’ Se ejecuta la variable la cadena de la consulta por medio de la variable sustituta del control ADO BD Se muestra un mensaje diciendo que los datos se modificaron en la tabla Auto de la base de datos Automovil con éxito. Resultado de la ejecución del Codigo: Ejemplo si modificamos el campo color del registro anterior la siguiente información a los campos del formulario el resultado seria el siguiente: Ahora verifica en la tabla Auto de la base de datos Automoviles.mdb si aparecen los datos que ingresastes. Al ejecutarse la consulta SQL de Update los datos serán modifcados a la tabla auto de la base de datos Automoviles.mdb. Eliminar: Para eliminar datos de una tabla de una base de datos se utiliza la clausula ó instrucción SQL Delete: Instrucción SQL: Delete Campos From [Nombre de la Tabla] Where [Campo Clave]=Dato Variable que almacena la cadena de la consulta SQL. Nomenclatura Campo=‘ “& Nombre del Objeto ó Control &” ’ Se ejecuta la variable la cadena de la consulta por medio de la variable sustituta del control ADO BD Se muestra un mensaje diciendo que los datos se borraron en la tabla Auto de la base de datos Automovil con éxito. Ejemplo si borramos el registro de la tabla Auto que se encuentra en la base de datos Automoviles.mdb, cuya matricula sea PM124566 el resultado seria el siguiente: Ahora verifica en la tabla Auto de la base de datos Automoviles.mdb si aparecen los datos del registro cuya matricula sea PM124566. Al ejecutarse la consulta SQL de Delete los datos de ese registro serán borrados de la tabla auto de la base de datos Automoviles.mdb. Consultar Datos y Generando Reportes (Uso de la clausula Select en MS Visual Basic). Reporte mostrando todos los datos en un control MS FlexGrid. Para ver todos los datos de la tabla se utiliza la clausula ó instrucción SQL Select. Instrucción SQL: Select * from Auto Para mostrar todos los registros de la tabla Auto se modificará y agregará al formulario un control tipo botón de comando ó CommandButton y un control tipo grid llamado Microsoft Flex Grid 6.0, la interfaz debe ser como la siguiente: Control CommandButton. Control Microsoft Flex Grid 6.0 Para agregar el componente de Microsoft Flex Grid al formulario se sigue los siguientes pasos A. De clic derecho sobre el cuadro de controles y escoja la opción componentes. B. De clic derecho sobre el cuadro de controles y escoja el componente Microsfot Flex Grid 6.0. C. Una vez agregado el control Microsoft Flex Grid 6.0 de la lista de controles agregue un Microoft Flex Grid 6.0 al formulario a nuestro proyecto. Los controles CommandButton y Microsoft Flex Grid 6.0 deben de tener las siguientes propiedades: Control. MSFlexGrid1 Propiedad. Name ó Nombre Width Height Cols Valor MFGAuto 6735 1815 0 Evento Command1 Name ó Nombre Caption: CmdVer Ver Datos Clic Control Microsoft Flex Grid: se utiliza para crear una matriz de almacenamiento de datos. Se declara una variable tipo RecordSet utilizando el control ADODB agregado al formulario: Ya que hayamos declarado en el área de declaraciones la variable Registro como Tipo RecordSet ó ADODB.Recordset procederemos a mostrar todos los datos de la tabla autos en el Microsoft Flex Grid procederemos agregar el siguiente código al control tipo CommandButton CmdVer: Explicación del código: Dim SQL as String Se declara una variable tipo SQL para almacenar la cadena de consulta SQL. MFGAuto.Clear Se Utiliza el método Clear para limpiar el Control tipo MS Flex Grid MFGAuto MFGAuto.Cols = 4 Se crea cuatro columnas al control tipo MS Flex Grid 4 llamado MFGAuto columnas mediante la propiedad Cols. MFGAuto.Rows = 1 Se crea una fila al control tipo MS Flex Grid llamado MFGAuto 4 Filas mediante la propiedad Rows MFGAuto.TextMatrix(0, 0) = "Matricula" MFGAuto.TextMatrix(0, 1) = "Marca" MFGAuto.TextMatrix(0, 2) = "Modelo" MFGAuto.TextMatrix(0, 3) = "Color" Se la asignan los encabezados del control tipo MS Flex Grid llamado MFGAuto con la propiedad: TextMatrix(Fila, Columna) SQL = "Select * From Auto" Se le asigna a la variable SQL la cadena de código sql Set Rec = New ADODB.Recordset Se crea una nueva instancia del objeto ADODC en forma de conjunto de registros ó Recordset Set Registro = BD.Execute(SQL) Se ejecuta la cadena SQL y se le almacena el resultado a la variable Registro Do While Not Registro.EOF Mostrando el registro mientras que la variable tipo Recordset Registro no haya llegado al final EOF(End Of File) Fin del Archivo. El Not es de negación, es decir que se niega que haiga llevado al final del archivo. MFGAuto.AddItem Registro("Matricula") & vbTab & Registro("Marca") & vbTab & Registro("Modelo") & vbTab & Registro("Color") Mostrando los registros en el control tipo MS Flex Grid MFGAuto El método AddItem del control tipo MS Flex Grid MFGAuto añade cada registro obtenido de la variable tipo Recordset llamada Registro Registro.MoveNext Se mueve al siguiente registro Loop Fin del ciclo Do While Resultado del Programa