Anda di halaman 1dari 6

1

Crear un informe de datos sencillo


Este tema muestra cmo puede crear un informe de datos sencillo mediante un Diseador de entorno de datos utilizado
como un origen de datos. El Diseador de entorno de datos emplea la base de datos NorthWind incluida con Visual Basic
para crear un sencillo cursor jerrquico. El cursor contiene dos tablas, Clientes y Pedidos, y ambas estn vinculadas
mediante el campo IdCliente. El informe terminado es similar a la siguiente figura.
Informe de datos sencillo: Fechas de los pedidos de clientes

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

Objeto de base de datos

Table

Nombre de objeto

Clientes

Haga clic en Aceptar para cerrar el cuadro de dilogo.


Haga clic con el botn secundario del mouse (ratn) en el comando Clientes y haga clic en Agregar comando
secundario para mostrar el cuadro de dilogo Command2. En el cuadro de dilogo, establezca las propiedades como se
indica a continuacin:
Propiedad

Valor

Nombre de comando

Pedidos

Conexin

Northwind

Objeto de base de datos

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

Crear el informe de datos


Despus de haber creado el Diseador de entorno de datos, puede crear un informe de datos. Debido a que no todos los
campos del entorno de datos son siempre tiles en un informe, los siguientes temas muestran cmo puede crear un informe
limitado que muestra slo unos pocos campos.

Para crear un nuevo informe de datos


1.

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

Informe de datos Northwind

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.

Para mostrar el informe de datos en tiempo de ejecucin


1.
2.
3.
4.

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

En el evento Click del botn, pegue el cdigo siguiente.


Private Sub cmdShow_Click()

3
8.

rptNwind.Show
End Sub

9.
10.

Guarde y ejecute el proyecto.


Haga clic en Mostrar informe para mostrar el informe en el modo de vista preliminar.

Opcional: configurar el informe de datos como el Objeto inicial:


1.
2.
3.

Tambin puede mostrar el informe de datos sin escribir cdigo.


En el men Proyecto, haga clic en Propiedades de prjNwind.
En el cuadro Objeto inicial, seleccione rptNwind.
Guarde y ejecute el proyecto.
Nota Si utiliza este mtodo, puede quitar el objeto Form del 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.
Extender el informe de datos
Ahora que dispone de un informe de datos sencillo, es fcil extenderlo y crear una presentacin ms compleja. En el
procedimiento siguiente, se extiende primero el entorno de datos con las tablas Detalles de pedidos y Productos. El informe
extendido incluye los nombres de los productos ordenados por una fecha especfica y es similar a la figura siguiente.
Informe de datos extendido con detalles sobre los pedidos

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.

Para extender el entorno de datos


1.
2.

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

Objeto de base de datos

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

Objeto de base de datos

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.

Para extender el informe de datos


1.

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.

Exportar un informe de datos


Tras compilar un informe, puede que desee volver a usarlo como parte de un documento mayor o para distribuirlo en una
intranet o a travs de Internet. El mtodo ExportReport del Diseador de informe de datos permite realizar estas tareas.
Mediante el mtodo ExportReport, puede exportar cualquier informe a un archivo de texto o a un archivo HTML.
Adicionalmente, puede emplear cualquier nmero de objetos ExportFormat para personalizar el contenido y la apariencia de
un archivo exportado.
Importante El mtodo ExportReport no admite la exportacin de imgenes o de formas grficas.
Objetos ExportFormat
El mtodo ExportReport se dise para usarlo con la coleccin ExportFormats. Cada uno de los objetos ExportFormat de
la coleccin corresponde a un formato distinto de informe. Por ejemplo, un informe preparado para su distribucin en una
intranet podra incluir los nombres de grupos o de empleados como una parte del encabezado de informe; para la distribucin
a travs Internet, estos mismos nombres podran eliminarse o reemplazarse. Por tanto, creara al menos dos objetos
ExportFormat y diseara cada uno para el mecanismo de distribucin correspondiente. Sin embargo, puede exportar un
informe sin necesidad de crear objetos ExportFormat ya que dispone de cuatro objetos ya preparados.

Los cuatro objetos ExportFormat predeterminados


De forma predeterminada, la coleccin ExportFormats contiene cuatro miembros. Estos cuatro miembros y los filtros
asociados se muestran en la tabla siguiente:
Objeto

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

Mostrar un cuadro de dilogo es opcional


El programador puede especificar si deber mostrarse un cuadro de dilogo al exportar el informe. Por ejemplo, no sera
necesario mostrar un cuadro de dilogo si desea crear automticamente un informe todas las maanas, escribirlo en el
mismo archivo y distribuirlo en una intranet. El dilogo no se mostrar siempre y cuando proporcione una ruta de acceso del
archivo y una clave vlidas, y el parmetro Overwrite tenga el valor True.
' Exporta un informe como HTML; sobrescribe cualquier archivo
' existente. Exporta todas las pginas al archivo Informe_diario.htm.
DataReport1.ExportReport rptKeyHTML, "C:\Temp\Informe_diario", True, , _
rptRangeAllPages
Nota En el cdigo anterior, el segundo argumento parece un directorio pero es el nombre del archivo. El nombre del archivo
es "Informe_diario.htm". El objeto ExportFormat agrega la extensin de archivo (.htm), por lo que no es necesario escribirla
en el argumento con el nombre del archivo.
ExportFormat proporciona informacin de dilogo
El objeto ExportFormat contiene tambin la informacin que se muestra cuando el usuario invoca el mtodo ExportReport.
Especficamente, la propiedad FileFormatString establece el texto que se muestra en el cuadro Guardar como tipo del
cuadro de dilogo Exportar. Por ejemplo, imagine que una organizacin posee un objeto ExportFormat estndar que se
utiliza con todos los informes. El cdigo siguiente permitira comprobar que el objeto ExportFormat est disponible en la lista
de tipos de formato del cuadro de dilogo Exportar:
Dim strTemplate As String
' Crea primero la plantilla para el objeto ExportFormat.
strTemplate = "Informe Diario de MiOrganizacin" & vbCrLf & rptTagBody
' Agrega un objeto ExportFormat. FileFormatString determina
' lo que aparecer en el cuadro de dilogo Exportar.
DataReport1.ExportFormats.Add _
Key:="StandardReport", _
FormatType:=rptFmtText, _
FileFormatString:="Informe estndar (*.txt)", _
FileFilter:="*.txt", _
Template:=strTemplate
' Invoca el mtodo ExportReport especificando el objeto
' ExportFormat denominado StandardReport que se debe usar.
DataReport1.ExportReport "StandardReport", , False, True, _
rptRangeFromTo, 1, 10
Cuando invoca el cuadro de dilogo Exportar, tiene la apariencia siguiente:

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-->

Representa el ttulo del informe, tal como


est especificado en la propiedad Title.

rptTagBody

<!--MSDBRPT_Template_Body-->

Representa el cuerpo del informe.

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

Imprimir un informe de datos

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

Anda mungkin juga menyukai