You are on page 1of 12

Muestra de uso de los controles

DataEnvironment
DataReport

2.002, Jose Luis Monte Galiano, (MoGa)


e-mail : jlmogasa@hotmail.com
[Regresar]

Indice

Introduccin
El proyecto
Agregar los diseadores al proyecto
Agregar el DataEnvironment
Configuracin de la conexin
Agregar y configurar un comando de datos
Agregar el DataReport
Limitaciones del DataReport
Otras consideraciones
El cdigo
Cdigo del formulario PRINCIPAL.FRM
Cdigo del formulario FRMVERDATOS.FRM
Cdigo del formulario FRMMODIF.FRM

Introduccin

Los objetos DataEnvironment y DataReport son dos controles


que nos permiten :
Acceder a los datos de forma transparente y darnos
la posibilidad de crear una estrategia de acceso a los
datos de forma grfica, (DataEnvironment).
Poder mostrar en vista previa, imprimirlos o
exportarlos para su publicacin, (DataReport).
Cabe resear que, una vez realizado nuestro esquema de
acceso a los datos con DataEnvironment; es posible arrastrar y
colocar los campos diseados en el a un formulario o al
diseador del DataReport. Esto, sin duda, representa una
mejora substancial en la tarea de realizar informes o gestiones
de datos en nuestras aplicaciones.

Con estos dos objetos tenemos un poco mas fcil la papeleta


que representa realizar una aplicacin de acceso a datos.
El proyecto
Nuestro proyecto de prueba consta de :
3 formularios :

Un formulario principal, (principal.frm).

Un visor de datos, (frmverdatos.frm).

Un sencillo gestor de datos, (modifdatos.frm).

Y 2 diseadores :

Un informe DataReport, (reporte.dsr)

Un entorno DataEnvironment donde hemos


declarado nuestra definicin de acceso a los datos,
(base.dsr).

En todo el proyecto se hace referencia siempre al control de


datos creado con DataEnvironment. En algunas ocasiones seria
posible crear un control de acceso a datos de forma local y no
utilizar el entorno de datos creado con DataEnvironment. Por
ejemplo :
Para actualizar un campo de una tabla podria utilizarse el
siguiente cdigo :
Dim Base As ADODB.Connection
Set Base = New ADODB.Connection
Base.Open Cadena de acceso a datos
Base.Execute UPDATE Tabla SET Campo=Valor
WHERE ...
Agregar los diseadores al proyecto.
A continuacin mostramos como agregar y configurar los
objetos DataEnvironment y DataReport.
Agregar el DataEnvironment
Para agregar un entorno de datos a nuestro
proyecto iremos a la opcin Agregar Data
environment del men Proyecto de Visual Basic.
Aparecer una nueva ventana con el entorno de
datos, (por defecto llamado DataEnvironment1), y
una conexin, (connection1) lista para ser
configurada.

Configuracin de la conexin.
Pulsando con el botn derecho del ratn sobre
Connection1 elegimos la opcin
Propiedades.
Aparecer otra ventana de Configuracin de
la conexin. En este lugar declararemos que
tipo de conexin queremos realizar, (ODBC,
Jet, Oracle, etc.) y a que base de datos y con
que caractersticas queremos conectar.

Nuestra conexin seria como muestran los


siguientes grficos :

Lo primero es seleccionar el tipo de proveedor


de acceso a datos que vamos a utilizar. Para
este caso utilizaremos Microsoft.Jet 4.0 OLE
DB Provider

Seguidamente especificamos la ubicacin de la


base de datos y pulsaremos sobre Probar
conexin. Esta prueba nos dir si la conexin
ha sido o no satisfactoria.
Agregar y configurar un comando de datos.

Una vez realizados los pasos anteriores


aadiremos un comando de datos, (objeto
Command de ADO), a la conexin
recientemente configurada.
Con objeto Command seleccionamos el rango
de datos, tablas o objetos de datos que
queremos manipular. Para determinar ese
rango podemos utilizar sentencias SQL.
Con el botn derecho del ratn sobre
Connection1 seleccionamos la opcin
Agregar comando.
Por defecto el entorno de datos nos ofrece
Command1. Con el botn derecho sobre
Command1 seleccionamos la opcin de
Propiedades.
Aparecer una ventana en la que podremos :
Seleccionar el rango de datos
sobre el que queremos actuar.
Determinar el ambito de la
seleccin, (solo lectura o
Lectura/Escritura, etc.).
Relacionar este comando con otro
primario, (anidacin de comandos :
Vase el entorno de datos proporcionado
en el proyecto de ejemplo)
Agrupar los datos por un campo
de la seleccin.
Agregar campos de funcin.

Aqu seleccionamos el rango de datos sobre el


que queremos actuar.

Aqu determinamos algunas caractersticas del


objeto Command creado. Cabe resear :
Tipo de bloqueo.
Solo lectura, bloqueo optimista,
pesimista...
Ubicacin del cursor.
Cliente o servidor.
Agregar el DataReport.

Para agregar un DataReport seleccionar la opcin


Agregar Data Report del men Proyecto.

Aquel que haya trabajado con Seagate Cristal


Reports o con informes de Access encontrar gran
parecido con el objeto DataReport de Visual Basic.
Un objeto DataReport es, bsicamente, un entorno
que simula una pgina impresa. Esa pgina se
encuentra dividida en :
Cabecera y pie de informe.
Cabecera y pie de pgina
Los diferentes Grupos que podamos
incluir.
La seccin de Detalles.
En todas estas secciones podemos incluir :
Cuadros de texto, (que adquiriran el
valor del campo de la base de datos para cada
registro de esta).
Etiquetas, (titulos y otras informaciones
fijas).
Lineas.
Grficos.
Etc.

