Sei sulla pagina 1di 17

UNIDAD 3: Gestin de Bases de Datos con Visual Basic 6.

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;

4. Formularios MDI y Mens: creacin y organizacin, utilizacin de


formulario de validacin de usuario y contrasea sobre la base de datos;
5. Controles de acceso y manipulacin de datos (ADO): Adodc, DataGrid,
DataList, DataCombo;

6. Diseo de consultas e Informes: Diseadores DataEnvironment y


DataReport

ACTIVIDADES
Unidad 3

1/6

Tareas
Lectura, trabajos, prcticas propuestas en el Website de la Materia,
Seccin Actividades y Material con videos y manuales.

BIBLIOGRAFA para el Alumno


1.

Contenidos Unidad 3

2. JALN, RODRGUEZ, BASLEZ, Aprenda Visual Basic 6.0 como si


estuviera en primero (Universidad de Navarra)
3. RAMREZ R., Jos Felipe, aprenda VISUAL BASIC practicando (PrenticeC
Hall, Mxico, 1 Edicin, 2001)

(*): Los trabajos se encuentran en el Website de la materia.


(**): Libro impreso.

(*)
(**)

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

La siguiente imagen muestra cmo est organizada jerrquicamente DAO:


A simple vista podemos ver que unos
objetos pueden contener a otros
objetos. Por ejemplo o workspace
puede contener a una o ms bases de
datos y un objeto Database puede
contener uno o ms objetos TableDef
(definicin de tablas). Es simple: si no
tengo un Workspace, no tendr una
base de datos.
En el tope de la jerarqua tenemos el
objeto DBEngine que es el nico objeto
que no es una coleccin y no est
contenido en ningn otro. Representa
al motor de la base de datos.
Una caracterstica importante de Visual
Basic es que tiene propiedades y
mtodos que pueden separarse como se hace en DML y DDL. En una palabra el Lenguaje de Definicin de
Datos consta de mtodos y propiedades que permiten definir y crear objetos como la misma base de
datos, las tablas, etc. El Lenguaje de Manipulacin de Datos provee propiedades y mtodos que nos
permiten operar con la base de datos, como ser: consultas, inserciones, actualizaciones, etc.
Lo ms importante de todo es que tiene en cuenta SQL y por ende se puede utilizar el Entorno de
Desarrollo independientemente del tipo de motor de base de datos.
Por lo anterior, Utilizar DDL es totalmente posible en VB, sin embargo nosotros trabajaremos de otra
manera: disearemos y crearemos las bases de datos en Access y luego crearemos las aplicaciones para
su manipulacin; es decir utilizaremos bsicamente DML.

DML y Visual Basic


Bsicamente DML presupone que la base de datos ya existe y por lo tanto pueden mencionarse como las
tareas bsicas de manipulacin de datos a las siguientes:

apertura y cierre de bases de datos


escritura de datos
bsqueda de datos

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.

Controles de acceso a datos


El manejo de la base de datos mediante DDl y DML es muy eficiente pero es codificacin pura; es decir
aplicando los mtodos y propiedades mediante cdigo de los objetos vistos anteriormente en la jerarqua.
Una alternativa ms sencilla para manipular datos es utilizar los controles que Visual Basic trae para ello.
Visual Basic contiene un control bsico para acceso de datos: el control Data. Este control Data forma
parte de los objetos DAO.
Bsicamente nos permite obtener un origen de datos. Para utilizarlo hay que conocer:
1. qu motor de base de datos utilizar (Connect),
2. qu almacn de datos se usar (DatabaseName) y
3. el origen de recursos que utilizar (RecordSource)
En los siguientes puntos daremos un pantallazo de los principales controles de manejo de datos. En DAO
el principal es el Control Data.

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

2.Array de Controles: concepto, diseo y programacin. Importancia prctica;


Concepto, diseo y programacin
Cuando manipulamos variables y utilizamos una matriz lo que estamos haciendo es referenciar a un
conjunto de valores bajo un mismo nombre. Una vez que una matriz ha sido definida (de una o dos
dimensiones, por ejemplo), inicializada y cargada con valores stos pueden ser referenciados mediante
un subndice.
Ahora no slo es posible crear matrices para almacenar valores. Pueden crearse matrices de objetos que
es lo que se conoce como matriz de controles.
Cmo se crea una matriz de controles? Bueno puede crearse fcilmente en el momento en que uno
intente tener dos objetos con el mismo nombre; en esta situacin Visual Basic le dir que ya existe un
control con dicho nombre, que si desea crear una matriz de controles. Esto ocurrira si tiene en su
formulario un cuadro de texto llamado txtPrueba. Posteriormente copia (con el botn copiar o el comando
del men) este cuadro de texto y lo pega en el mismo formulario. Al hacerlo le aparecer el mensaje de
advertencia de que ya existe un objeto llamado txtPrueba. Si lo que desea es crear una matriz de
controles deber presionar SI.
Podemos analizar la ventana de propiedades y veremos que txtPruba ser ahora el nombre de la matriz
de controles y que el primer cuadro de texto se llamar ahora txtPrueba(0) y el agregado recientemente
mediante copia ser txtPrueba(1). El nmero de subndice siempre empieza en cero (0) y se aumenta en
uno (1) cada vez que se agregue un nuevo control.
Los ndices simplifican mucho el manejo de eventos dentro de un formulario.

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.

