Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
0
CONTENIDOS
1. Controles de acceso y manipulacin de datos (DAO): Control Data,
DbGrid, DBCombo, textbox, label;
2. Array de Controles: concepto, diseo y programacin. Importancia
prctica;
3. DAO: Operaciones ABM (Altas, Bajas y Modificaciones) Y Consultas;
ACTIVIDADES
Unidad 3
1/6
Tareas
Lectura, trabajos, prcticas propuestas en el Website de la Materia,
Seccin Actividades y Material con videos y manuales.
Contenidos Unidad 3
(*)
(**)
CONTENIDOS
1.Controles de acceso y manipulacin de datos (DAO): Control Data, DbGrid,
DBCombo, textbox, label;
BASES DE DATOS EN VISUAL BASIC 6.0
Visual Basic versin 6 puede conectarse a base de datos de diferentes tipos utilizando la tecnologa OLE
DB que permite trabajar con el entorno de desarrollo de la misma manera con distintos motores de bases
de datos. Ms especficamente permite trabajar con el motor de base de datos Microsoft Jet, que es el
mismo que utiliza Microsoft Access.
El motor controla las tres funciones bsicas de base de datos:
1. Almacenamiento de datos
2. Recuperacin de datos
3. Actualizacin de datos
O lo que ms comnmente se conoce como ABM (altas, bajas y modificaciones) y tambin las consultas.
Asimismo proporciona una interfaz de programacin para datos orientada a objetos que se llama DAO
(Data Access Object).
Visual Basic ya en su versin 5 utilizaba dos conceptos importantes: DAO (Data Access Object) y RDO
(Remote Data Object). DAO es el conjunto de objetos que permiten acceder a una base de datos local y
administrarla utilizando los controladores correspondientes como el Motor Jet de Microsoft. En cambio
para la conexin a bases de datos remotas utilizaba otro conjunto de objetos llamado RDO (Remote Data
Access).
Con la Versin 6 aparece ADO (ActiveX Data Object). ADO que reemplaza a las dos anteriores y est
formada por un conjunto de objetos que pueden conectarse a bases de datos prcticamente de cualquier
tipo (ya sea en forma directa o mediante un origen de datos ODBC). En esta versin 6, por razones de
compatibilidad sigue estando presente DAO.
Como ya expresramos, Visual Basic versin 6.0 puede conectarse a bases de datos de diferentes tipos
utilizando la tecnologa OLE DB haciendo que el entorno de desarrollo pueda utilizarse
independientemente de cul sea el DBMS de la base de datos. Es decir, es independiente del tipo de base
de datos.
DAO
El modelo DAO es una coleccin de clases de objetos que modelan la estructura de un sistema de base de
datos relacional. Proporciona las propiedades y los mtodos necesarios para poder llevar a cabo las
tareas de administracin del sistema de bases de datos relacional. Obviamente se basa en SQL que es el
lenguaje que permite definir y manipular los datos de las bases de datos relacionales.
La programacin est simplificada en cuanto al cdigo a escribir por cuanto bsicamente consiste en la
creacin de objetos de acceso a datos.
DAO es importante porque brinda flexibilidad e integracin ya que los mismos objetos sirven para
distintos motores, cuestin importante desde el punto de vista del diseo lgico.
Entonces en Visual Basic los mismos objetos de acceso a datos utilizados en una aplicacin tienen la
capacidad de ser utilizados para acceder a distintas bases de datos. Por ejemplo si se usa Microsoft
Access se puede utilizar una base de datos SQL Server u Oracle efectuando unos pocos cambios en el
cdigo.
Existen tres tipos de bases de datos que Visual Basic puede reconocer utilizando DAO:
Bases de datos de Visual Basic: tambin llamadas bases de datos nativas y que utilizan el mismo
formato de Microsoft Access (extensin .mdb);
Bases de datos externas: son bases de datos populares y que utilizan ISAM (Mtodo de Acceso
Secuencial Indexado), por ejemplo Fox Pro, Dbase III, dBase IV, etc. Todos estos formatos
pueden crearse o manipularse desde Visual Basic y tambn se puede tener acceso a bases de
datos de archivos de texto y hojas de clculo como Excel;
Bases de datos ODBC: incluyen las bases de datos clienteCservidor que cumplen con este
estandar, por ejemplo SQL Server, ORACLE, etc.
Unidad 3
Pgina 1 / 16
Si bien el manejo de la base de datos mediante DML es muy eficiente requiere un gran esfuerzo en
cuanto a codificacin. Una alternativa ms sencilla para manipular datos es utilizar los controles que
Visual Basic trae para ello.
Control Data
Control DBGrid
Control DBCombo
Unidad 3
Pgina 2 / 16
Estos controles especficos para manejo de datos se utilizan con otros que ya conocen como cuadros de
texto, botones de comandos, etc. que permiten manipular los datos y eventos dentro de una aplicacin.
Control Data
El control Data permite que el formulario se vincule a un origen de datos que puede ser una tabla, una
vista o una consulta. En la siguiente imagen se muestra un ejemplo prctico de este control.
Las principales propiedades de este control son: la conexin (Access en el ejemplo), la ruta donde se
encuentra la base de datos y el origen de datos, que en el ejemplo mostrado se ha utilizado una consulta
de seleccin: SELECT * FROM cargos.
En la seccin Actividades del Website encontrar el vnculo Uso del control Data que permite
descargar el archivo ZIP que incluye el Proyecto Cargos (VB) con material terico complementario en
formato PDF. El proyecto aborda cuatro ejemplos que van creciendo en complejidad, incluyendo las
operaciones de insercin, actualizacin y eliminacin de registros; as como el manejo y diseo de Arrays
de Controles (Unidad 5), que si bien es un adelanto en la planificacin, su apropiado manejo permite
disear mejor los procedimientos y evitar duplicaciones innecesarias de cdigo.
Control DBGrid
El control DBGrid permite mostrar datos de consultas o tablas.
Es el mismo formulario anterior slo que hemos agregado el Control DBGrid y unos botones. Como puede
apreciarse el origen de datos es el control Data Data1.
Nos interesa poder manipular la tabla Cargos, es decir poder realizar Altas, Bajas y Modificaciones. Un
alta no sera problema ya que el Control Data permite directamente generar un nuevo registro que si no
se completa se elimina. Adems como la tabla tiene restricciones de integridad, en lo que hace a la base
de datos, no es necesario ingresar controles de validacin.
Unidad 3
Pgina 3 / 16
S es importante, y lo haremos a medida que avancemos que los datos de la tabla o consulta actualizable
no se modifiquen porque s, ante un error del usuario, por ejemplo.
En las dos siguientes imgenes podemos ver que si nos desplazamos por el DBGrid se modifican los
valores de los cuadros de Texto:
Unidad 3
Pgina 4 / 16
En esta imagen se puede apreciar cmo se modifican los datos, sin utilizar ningn botn de comando,
directamente accediendo al DBGrid:
En la seccin Actividades del Website encontrar el vnculo Uso del control DBGrid que le permitir
bajar el archivo ZIP que incluye el Proyecto DBGrid (VB) con material terico complementario en formato
PDF. Los ejemplos que incluye el archivo comprimido van abordando niveles de complejidad creciente,
incluyendo temas que tienen que ver con el manejo de SQL en Visual Basic e igualmente el uso y diseo
de Arrays de Controles.
Control DBCombo
El control DBCombo bsicamente permite seleccionar un valor desde una consulta o una tabla.
Como veremos enseguida, permite mucho ms. Se puede apreciar en la imagen de la pgina siguiente.
En la seccin Actividades del Website tambin encontrar el vnculo Uso del control DBCombo
que le permitir bajar el archivo ZIP que incluye el Proyecto DBCombo (VB) con material terico
complementario en formato PDF. Como en los casos anteriores, los ejemplos que van abordando un nivel
de complejidad creciente e incluyendo el manejo y diseo de Arrays de Controles, operaciones de
insercin, actualizacin y eliminacin de registros; vinculacin de ms de dos controles Data a un mismo
formulario, etc.
Unidad 3
Pgina 5 / 16
Importancia Prctica
Unidad 3
Pgina 6 / 16
La importancia prctica de este tema est vinculada a aspectos de programacin e implementacin del
cdigo fuente. Diseo por cuanto con el Array tengo todo el cdigo de eventos relativo a un tipo de
control especfico y ello tiene importancia si hay que realizar modificaciones en la pantalla lo cual afecta
el cdigo. De esta forma es ms fcil no slo reutilizar el cdigo en otro tipo de proyectos similares sino
tambin realizar correcciones y/o agregados.
De todas maneras, con este tema no existe nada mejor que ver cmo funciona para comprender
acabadamente sus ventajas::
Abra el Proyecto Eventos de la Seccin Actividades de la Unidad 2 y
Comprenda el cdigo y ejecute el formulario Validaciones;
Comprenda el cdigo y ejecute el formulario Validaciones2;
Saque sus propias conclusiones respecto a la cantidad de lneas de cdigo utilizadas;
Saque sus propias conclusiones respecto a la claridad lgica en cuanto a la construccin del
cdigo y/p sus posibilidades en tareas que impliquen su reutilizacin y/o su correccin.
Mediante la utilizacin de controles visuales que traen incorporadas propiedades relacionadas con
datos y permiten efectuar las operaciones del lenguaje DML mediante el uso de controles
grficos;
Mediante la utilizacin directa de variables y sentencias definidas en los procedimientos para
utilizar el lenguaje DML tanto de SQL como el equivalente DML de Visual Basic.
En uno u otro caso, hay que tener en cuenta la jerarqua de objetos vista en el punto anterior para DAO.
Por lo tanto aqu vamos a definir estos objetos y explicarlos con mayor detalle de lo que se ha visto en el
material tericoCprctico propuesto para las Actividades y repasar algunos temas ya vistos en el punto
anterior.
DML o Lenguaje de Manipulacin de Datos presupone que la base de datos ya existe y se conoce sus
caractersticas. Esto tiene que ver con cules son las claves primarias de las tablas, cules las claves
forneas, cules son los tipos de datos, si existen validaciones a nivel de campo (cuando un campo es
requerido, por ejemplo), etc.
Las operaciones bsicas DML de Visual Basic son:
a.
b.
c.
d.
a. Apertura y cierre de la base de datos: se encargan de abrir y cerrar una base de datos los
siguientes mtodos:
OpenDatabase
OpenRecordSet
Close
Unidad 3
Pgina 7 / 16
Close es un mtodo de la base de datos abierta. Su sintaxis es: BaseDeDatos.Close. En los ejemplos
prcticos tambin encontrar su utilizacin en un entorno grfico.
La siguiente imagen muestra la lgica para utilizar los mtodos anteriores:
b. Escritura de datos
Para la escritura de datos se utiliza lenguaje DML de Visual Basic con mtodos que se aplican sobre el
Recordset:
AddNew
Edit
Update
Delete
Unidad 3
Pgina 8 / 16
Recomendamos que se lleve a cabo la prctica propuesta. Pueden abrirse distintos formularios para cada
situacin y luego un formulario que contenga un DBGrid para poder inspeccionar en forma visual el
contenido de la tabla Cargos.
En el Proyecto DMLVB, en el Formulario Cargos6, hemos incluido un ejemplo totalmente visual que
puede descargarse desde la Seccin Actividades del Website de la materia.
Para comprender los aspectos tcnicos de las bsquedas vea el punto siguiente. En el esquema puede
apreciarse una breve descripcin de cmo funciona el mtodo Seek.
La
Unidad 3
Pgina 9 / 16
Unidad 3
Pgina 10 / 16
Data Report
Para agregar un DataReport a un proyecto es preciso ejecutar la
opcin de men Proyecto Agregar DataReport y as
aparecer la ventana DataReport. Adems se puede observar que
en el explorador de proyectos se agrega un nuevo elemento en la carpeta Diseadores.
El Data Report permite crear un objeto DataReport que es de tipo contenedor que contiene secciones y
controles.
Unidad 3
Pgina 11 / 16
secciones de grupo (encabezado y pie de grupo): estas reas se presentan cada vez que se
produzca un cambio de grupo y permiten manipular funciones de
agrupamiento.
Function (RptFunction): es un cuadro de texto especial que permite calcular valores a medida que
se genera el informe, es decir, en tiempo de ejecucin.
Este control no funciona con DAO sino que necesita de un objeto contenedor especial que es el
DataEnvironment para poder gestionarse.
Sin embargo por lo dicho al principio hay que tener en cuenta unos pasos lgicos no slo para utilizar
adecuadamente este objeto sino ms bien para disear los datos que se van a imprimir en papel y que
por lo tanto van a tener una consistencia permanente en la empresa.
1. Hay que tener claro lo que queremos hacer. Por ejemplo podra ser un listado de todos los
empleados, de slo aquellos empleados que pertenecen a un departamento en particular, de slo
aquellos empleados cuyo salario es superior o inferior a un valor, etc.
2.
Es importante ver qu informacin relativa al informe vamos a agregar. Por ejemplo es casi
seguro y correcto colocar la fecha de emisin del informe, un nmero de pgina y un ttulo.
Opcionalmente puede ser necesario poder colocar un logotipo slo en el encabezado del informe o
tal vez en cada pgina. Son cuestiones que tienen que ver con la poltica de la empresa, en
algunos casos; y en otras a quin va dirigido.
3.
4.
5.
Vincular el Data Report con el DataEnvironmet utilizando las secciones y controles de informes
pertinentes.
6.
Data Environment
Unidad 3
Pgina 12 / 16
El Data Enviroment es un diseador basado en objetos que sirve para centralizar las conexiones a la base
de datos y que bsicamente permite tambin independizar los accesos y consultas de las bases de datos
de las aplicaciones. Este diseador permite generar un objeto DataEnvironment que es un objeto
contenedor.
El DataEnvironment es el medio ambiente de los datos y a
travs de l pueden definirse todas las conexiones que han
de ser realizadas a la base de datos y todos los comandos
necesarios para recuperar informacin. A cada conexin y a
cada comando se le asigna un nombre nico.
El DataEnvironment cuando es agregado a un proyecto
tiene una extensin dsr (diseador). Su estructura
jerrquica es la que muestra la imagen de la derecha.
Para agregar un entorno de datos a un proyecto de Visual
Basic es necesario utilizar la opcin de men Proyecto
Agregar Data Environment y as aparecer la ventana
DataEnvironment
Siguiendo la tecnologa ADO implica especificar, entre otras propiedades, las siguientes:
El servidor que vamos a utilizar;
El usuario;
La Clave;
La Base de datos
Unidad 3
Pgina 13 / 16
Una vez que se ha establecido la conexin se pueden crear comandos. Basta con posicionarse en la
conexin y pulsar el botn derecho del mouse como muestra la imagen.
Unidad 3
Pgina 14 / 16
Unidad 3
Pgina 15 / 16
RAMREZ R., Jos Felipe, aprenda VISUAL BASIC practicando (PrenticeCHall, Mxico, 1
Edicin, 2001)
Unidad 3
Pgina 16 / 16