Recuerdese que tambin es posible que, desde el


entorno DataEnvironment, seleccionar el grupo de
datos y arrastrarlo directamente al informe. Con ello
logramos incluir todos los objetos que conforman el
informe en un solo clic.
Una vez cumplimentado el informe con los objetos
descritos aqu el informe puede ser llamado con :
NombreInforme.Show
O impreso con : NombreInforme.PrintReport
O exportado a un archivo con :
NombreInforme.ExportReport.
Limitaciones de DataReport.
Una limitacin muy importante y que se hecha
en falta a la hora de hacer ciertos informes, es
que no es posible aadir grficos estadsticos
al informe.
Otras consideraciones
En el cdigo del proyecto de ejemplo tambin puede
encontrarse informaciones sobre :
Uso del control MSHFlexGrid para mostrar datos
de una base de datos. (Formulario del Visor de datos).
Atencin a las propiedades DataSource,
DataMember y al objeto Band dependiente.
Movimiento entre los datos utilizando el entorno
proporcionado por DataEnvironment, (Formulario del
Visor de datos).
Operaciones con Move.
Ejemplo de gestin de los datos utilizando el
entorno proporcionado por DataEnvironment, (Formulario
de Modificar datos).
El cdigo
Cdigo del formulario PRINCIPAL.FRM
Formulario principal.
'
'
'
'
'
'
'
'
'
'

***************************************************
** Ejemplo de uso de los objetos :
**
**
- DataReport
**
**
- DataEnvironment
**
***************************************************
** Julio del 2.000
**
** Jose Luis Monte Galiano, (MoGa)
**
**
** Acervo Visual Basic, (http://go.to/acervo)
** e-mail : moga@facilmobel.es
**
***************************************************

Option Explicit
' Ejecutar el cambio de tienda de todos los recibos.
Private Sub EjecutarCambio_Click()
If Val(TiendaDestino.Text) > 0 And Val(TiendaOrigen.Text) > 0 Then
' Ejecuta la actualizacin.

Base.Base.Execute "UPDATE Recibos SET TiendaPedidoCod = " +


TiendaDestino.Text + " WHERE TiendaPedidoCod = " + TiendaOrigen.Text
' Actualiza la conexin de datos.
Base.rsAgrupDatos.Requery
MsgBox "Ok"
End If
End Sub
' Carga del formulario.
Private Sub Form_Load()
' Relocaliza y abre la base de datos.
Base.Base.ConnectionString = "Provider=MSDataShape.1;Persist Security
Info=False;Data Source=" + App.Path + "\Prueba.mdb;Data
Provider=MICROSOFT.JET.OLEDB.4.0"
Base.AgrupDatos
End Sub
' Activar Listado.
Private Sub Listado_Click()
Dim Filtro As String ' Filtro de datos.
If Len(Tienda.Text) > 0 Then ' Si se especifica una tienda.
' Se activa el filtro.
Filtro = Trim$(Str$(Val(Tienda.Text)))
Base.rsAgrupDatos.Filter = "CodTienda=" + Filtro
Else ' Todas las tiendas.
' Se desactiva el filtro.
Base.rsAgrupDatos.Filter = ""
End If
' Se muestra el informe.
Reporte.Show
End Sub
' Modificar datos.
Private Sub Modificar_Click()
frmModif.Show 1
End Sub
' Salir.
Private Sub Salir_Click()
End
End Sub
' Visor de datos.
Private Sub VerDatos_Click()
frmVerDatos.Show 1
End Sub

Cdigo del formulario FRMVERDATOS.FRM


Formulario visor de datos.
'
'
'
'
'
'
'
'
'
'

***************************************************
** Ejemplo de uso de los objetos :
**
**
- DataReport
**
**
- DataEnvironment
**
***************************************************
** Julio del 2.000
**
** Jose Luis Monte Galiano, (MoGa)
**
** Acervo Visual Basic, (http://go.to/acervo)
**
** e-mail : moga@facilmobel.es
**
***************************************************

Option Explicit
' Registro anterior.
Private Sub Anterior_Click()
' Mueve el puntero.
Base.rsAgrupDatos.MovePrevious
' Si llega al principio de la seleccin.
If Base.rsAgrupDatos.BOF Then

' Mueve al primer registro.


Base.rsAgrupDatos.MoveFirst
End If
End Sub
' Registro siguiente.
Private Sub Siguiente_Click()
' Mueve el puntero.
Base.rsAgrupDatos.MoveNext
' Si llega al final de la seleccin.
If Base.rsAgrupDatos.EOF Then
' Mueve al ltimo registro.
Base.rsAgrupDatos.MoveLast
End If
End Sub
' Activacin del formulario.
Private Sub Form_Activate()
' Columna de nombre mas ancha.
MSHFlexGrid1.ColWidth(2) = 3000
End Sub
' Cerrar el formulario.
Private Sub Salir_Click()
Unload Me
End Sub

Cdigo del formulario FRMMODIF.FRM


Formulario Modificacin de datos.
'
'
'
'
'
'
'
'
'
'

***************************************************
** Ejemplo de uso de los objetos :
**
**
- DataReport
**
**
- DataEnvironment
**
***************************************************
** Julio del 2.000
**
** Jose Luis Monte Galiano, (MoGa)
**
** Acervo Visual Basic, (http://go.to/acervo)
**
** e-mail : moga@facilmobel.es
**
***************************************************

' Registro anterior.


Private Sub Anterior_Click()
Base.rsDatosRecibos.MovePrevious
End Sub
' Cerrar el formulario.
Private Sub Salir_Click()
Unload Me
End Sub
' Registro siguiente.
Private Sub Siguiente_Click()
Base.rsDatosRecibos.MoveNext
End Sub

You might also like