1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Antes de empezar el procedimiento paso a paso, compruebe que la base de datos Northwind (Nwind.mdb) est presente en
su equipo. Si no est, copie el archivo del CD de Visual Basic al disco duro.
Para insertar un cursor jerrquico sencillo en el Diseador de entorno de datos
Cree un nuevo proyecto Standard EXE.
En el men Proyecto, haga clic en Agregar entorno de datos para agregar un diseador al proyecto. Si el
diseador no aparece entre las opciones del men Proyecto, haga clic en Componentes. Haga clic en la ficha Diseadores
y en Entorno de datos para agregar el diseador al men.
Nota El men Proyecto proporciona la lista de los cuatro primeros tipos de diseadores ActiveX cargados para un proyecto.
Si se cargan ms de cuatro diseadores, los siguientes aparecern en el submen Ms diseadores ActiveX del men
Proyecto.
En el cuadro de dilogo Data Link Properties, haga clic en Microsoft Jet 3.51 OLE DB Provider. Esta seleccin
del corrige el proveedor OLE DB para tener acceso a la base de datos Jet.
Haga clic en el botn Siguiente para llegar a la ficha Conexin.
Haga clic en el botn Examinar () que se encuentra junto al primer cuadro de texto.
Utilice el cuadro de dilogo Seleccionar base de datos de Access para desplazarse por el archivo nwind.mdb,
que est instalado en el directorio Archivos de programa\Microsoft Visual Studio\Vb98.
Haga clic en Aceptar para cerrar este cuadro de dilogo.
Haga clic con el botn secundario de mouse (ratn) en el icono Connection1, y elija Cambiar nombre. Cambie el
nombre del icono a Northwind.
Haga clic con el botn secundario del mouse en el elemento Norhwind y, despus, haga clic en Agregar comando
para mostrar el cuadro de dilogo Command1. En el cuadro de dilogo, establezca las propiedades como se indica a
continuacin:
Propiedad
Valor
Nombre de comando
Clientes
Conexin
Northwind
Table
Nombre de objeto
Clientes
Valor
Nombre de comando
Pedidos
Conexin
Northwind
Table
Nombre de objeto
Pedidos
13.
14.
Haga clic en la ficha Relacin. La casilla de verificacin Relacionar con un comando primario debera estar
activada. El cuadro Primario debera contener Clientes; los cuadros Campos primarios y Campos secundarios y
parmetros deberan mostrar IdCliente.
Cuando se disean bases de datos relacionales, se suele usar el mismo nombre para los campos que permiten vincularlas.
En este caso, los dos campos vinculados se denominan IdCliente. El Diseador de entorno de datos hace coincidir
automticamente estos dos campos en el cuadro de dilogo.
15.
Haga clic en Agregar. Haga clic en Aceptar para cerrar el cuadro de dilogo.
Al hacer clic en el botn Agregar, agrega la relacin al objeto Command. Despus de cerrar el cuadro de dilogo, el
Diseador de entorno de datos refleja las relaciones de los dos comandos como una jerarqua. Esta jerarqua se usar para
crear el informe de datos.
16.
Establezca las propiedades del proyecto y del diseador segn los valores indicados a continuacin y, despus,
guarde el proyecto:
Objeto
Propiedad
Valor
Project
Name
prjNwind
DataEnvironment
Name
deNwind
2
Form
17.
Name
frmShow
2.
3.
4.
5.
6.
7.
8.
9.
En el men Proyecto, haga clic en Agregar informe de datos; Visual Basic agregar el informe de datos al
proyecto. Si el diseador no aparece en el men Proyecto, haga clic en Componentes. Haga clic en la ficha Diseadores y
en Informe de datos para agregar el diseador al men.
Nota El men Proyecto proporciona la lista de los cuatro primeros tipos de diseadores ActiveX cargados. Si se cargan
ms de cuatro diseadores, los siguientes aparecern en el submen Ms diseadores ActiveX del men Proyecto.
Establezca las propiedades del objeto DataReport segn la tabla siguiente:
Propiedad
Valor
Name
rptNwind
Caption
En la ventana Propiedades, haga clic en DataSource y, despus, en deNwind. A continuacin, haga clic en
DataMember y en Clientes.
Importante Es necesario abrir el Diseador de entorno de datos antes de establecer la propiedad DataSource con el valor
deNwind. Si el diseador est cerrado, presione Ctrl-R para mostrar la ventana Proyecto y haga doble clic en el icono del
entorno de datos.
Haga clic con el botn secundario del mouse (ratn) en el Diseador de informe de datos y en Obtener
estructura.
Acaba de agregar una nueva seccin de grupo al diseador. Cada seccin de grupo posee una correspondencia unvoca con
un objeto Command en el entorno de datos; en este caso, la nueva seccin de grupo corresponde al objeto Command
denominado Clientes. Observe tambin que al encabezado de grupo corresponde una seccin Pie de grupo.
Arrastre el campo NombreCompaa (bajo el comando Clientes) del Diseador de entorno de datos a la seccin
Encabezado de grupo (Clientes_Encabezado).
La seccin Encabezado de grupo puede contener cualquier campo del comando Clientes, pero para facilitar la demostracin,
este ejemplo slo muestra por el momento el nombre Clientes.
Elimine el control Label (rptLabel) denominado Label1.
Si no desea incluir un control Label con el control TextBox, desactive la opcin Arrastrar y soltar ttulos de campo de la
ficha Asignacin de campos del cuadro de dilogo Opciones del Diseador de entorno de datos.
Arrastre el campo FechaPedido (bajo el comando Pedidos) del Diseador de entorno de datos a la seccin
Detalles de pedidos. Elimine el control Label.
La seccin Detalles de pedidos representa la seccin "repetida" ms interior y, por tanto, corresponde el objeto Command de
nivel inferior de la jerarqua del entorno de datos: el objeto Command denominado Pedidos.
Cambie el tamao de las secciones del Diseador de informe de datos para que sea similar a la figura siguiente:
Es importante que cambie el alto de la seccin Detalles de pedidos para que sea lo ms corta posible, ya que el alto se
multiplicar por cada uno de los objetos FechaPedido devueltos por NombreCompaa. Cualquier espacio innecesario por
encima o por debajo del cuadro de texto FechaPedido aumentar la cantidad de espacio sin usar en el informe final.
10.
Guarde el proyecto.
Vista preliminar del informe de datos con el mtodo Show
Ahora que se han creado los objetos del entorno de datos y del informe de datos, casi ha llegado el momento de ejecutar el
proyecto. Solamente queda un paso: escribir cdigo para mostrar el informe de datos.
5.
6.
7.
En la ventana Explorador de proyectos, haga doble clic en el icono frmShow para mostrar el Diseador de
formularios.
En Cuadro de herramientas, haga clic en la ficha General.
Cuando agrega un Diseador de informe de datos al proyecto, sus controles se agregan a la ficha denominada DataReport.
Para usar los controles estndar de Visual Basic, debe cambiar a la ficha General.
Haga clic en el icono CommandButton y dibuje un botn de comando en el formulario.
Establezca las propiedades del control Command1 como se indica en la tabla siguiente:
Propiedad
Valor
Name
cmdShow
Caption
Mostrar informe
3
8.
rptNwind.Show
End Sub
9.
10.
Nota Este tema forma parte de una serie de procedimientos paso a paso que le guan por la creacin de un informe de
datos de ejemplo. Empieza con el tema Crear un informe de datos sencillo.
3.
4.
5.
6.
7.
En el Diseador de entorno de datos, haga clic con el botn secundario del mouse (ratn) en el objeto Command
Pedidos. A continuacin, haga clic en Agregar comando secundario.
En el cuadro de dilogo Propiedades de Command1, establezca las propiedades siguientes:
Propiedad
Valor
Nombre de comando
DetallesPedidos
Conexin
Northwind
Table
Nombre de objeto
Detalles de pedidos
Haga clic en la ficha Relacin. La casilla de verificacin Relacionar con un comando primario debera estar
activada. El cuadro Primario debe contener Pedidos; los cuadros Campos primarios y Campos secundarios y
parmetros deben mostrar IdPedido. Haga clic en el botn Agregar y, a continuacin, en Aceptar para cerrar el cuadro de
dilogo.
Haga clic con el botn secundario del mouse (ratn) en el objeto Command DetallesPedidos y haga clic en
Agregar comando secundario. Establezca las propiedades de la conexin como se indica a continuacin:
Propiedad
Valor
Nombre de comando
Productos
Conexin
Northwind
Table
Nombre de objeto
Productos
Haga clic en la ficha Relacin. La casilla de verificacin Relacionar con un comando primario debera estar
activada. El cuadro Primario debe contener DetallesPedidos; los cuadros Campos primarios y Campos secundarios y
parmetros deben mostrar IdProducto. Haga clic en el botn Agregar y, a continuacin, en Aceptar para cerrar el cuadro
de dilogo.
Extender el informe de datos
Despus de haber extendido el entorno de datos con tablas nuevas, puede extender tambin el informe de datos al arrastrar
campos del Diseador de entorno de datos al Diseador de informe de datos.
Haga clic con el botn secundario del mouse (ratn) en el diseador Informe de datos y desactive el cuadro
Mostrar Encabezado o pie de pgina.
Al desactivar esta opcin, se eliminan el encabezado y el pie de pgina, que no se utilizan por ahora.
2.
Haga clic con el botn secundario del mouse (ratn) en el Diseador de informe de datos y haga clic en Insertar
encabezado o pie de grupo. Aparecer el cuadro de dilogo Insertar nuevo encabezado o pie de grupo.
El cuadro de dilogo permite determinar si el nuevo encabezado y el nuevo pie de grupo incluyen otras parejas "anidadas" de
encabezado y pie. Esto es importante cuando agrega nuevas parejas de encabezados y pies, ya que la pareja situada ms al
exterior tiene precedencia sobre las dems. Este aspecto se trata con ms detalle en "Partes del informe de datos".
3.
Haga clic en Aceptar para seleccionar la posicin predeterminada de la nueva pareja de encabezado y pie, y para
cerrar el cuadro de dilogo.
4.
Seleccione el nuevo encabezado de grupo y cambie el nombre Section1 por Pedidos_Encabezado en la ventana
Propiedades. Cambie el nombre Section4 correspondiente al pie de pgina por Pedidos_Pie.
5.
Repita los pasos 2 a 3. Cambie el nombre del nuevo encabezado de grupo por DetallesPedidos_Encabezado y el
nombre del nuevo pie de grupo por DetallesPedidos_Pie.
6.
Haga clic en la seccin Pedidos_Detalle para seleccionarla. En la ventana Propiedades, cambie el nombre de la
seccin por Productos_Detalle.
7.
Con el mouse, arrastre el campo FechaPedido de la seccin Productos_Detalle a la seccin
Pedidos_Encabezado.
8.
Arrastre el campo NombreProducto (bajo el comando Productos) del Diseador de entorno de datos a la seccin
Productos_Detalle.
9.
Elimine el control Label denominado Label1.
10.
Ajuste el tamao de los encabezados de grupo y reorganice los controles de cuadro de texto para que sean
similares a la figura siguiente.
La figura anterior necesita algunas explicaciones. En primer lugar, se cierran todos los pies de grupo por orden para
conseguir el mayor espacio posible. Como ocurre con la seccin Detalles, en el informe final se multiplica el espacio adicional
que quede en los encabezados o pies de pgina. Por consiguiente, si un encabezado o pie de pgina no contiene ningn
campo, puede ajustar al mximo la distancia que separa a los encabezados y los pies de pgina.
El encabezado de grupo llamado DetallesPedidos_Encabezado tambin se ajusta. Si se pregunta por qu no se muestra
ningn campo, debe comprender que la tabla Detalles de pedidos de la base de datos Northwind es una tabla combinada, es
decir una tabla que slo contiene los identificadores de registros de la tabla Pedidos, combinados con los identificadores de
registros de la tabla Productos. Los campos no aparecen por el momento precisamente porque la tabla Detalles de pedidos
no contiene ninguno. Simplemente permite combinar las otras dos tablas. En el Diseador de informe de datos, por tanto, la
tabla Detalles de pedidos slo sirve para crear grupos de registros: los nombres de producto agrupados por fechas de
pedido.
Por ltimo, la seccin Detalles slo contiene los nombres de los productos. La seccin Detalles contiene el nivel ms interior
de los registros repetidos.
11.
Guarde y ejecute el proyecto.
Paso a paso
Este tema forma parte de una serie de procedimientos paso a paso que le guan por la creacin de un informe de datos de
ejemplo.
Filtro de archivo
Descripcin
ExportFormats(1)
*.htm, *.html
HTML
ExportFormats(2)
*.htm, *.html
HTML Unicode
5
ExportFormats(3)
*.txt
Texto
ExportFormats(4)
*.txt
Texto Unicode
Tambin puede usar la propiedad Key para especificar cualquiera de los tipos predeterminados que necesite. Los valores y
las constantes de la propiedad Key se muestran a continuacin:
Objeto
Key
Constante
ExportFormats(1)
key_def_HTML
rptKeyHTML
ExportFormats(2)
key_def_UnicodeHTML_UTF8
rptKeyUnicodeHTML_UTF8
ExportFormats(3)
key_def_Text
rptKeyText
ExportFormats(4)
key_def_UnicodeText
rptKeyUnicodeText
Cualquiera de estos cuatro miembros permite exportar un informe sin necesidad de crear otro objeto ExportFormat, siempre
y cuando el modelo predeterminado cumpla con sus requisitos. Por ejemplo, para exportar un informe diario a formato HTML,
podra usar el cdigo siguiente:
DataReport1.ExportReport rptKeyHTML
Cdigos de plantilla
La parte esencial de un objeto ExportFormat es su plantilla. Una plantilla es simplemente una cadena que contiene a la vez
el texto que desea mostrar y las constantes que representan varias partes del informe de datos. Las constantes, los valores y
las descripciones se muestran en la siguiente tabla:
Constante
Valor
Descripcin
rptTagTitle
<!--MSDBRPT_Template_Title-->
rptTagBody
<!--MSDBRPT_Template_Body-->
6
Para crear un informe de datos sencillo que slo incluya el nombre del autor seguido del cuerpo del informe, la plantilla
podra ser similar al cdigo siguiente:
Dim strT As String
strT = "Autor: " & InputBox("Su nombre") & vbCrLf & rptTagBody
drpNwind.ExportFormats.Add "AuExp", rptFmtText, _
"Archivo de texto de autores slo", "*.txt", strT
1.
2.
3.
1.
2.
3.
Existen dos maneras de imprimir un informe de datos. En modo Vista preliminar (mediante el mtodo Show), el usuario
puede hacer clic en el botn Imprimir del informe de datos o bien el propio programa puede usar el mtodo PrintReport
para habilitar la impresin. Si se produce un error durante la impresin, puede interceptarlo con el evento Error.
Para obtener ms informacin Vea "Eventos de un informe de datos".
Decidir si se muestra un cuadro de dilogo Imprimir
Cuando imprima un informe por programa, tiene dos opciones: mostrar en pantalla el cuadro de dilogo Imprimir o imprimir
directamente sin presentar el cuadro de dilogo.
Para mostrar el cuadro de dilogo Imprimir
Agregue un control CommandButton a un formulario.
En el evento Click del botn, escriba el cdigo siguiente:
DataReport1.PrintReport True
El cuadro de dilogo Imprimir permite al usuario seleccionar una impresora, imprimir a un archivo, seleccionar un intervalo
de pginas o especificar el nmero de copias para imprimir.
Nota Es necesario tener varias impresoras instaladas en el equipo para poder elegir una de ellas.
Imprimir sin un cuadro de dilogo
En algunos casos es preferible imprimir el informe sin la intervencin del usuario. El mtodo PrintReport ofrece tambin la
posibilidad de imprimir todas las pginas o slo un intervalo de pginas seleccionado.
Para imprimir sin mostrar el cuadro de dilogo
Agregue un control CommandButton a un formulario.
En el evento Click del botn, escriba el cdigo siguiente:
DataReport1.PrintReport False
O bien, utilice el cdigo siguiente para especificar un intervalo de pginas para imprimir:
DataReport1.PrintReport False, rptRangeFromTo, 1, 2