3. DAO: Operaciones ABM (Altas, Bajas y Modificaciones) Y Consultas;


Como sabemos el sentido de contar con un entorno de desarrollo como Visual Basic es contar con
controles visuales que permitan que el trabajo del usuario sea ms ameno y fcil. Una base de datos y
sus tablas, cuando se trata de sistemas de nivel operativo, sufren una gran cantidad de actualizaciones
diarias. Ya sea que estas actualizaciones se refieran a inserciones, modificaciones o eliminaciones de
registros. Igualmente est sujeta a un sinnmero de consultas internas incluso para poder realizar
operaciones de insercin.
Visual Basic, como ya se vio en el punto anterior, permite realizar estas operaciones bsicamente de dos
formas utilizando DAO:

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.

apertura y cierre de la base de datos


escritura de datos (AddNew,Edit, Update y Delete [que son los equivalentes al DML de SQL:
bsicamente insert, update y delete)
bsqueda de datos (fundamentalmente el mtodo Seek de VB; y en algunos casos FindFirst,
FindNext, etc.)
movimiento de datos (que mueven el apuntador de registro entre las tablas: MoveFirst,
MovLast, etc.)

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

OpenDatabase (Archivo) se encarga de abrir la base de datos y ponerla a disposicin de DAO a


travs de la creacin de un objeto Database. Este objeto puede crearse mediante cdigo o bien al aadir
un control Data a un Formulario. [para la prctica recomendamos ver tanto la prctica como la teora de
base vista en los Proyectos Cargos y DBGrid].
OpenRecordset (Tabla, Tipo) es un
mtodo del objeto Database que devuelve
un objeto Recorset. Un Recordset es un
objeto de Visual Basic que representa un
conjunto lgico de registros; y en definitiva
est representando los registros fsicos de
una tabla o de una consulta. El
Recordset es el objeto fundamental
de DML ya que al consultar el Recorset y
manipularlo se puede afectar directamente
la estructura fsica de la base de datos.
Un RecordSet puede ser abierto de cinco
formas distintas; es decir, existen cinco
tipos de RecordSet: Table, Dynaset,
Snapshot, Dynamic y ForwarConly. La
siguiente tabla resume cada tipo y su
funcionalidad as como las constantes
usuales que se utilizan para declararlos.
TableDef
representa
la
Un
objeto
estructura de una tabla de la base de datos, en cambio un objeto Recordset representa a los registros
contenidos en una tabla que pertenece a la base de datos abierta.
En el Proyecto DMLVB en su formulario Cargos5 puede verse un ejemplo de estos mtodos.

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

Dichos mtodos fueron abordados en forma prctica mediante el Proyecto Cargos,


Formulario Cargos4. Ahora veremos un ejemplo TericoCPrctico que se basa en utilizar el DML de
Visual Basic sin utilizar el Control Data visto en el ejemplo anterior.
En la ltima pgina se muestra cmo funcionan estos mtodos y cmo se relacionan entre s mediante un
esquema.

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.

c. Bsqueda de datos utilizando el mtodo Seek


Existen varias maneras de realizar la bsqueda de datos en Visual Basic aplicando el lenguaje de
manipulacin de datos. Una de esas formas, tal vez la ms eficiente, es utilizando el mtodo Seek del
objeto Recordset.
Este mtodo tiene la sintaxis: Recordset.Seek comparacion, valor. Para poder utilizarlo debemos
contar con una clave primaria y a su vez el Recordset debe ser del tipo Table. No sirve para efectuar
bsquedas sobre campos que no sean clave primaria.
Para hacer esto es necesario declarar un ndice mediante programacin utilizando la propiedad
Recordset.index = 'nombre del ndice', es decir que el ndice es la clave primaria.
Por lo tanto, para su aplicacin es necesario primero establecer un ndice mediante la propiedad index y
adems utilizar el mtodo Recordset.NoMatch que devolver un valor lgico de True o False segn si
la bsqueda tuvo o no xito.
Las bsquedas son fundamentales puesto que es imposible realizar una modificacin o una
eliminacin sin efectuar antes una bsqueda en el Recordset.
diferencia entre Seek y otros mtodos existentes como FindFirst, FindNext,
FindPreious,FindLast es que Seek slo puede utilizarse con claves primarias, utiliza un ndice y el

La

Recordset debe ser del tipo Table.


Los otros mtodos para bsqueda mencionados utilizan cualquier campo que no sea clave primaria. En
lugar de utilizar un ndice para la bsqueda, la misma se lleva a cabo en base a una condicin y no un
ndice. Finalmente el Recordset debe ser del tipo Dynaset. Para verificar si se cumple o no la condicin
hay que utilizar el mtodo NoMatch.
Un ejemplo tpico en el que deberamos utilizar Seek es cuando queremos obtener un registro nico y
paticular. Por ejemplo un empleado en particular, entonces utilizaramos este mtodo con la clave
primaria IdEmp.
En cambio, si quisiera encontrar todos los empleados que tienen un cdigo de cargo determinado, en este
caso la condicin sera 'que el idcargo sea igual a X' y podemos aplicarla con el mtodo FindFirst que
devolver el primer registro que coincida con la bsqueda; luego con FindNext podremos encontrar el
siguiente registro que cumple con la condicin y as sucesivamente.
Estos ltimos mtodos estn desarrollados en forma prctica en el Proyecto DMLVB en el formulario
Cargos7.

d. Movimiento de datos (moverse o navegar entre registros de un Recordset)


Los mtodos MoveFirst, MoveLast, MoveNext y MovePreious permiten mover el apuntador de
registro al primer, ltimo, siguiente o anterior registro respecto a dnde se encuentra el apuntador de
registro antes de aplicar el mtodo.
La diferencia entre MoveFisrt y FindFirst es que MoveFirst mueve el puntero de registro al primer
elemento del Recordset y FindFirst mueve el puntero de registro al primer registro del Recordset que
coincide con la condicin de bsqueda.
Estos mtodos son los que utiliza el control Data para navegar entre los distintos registros del Recorset
abierto y al cual referencia este objeto visual. En el Proyecto DMLVB, formulario Cargos8 se
encuentra desarrollado en forma prctica la utilizacin de estos mtodos.

Unidad 3

Pgina 9 / 16

Unidad 3

Pgina 10 / 16

Cmo trabaja SQL en Visual Basic.


Como sabemos SQL tiene un lenguaje DML que puede aplicarse prcticamente en forma directa, teniendo
en cuenta algunas condiciones especficas, en Visual Basic.
En el Proyecto DBGrid en su formulario DBGrid3 se utiliz DML de SQL en forma directa ya que el
usuario puede ingresar libremente las sentencias SQL. Estudiando el diseo del formulario, que incluye su
cdigo, puede apreciarse que en el caso de las consultas se utiliza la propiedad RecordSource del
control Data. Y cada consulta puede asignarse en tiempo de ejecucin por qu?.
En cambio las otras operaciones que modifican ciertamente el contenido de la base de datos utilizan el
mtodo Execute (textoSQL).
Tambin ADO Y OLE DB, tecnologas distintas a DAO, utilizan SQL tanto para operaciones del lenguaje
SQL de tipo DML Y DDL. La diferencia con estas tecnologas es que no tienen un lenguaje incorporado en
Visual Basic de tipo DML o DDL equivalente a SQL.

4. Formularios MDI y Mens: creacin y organizacin, utilizacin de formulario de


Este tema est desarrollado en forma independiente en el apunte Diseo de Formularios MDI y
Mens en formato pdf y que incluye material tericoCprctico. Est disponible para su descarga en la
Seccin Material Unidad 3 Manuales.

5. Controles de acceso y manipulacin de datos (ADO): Adodc, DataGrid, DataList,


DataCombo
Tema pendiente por el momento.

6. Diseo de consultas e Informes: Diseadores


DataEnvironment y DataReportLos informes en papel son
necesarios porque as lo exigen en gran medida la legislacin y
tambin los usos y costumbres. Sin embargo el uso de informes
dentro de una empresa debe estar restringido; es decir deben
emitirse en su justa medida y a quienes corresponda; de lo
contrario podran producirse fugas de informacin no slo dentro
de sectores de una compaa sino hacia la competencia. Otro
efecto nefasto es la excesiva burocracia ya que hay que tener
presente que los informes en papel tienen una permanencia en la
empresa y por lo tanto hay que contar cn espacio fsico y normas
de seguridad para su almacenamiento en lo que se conoce como
archivos fsicos.
Visual Basic trae un diseador de informe de datos, el DataReport

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.

Un informe est formado por las siguientes secciones:

Unidad 3

Pgina 11 / 16

Seccin de detalle: que mostrar los datos que


provienen del origen de datos que casi siempre
es un Recordset proporcionado por un comando
del DataEnvironment.

Seccin de encabezado de pgina;

Seccin de pie de pgina;

Seccin de encabezado del informe: se muestra


una sola vez en el informe y en general se utiliza
para identificar el informe y colocar informacin
relativa a ste

Seccin de pie de informe: como en el caso


anterior se muestra una sola vez y aparece
cuando finaliza el contenido del informe

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.

Los controles del Data Report son:

TextBox (RptTextBox): permite mostrar los campos de un origen de datos


y toman su valor en tiempo de ejcucin;

Label (RptLabel): permite colocar etiquetas al informe;

Image (RptImage): permite insertar grficos en el informe, siendo las


imgenes de tipo estticas

Line (RptLine): permite dibujar lneas en el informe

Shape (RptShape): permite insertar rectngulos, tringulos, etc.

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.

Definir el objeto DataEnvironment;

4.

Agregar un objeto DataReport

5.

Vincular el Data Report con el DataEnvironmet utilizando las secciones y controles de informes
pertinentes.

6.

Realizar la codificacin que sea necesario, que a veces es muy poca.

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

PASOS PARA AGREGAR UN DataEnvironment A UN PROYECTO DE VISUAL BASIC

Hay que ir al men Proyeto Agregar DataEnvironmet:


Hay que definir DEConnection y DECommand

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

En las siguientes imgenes


se indican grficamente
estos pasos para lo cual
hay que posicionarse sobre
la conexin, pulsar el
botn derecho del mouse y
seleccionar la opcin
propiedades:
Se selecciona el proveedor
o servidor, en este caso
para poder utilizar Access
97 se elige Microsoft Jet
3.51 OLE DB Provider
La siguiente imagen nos
permite especificar la
conexin propiamente
hablando con el servidor
antes seleccionado, en
particular la Base de
Datos, el Nombre de
Usuario y la Clave de
usuario. Este ltimo
requisito puede quedar en
blanco.

El siguiente paso consiste en probar la conexin que si


es exitosa mostrar un mensaje de informacin en tal
sentido.
La solapa Avanzadas permite especificar el tipo de
acceso a la
base de
datos
mediante la
conexin
(escritura,
slo
lectura,
etc.).

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

Aparecer la ventana de Propiedades del comando,


que todava no tiene nombre y por ello figura el
nombre por omisin que coloca Visual Basic:
La solapa General permite establecer el origen de
datos del comando:
Un objeto de base de datos que podr ser
un procedimiento almacenado, una tabla,
una vista o un sinnimo.
Instruccin SQL
Si seleccionamos la segunda opcin el botn Generar
SQL... se activar. Si lo pulsamos aparecer la
ventana de Diseo del Comando (Diseo: Command1)
Esta ventana es muy similar a la vista diseo que
tiene Access para disear las consultas:
En la parte superior pueden arrastrarse
los objetos desde la vista Datos (tablas
o vistas de la base de datos) y las
relaciones entre los mismos se
realizarn en forma automtica. Desde
aqu tambin podemos seleccionar los
distintas columnas que nos interesa que
muestre la consulta.
En la grilla superior pueden establecerse
opciones adicionales correspondientes a
la ordenacin, agrupacin, etc.
En el rea de texto se ir escribiendo el
comando SQL o bien podremos ingresar
o modificar el mismo directamente
La grilla inferior sirve para mostrar los
resultados de la ejecucin de la
consulta.
Finalmente una vez diseada la
consulta utilizando el botn derecho
del mouse podremos seleccionar
otras opciones dependiendo en qu
zona estemos posicionados con el
ratn el men contextual nos
permitir ejecutar la consulta,
comprobar la sintaxis SQL, etc. Por
ejemplo, podemos observar en la
imagen la Vista de Diseo del
comando cmdDep2 que podemos
ejecutar la consulta.
Y en esta imagen podemos apreciar
la Vista de diseo del comando
cmdDep2 mostrando el men
contextual que permite, entre otras
cosas, ejecutar la consulta que se
muestra en la siguiente imagen.

Unidad 3

Pgina 15 / 16

Asimismo se pueden disear, como


tambin ocurre en Access, distintos
tipos de consultas.

Fuentes Bibliogrficas consultadas:

DATE, C. J., Introduccin a los SISTEMAS DE BASES DE DATOS (PrenticeCHall, Mxico, 7


Edicin, 2001)

SAROKA, Ral Horacio, Sistemas de Informacin en la Era Digital (Captulo 1, ebook,


Fundacin OSDE 2002) [pdf 402 Kb]

SAROKA, Ral Horacio, Sistemas de Informacin en la Era Digital (Captulo 2, ebook,


Fundacin OSDE 2002) [pdf 441 Kb]

RAMREZ R., Jos Felipe, aprenda VISUAL BASIC practicando (PrenticeCHall, Mxico, 1
Edicin, 2001)

Unidad 3

Pgina 16 / 16

Potrebbero piacerti anche