Curso de Visual Basic 6.0
Curso de Visual Basic 6.0
Barra de menú
Barra de Herramientas
Explorador
de Proyectos
Ventana de
Cuadro de
Propiedades
herramientas
Ventana de
Posición de
formulario
Eventos: Son las acciones que se producen y que nos interesan identificar para
establecer algún tipo de respuesta por parte del objeto.
Ejemplo de eventos:
- Hacer clic sobre el objeto
- Al Cargar el objeto
- Al Cerrar el objeto
Es convencional usar un prefijo de tres letras minúsculas cuando se nombran los objetos
significativos, de esta forma podrá reconocer a que objeto se refiere en el código del
programa por cmdOK o frmPrincipal que utilizando command7 o form3.
Variables y Constantes
Declaraciones de variables
Sintaxis:
Dim “nombre” as “tipo de variable”
Ejemplo:
Dim ciudad as string
Declaración Explícita
En Visual Basic no es necesario declarar una variable antes de utilizarla. Sin embargo,
esta forma de trabajar puede ser una fuente de errores.
Ejemplo:
Dim M As Integer, N As Integer
VarTEmp = M + N
N = VaTemp
En este ejemplo, VarTEmp no se ha declarado explícitamente. Esto no supone un Error,
ya que Visual Basic se encarga de crear dicha variable. Ahora observe que, por error, el
nombre de esa variable se ha escrito mal en la última sentencia. Cando Visual Basic
encuentra un nuevo nombre no puede determinar si es debido a un error o a la
definición de una nueva variable.
Para evitar este tipo de errores, podemos indicar a Visual Basic que genere un mensaje
de error siempre que encuentre una variable no declarada explícitamente. Para ello,
escribiremos la sentencia siguiente en la sección de Declaraciones del formulario, del
módulo o de la clase:
Option Explicit
Esta sentencia opera sólo en el formulario o en el módulo donde se haya puesto. Para
tener esa opción activa para todo el código de una aplicación, ejecute la orden Opciones
del menú Herramientas, elija el dialogo Entorno y Seleccione la opción Declaración de
Variables Requerida. Seleccionada esta opción agrega la sentencia Option Explicit en
cualquier nuevo modulo que creemos.
El alcance de las variables se refiere al área del programa en las cuales es visible
la variable; es decir en áreas del proyecto tendremos disponible las variables.
Ejemplo
Public NoFactura as long
Ejemplo
Dim NoFactura as long
Con esta forma de declarar variables conseguiremos que las variables locales no se
creen y se destruyan al entrar y salir de los procedimientos donde fueron declaradas
sino que se mantenga su valor durante todo el periodo de ejecución de la aplicación.
De esta forma a entrar en algún procedimiento las variables recuerdan el valor que
tenían cuando se salió de él.
Ejemplo
Static Nombre
Alcance Declaración
A nivel del módulo, no hay diferencias entre Dim y private, pero se aconseja utilizar
private en contraste con Public
Matrices
Constantes
Como su palabra lo dice es Información que no varía hace más fácil la comprensión del
código y permite modificar un valor en un solo lugar no ocupa espacio extra, Ejemplo:
Conversiones
Visual Basic nos proporciona varias funciones de conversión de datos, las cuales nos
permiten convertir el valor de una variable al tipo de variable correcto. Esto es
importante cuando trabajamos con datos Variant y queremos convertirlo a otro tipo
de variable más exacta o para realizar validaciones en los datos.
La Función Inputbox()
Sintaxis:
Valor = inputbox (Mensaje,Titulo,omisión,10,10,ArchAyuda,Context)
Ejemplo:
Valor = inputbox(“Mensaje”, “Prueba”, , 10,10)
Parámetros:
Mensaje : Mensaje del cuadro de texto
Titulo : Titulo del cuadro de texto
Omisión : Texto por omisión (default)
posx, posy : Posición donde deberá aparecer el cuadro de texto
ArchAyuda : Cuando se utiliza archivo de ayuda
Context : Índice del archivo de ayuda
Sintaxis
Resp = MsgBox(Mensaje, Tipo, Título, ArchAyuda, Contexto)
Parámetros:
Mensaje : Mensaje ha desplegar en pantalla
Tipo : Tipo de Botón (Error, Información, Pregunta) + Tipo de Opciones (OK,
No, Cancel, Retry)
Titulo : Titulo del Cuadro de Mensajes
ArchAyuda : Archivo de Ayuda
Context : Indice de Ayuda
Estructuras de Ramificación
If...Else...EndIf
Ejemplo:
If ElseIf EndIf
Este fragmento de código toma una decisión basada en tres valores mutuamente
excluyentes, VbYes, VbNo y VbCancel, para la variable Resp.
IIf
Esta función requiere tres argumentos, la condición para verificar, que devolver si la
condición es cierta y que devolver si es falsa.
Sintaxis
While condicion
[instrucciones]
Wend
While i < 15
Print i
i = i + 1
Wend
La estructura Do....Loop proporciona una forma más adecuada y flexible para
ejecutar ciclos. Esta repite un bloque de código mientras una condición es True o a
partir de que la condición llegue a ser True.
Do Until rsClientes.EOF
Print rdClientes(“Nombre”)
RsClientes.movenext
Loop
Do
If (i = 10) Then
MsgBox "llego 10"
Exit Do
Else
Print i
End If
i = i + 1
Loop Until i > 20
For I = 0 to 10
Print I
Next I
Procedimiento
Los Procedimientos de declaran con la palabra reservada Sub seguido de el nombre del
procedimiento con sus parámetros respectivos.
Ejemplo
Sub CentrarForma(F as form)
F.left = (screen.width – F.width)/2
F.Top = (screen.height – F.height)/2
End Sub
Para Hacer el llamado del procedimiento, se debe hacer usando la palabra reservada
Call y luego el nombre del procedimiento.
Ejemplo
Call CentrarForma(frmFicha)
Funciones
Ejemplo:
End Function
Llamado de la función:
Z = Calcular( x , y )
CommandButton
Utilice un control CommandButon para comenzar, interrumpir o terminar un proceso.
Cuando está activado, un CommandButon aparece presionado y a veces se denomina
boton de comando.
Label
Un control Label es un control gráfico que permite mostrar un texto que un usuario no
puede modificar directamente. Tambien conocido como etiqueta, este control se utiliza
para mostrar textos e instrucciones en las formas.
Line
Es un control gráfico que se muestra como una línea horizontal, vertical o diagonal.
Puede usar este control para dibujar líneas en formularios.
Shape
Shape, es un control gráfico que se muestra como rectángulo, un cuadrado, una elipse,
un círculo, un rectángulo redondeado o un cuadro redondeado. Utilice controles Shape
en tiempo de diseño para el diseño de formularios en lugar de los métodos Circle y
Line.
Picture
El objeto Picture le ofrece una forma de manipular mapa de bits, iconos, metarchivo
mejorados e imágenes GIF y JPEJ asignados a objetos que tengan la propiedad Picture.
CheckBox
Un control CheckBox muestra una cuando está activado. El carácter desaparece
cuadno el control se desactiva. Utilice este control para ofrecer al usuario una opción de
tipo verdadero o falso, o Sí o No. Puede usar controles CheckBox en grupos para
mostrar múltiples opciones entre las cuales el usuario pueda seleccionar una o más.
OptionButton
Un control OptionButton muestra una opción que se puede activar o desactivar.
Frame
Un control Frame proporciona un agrupamiento identificable para controles. También
puede usar un control Frame para subdividir un formulario funcionalmente; por ejemplo,
para separar grupos de controles OptionButton.
Timer
Un control Timer puede ejecutar código a intervalos periódicos produciendo un evento
Timer.
El control Timer, invisible para el usuario, resulta útil para el procesamiento de fondo. No
existe ningún limite práctico en cuanto al número de controles Timer activos que puede
tener Visual Basic ejecutándose.
DTPicker
Utilice el control DTPicker para proporcionar un campo fecha con formato que facilite la
selección de fecha. Además, los usuarios pueden seleccionar una fecha a partir de una
interfaz de calendario desplegable similar a la del control MonthView.
Muchas aplicaciones Windows son programas MDI. Excel, por ejemplo, puede
desplegar muchas hojas de calculo dentro de su misma ventana principal, todas sobre la
misma base, por así decirlo. Específicamente, un formulario MDI es una ventana que
actúa como la base de una aplicación y es el contenedor de otros formularios que tienen
la propiedad MDI Child establecida como True.
Usted crea un formulario MDI (padre) mediante la selección de MDI Form del
menú Project . Una aplicación sólo puede tener un formulario padre. Los formularios
MDI, sólo pueden contener objetos del menú, cuadros de dibujo, barras de
herramientas, barras de estado etc.
Creación de Menús
Editor de Menu:
Así se mostrará el menú al momento de
ejecutarlo
Use los botones de esquema (flechas izquierda, derecha, arriba, abajo) para
ajustar los niveles (la jerarquía) de los submenú.
Barras de Herramientas
Se utilizan barras de herramientas (ToolBar), para proporcionar al usuario un
acceso rápido a las opciones más importante de nuestro sistema, así como para
mostrarle un ambiente gráfico familiar al de todas las aplicaciones Windows.
Lista de Imágenes
Control ImageList
Para Crear una barra de herramientas con iconos gráficos, primeramente se debe
utilizar el control ImageList, el cual tendrá el arreglo de imágenes que se utilizarán asi
como las propiedades de los gráficos.
Entre las opciones que se deberá fijar están el tamaño de los gráficos, así como
indicar la ruta donde se encuentran ubicados los archivos gráficos y finalmente
nombrarlos y ponerles un número de índice con el cual los identificaremos en el control
ToolBar.
Dir1.Path = Drive1.Drive
File1.Path = Dir1.Path
Ejemplo:
Manejador de Errores
Hay errores de diferentes tipos: errores de sintaxis, los que ocurren cuando se
teclea un mal comando o falta un argumento; los errores en tiempo de ejecución, que
son causados por circunstancias fuera de control del programa, que no se previeron en
tiempo de diseño; y los errores lógicos, que provocan que su programa produzca
resultados incorrectos o inesperados.
Visual Basic manipula el primer tipo de error, los de sintaxis, detectando los
problemas de sintaxis cuando se escribe el código del programa. Los otros dos tipos de
errores, deben ser corregidos por usted. El manejo de errores en tiempo de ejecución es
el que aprenderemos a manejar a continuación, para evitar la interrupción del programa
en tiempo de ejecución.
Esta es la sintaxis:
On Error GoTo “procedimiento”
Ejemplo:
Exit Sub
Manejo:
MsgBox “Ha ocurrido un error”
Resume
End Sub
La instrucción Resume le permite volver a intentar la operación que causo el error. Esto
puede ser o no lo que usted desea, dependiendo de la naturaleza del error. De hecho, si
el error fue debido a algo en el que el usuario no puede hacer nada, Resume causará un
ciclo infinito.
La instrucción Resume también puede usarse para devolver el control a la instrucción
que sigue inmediatamente a la que provocó el error (Resume Next), o para pasar a otra
línea o procedimiento dentro del mismo procedimiento principal.
Msgbox “Ha ocurrido el error No” & Err.Number & “ – “ & Err.Descripción
El manejo de errores proporciona una forma de que su programa tenga trato con los
procesos fallidos, de lo contrario la aplicación se cerrará completamente. Para practicar
el manejador de errores, se puede aplicar al ejemplo de los DriveListBox al error que
ocurre cuando se selecciona una unidad no válida.
Bases de Datos
El Control de Datos (Data) es un control integrado para conectar una aplicación Visual
Basic con una fuente de datos que se selecciona. Los controles de datos proporcionan
una forma visual y fácil para navegar por los campos, registros y tablas de una o más
Bases de Datos. También se usan para enlazar algunos controles, como cuadros de
texto, etiquetas, cuadros de dibujo, etc. con los campos de tablas que se seleccionan en
su base de datos. Una vez que un control, como un cuadro de texto, está asociado a un
campo en particular, cualquier cambio en el contenido del cuadro de texto se registra
automáticamente en el campo asociado. En pocas palabras, los controles de datos
asociados permitirán que se creen aplicaciones de acceso de datos que requieran muy
poca o ninguna codificación.
Data
DBCombo
Se usa para crear una combinación asociada de cuadro de lista y cuadro de texto
o una simple lista desplegable. La lista puede llenarse automáticamente desde un
Control Data.
DBGrid
El Control Data tiene muchas propiedades, ocho de las cuales se listan en resumen
aquí:
Align Devuelve o pone un valor entero (0-4) que determina si el control
Data se despliega en cualquier tamaño y parte del formulario (0), o
si se despliega en la parte superior, inferior, izquierda o derecha de
la forma (1-4) y que se dimensiona automáticamente para adaptarse
a la anchura del formulario.
Name dtaAutores
Align 2 – Align Bottom
DataBaseName Ruta
RecordSource Authors
Para poder utilizar un DBCombo, se requiere que se haya agregado un control Data a la
forma.
Ejemplo
Name dtaAutores
Caption Autores
DatabaseName Ruta
ReadOnly Yes
Align 2 – Align Bottom
RecordSource Authors
Name dbcAutores
Caption
DataSource dtaAutores
RowSource dtaAutores
ListField Author
4. Configure el Proyecto para que inicie con esta forma
5. Ejecute el Proyecto
Como podrá ver le aparece el listado de todos los autores, y de igual forma, no
fue necesario escribir código alguno.
Uso del DBGrid
Ejemplo :
Name dtaAutores
Caption Autores
DatabaseName Ruta
ReadOnly Yes
Align 2 – Align Bottom
RecordSource Authors
Name dbgAutores
Caption Consulta de Autores
DataSource dtaAutores
4. Configure el Proyecto para que inicie con este formulario
5. Ejecute el Proyecto.
Un objeto Database es una representación lógica de una base de datos física que
puede asignarse a una variable de tipo Database y ser manejada por ésta.
Una vez que añade un control Data válido a sus aplicaciones, ya está trabajando con un
objeto Database. Un Control Data tiene una propiedad Database (que no es la misma
que la propiedad DatabaseName) y contiene una referencia al objeto Database
asociado con el control actual.
Usted puede declarar variables de tipo Database en sus programas y ponerlas iguales a
la propiedad Database de un Control Data en particular, o puede asignarles valores
mediante el uso del método OpenDatabase(), que se trata a continuación.
El método OpenDatabase() abre una base de datos específica y regresa una referencia
al objeto Database que la representa. La programación con objetos de acceso a datos
consiste en la creación de variables objetos y su manipulación consiste en llamar a sus
métodos y establecer sus propiedades.
Aquí, dbVariables es una variable del tipo de datos del objeto Database que representa
la Base de datos que se abre. El argumento dbName es una expresión de cadena, el
nombre de un archivo de base de datos existente. Si el nombre de archivo de la base de
datos tiene una extensión, debe incluirla. Si su red lo permite, puede también especificar
una ruta de red totalmente calificada, como \\SERVIDOR\\DIR\\BD.MDB. Si dbName no
se refiere a una base de datos existente, o si se refiere a una base de datos que ya está
abierta para acceso exclusivo por otro usuario, ocurre un error.
También deberá observar el uso de un objeto de tipo Workspace . Este se utiliza para
transmitir transacciones simultáneas, de tal suerte que actúa como un contenedor para
bases de datos abiertas e identifica un contexto de seguridad para las operaciones en la
base de datos. Si Usted quiere abrir su base de datos desde el código en lugar de
hacerlo con un control Data, este es un fragmento de código que lo haría:
Una vez que obtiene una variable Database válida, puede usarla para ejecutar los
métodos Database, como Execute, que ejecuta una instrucción SQL sobre la base de
datos que se especifica, u OpenRecordset, que crea un nuevo objeto Recordset. Por
ejemplo, podría obtener acceso a su tabla si añade las siguientes líneas al código
anterior:
Todos los objetos Recordset se contruyen mediante el uso de los registros (filas ) y los
campos (columnas) de tablas de bases de datos existentes. Existen tres tipo de objetos
Recordset:
Tipo Tabla Es una representación de una tabla base que puede usar
para añadir, cambiar o borrar registros de una sola tabla
sencilla de base de datos.
El argumento Tipo es opcional y se usa para indicar uno de los tres tipos de Recordset.
Si se omite el tipo, Visual Basic ( por medio de la máquina de base de datos Microsoft
Jet ) trata de crear un Recordset tipo tabla. Si esto no es posible, se crea un Recordset
tipo dynaset o tipo snapshot.
Una vez que establece una variable Recordset puede usar los métodos MoveNext,
MovePrevious, MoveFirst y MoveLast para navegar por los registros. Para los
Recordset tipo dynaset y snapshot, puede usar también los métodos Find, como
FindFirst, para localizar un registro específico en base a un criterio.
Una instrucción SQL es una expresión de cadena que empieza con un comando de
lenguaje de consulta estructurado, como SELECT, UPDATE o DELETE y puede incluir
cláusulas de filtro y ordenamiento como WHERE y ORDER BY. Las instrucciones SQL,
SELECT Code, Contact, Pone FROM Contacts WHERE State = ‘NY’ ORDER BY Code
Si desea quitar todos los contactos de California de su tabla Contacts, use la siguiente
consulta de acción:
Si usa una consulta SQL para recuperar datos, el motor de base de datos de Visual
Basic crea un Recordset tipo dynaset o tipo snapshot, y nunca uno tipo tabla. Una vez
que se contruye el Recordset, puede refinarlo mediante el uso de uno de los métodos
Find, o poner un ciclo para avanzar paso a paso por los registros de uno en uno. Hay
varias formas de ejecutar consultas SQL, que se resumen a continuación:
1. Diseñe la consulta SQL para que devuelva solamente los registros que Usted
desee.
2. Teclee la instrucción SQL de la consulta en la propiedad RecordSource del
control Data. Puede hacer esto en tiempo de diseño o de ejecución. Por
ejemplo, en tiempo de ejecución puede usar este código:
dtaQuery.Refresh
Si necesita ejecutar una consulta de acción para efectuar una operación que no
devuelva registros, como cuando inserta, borra o actualiza registros, puede usar la
instrucción SQL como un argumento en el método Execute. El método Execute puede
usarse con un Control Data o con un objeto Database abierto, siempre y cuando la
consulta no devuelva registros. Por ejemplo, para borrar registros de una tabla que
satisfagan criterios específicos, puede usar el siguiente código:
Con el Diseñador de entorno de datos puede llevar a cabo las tareas siguientes:
1. En la ficha Nuevo del cuadro de diálogo Nuevo proyecto, elija proyecto EXE
estándar y, a continuación, haga clic en Abrir.
Para tener acceso a los datos mediante el entorno de datos, debe crear un objeto
Connection. Por tanto, cada entorno de datos debería incluir al menos un objeto
Connection. Un objeto Connection representa una conexión a una base de datos
remota que se utiliza como un origen de datos.
7. Haga clic en Aceptar para aplicar las propiedades y cerrar el cuadro de diálogo
Propiedades de Connection.
Los objetos Command definen información de detalle específica acerca de cómo deben
recuperarse los datos mediante una conexión basada en datos. Es posible basar los
objetos Command en un objeto de base de datos (como una tabla, una vista, un
procedimiento almacenado o un sinónimo) o en una consulta SQL (Structured Query
Language). Asimismo, puede crear relaciones entre objetos Command para obtener un
conjunto de datos relacionados en forma de jerarquía.
Nota Para que un objeto Command sea válido, debe estar asociado con un objeto
Connection.
1. Haga clic con el botón secundario del mouse en el objeto Connection y elija
Propiedades para tener acceso al cuadro de diálogo Propiedades de
Command.
Elemento Propósito
Cambie el valor predeterminado de Nombre de comando por
Nombre de un nombre más descriptivo del objeto de base de datos. Por
comando ejemplo, podría modificar el título Command1 por "Clientes" si el
objeto Command se basa en una tabla llamada "Clientes".
Si creó el objeto Command a partir del menú contextual del
objeto Connection, se establece automáticamente el nombre
del objeto Connection. No obstante, es posible cambiar esta
Conexión
conexión.
Nota Para que sea válido, cada objeto Command debe estar
asociado con un objeto Connection.
Objeto de base de Seleccione el tipo de base de datos en la lista desplegable.
Puede tratarse de un procedimiento almacenado, un sinónimo,
datos
una tabla o una vista.
Seleccione un nombre de objeto en la lista desplegable. Los
Nombre del objeto objetos mostrados provienen de la conexión y coinciden con el
tipo del Objeto de base de datos seleccionado.
O bien
Si selecciona esta opción como el origen de datos, escriba una
consulta SQL válida para la base de datos en el cuadro
Instrucción SQL.
Instrucción SQL
O bien,
Para generar la consulta, haga clic en SQL Builder para iniciar
el diseñador de consultas.
5. Haga clic en Aceptar para aplicar las propiedades al nuevo objeto Command y
cerrar el cuadro de diálogo.
Si se creó correctamente el objeto Command de devolución de conjunto de
registros y la opción Mostrar campos está activada en el cuadro de diálogo
Opciones, puede hacer clic en el mecanismo de expansión (+) bitmap de la vista
esquema del diseñador de entorno de datos para mostrar una lista de campos. Si
no se ven campos, puede deberse a un objeto Recordset vacío, un objeto
Command no válido o una conexión no válida.
1. Haga clic con el botón secundario del mouse en el objeto Command que desee
personalizar y, a continuación, seleccione Propiedades en el menú emergente.
Elemento Propósito
Proporcione un nombre único y descriptivo para el objeto
Name
Parameter seleccionado.
Especifique si se trata de un parámetro de entrada o de salida,
Direction o ambos a la vez, o si el parámetro corresponde al valor
devuelto por el procedimiento.
Especifique el tipo de datos al que se convierte el objeto
DataType
Parameter.
Precision Especifique la precisión o número máximo de dígitos.
Scale Especifique el tamaño máximo, en bytes.
Size Especifique el tamaño máximo en bytes.
Especifica el tipo de datos utilizado cuando la aplicación host
hace referencia a este objeto Parameter. Cambiar este valor
Host Data Type
afecta al tipo de datos utilizado para generar la información de
la biblioteca de tipos correspondiente al host.
Especifica si se requiere un valor del parámetro cuando se
ejecuta el objeto Command.
Required Nota Si un parámetro requerido no está establecido
cuando se ejecuta el objeto Command, el comando
fallará.
Especifica el valor predeterminado que debe usarse en tiempo
de ejecución (a menos que se proporcione un valor por
Value programa) y, si corresponde, en tiempo de diseño si el objeto
Command debe ejecutarse para obtener la información del
campo.
1. Haga clic en Aceptar para aplicar las propiedades del parámetro al objeto
Command seleccionado y salir del cuadro de diálogo.
DataReport (Objeto)
DataReport
Comentarios
El objeto DataReport permite generar informes a partir de los registros de una base de
datos. Para usarlo:
Detalles: contiene la parte "repetida" más interior (los registros) del informe. La
sección Detalles está asociada al objeto Command de nivel inferior en una
jerarquía de entorno de datos.
Pie de informe: contiene el texto que aparece al final del informe, por ejemplo un
resumen o una dirección o nombre de contacto. El pie de informe aparece entre
el último encabezado de página y el último pie de página.
Control Label (RptLabel): permite colocar etiquetas para identificar los campos o
las secciones del informe.
Posibles usos
Crear automáticamente informes que se exportan en formato HTML para su
distribución instantánea a través de Internet.
Crear informes diarios con las sumas de transacciones efectuadas cada día.
3. Vista preliminar. El método Show permite mostrar una vista preliminar del
informe. El informe de datos se genera y se muestra en su propia ventana.
Nota Es necesario tener una impresora instalada en el equipo para poder usar el
modo de vista preliminar.
Este tema muestra cómo puede crear un informe de datos sencillo mediante un
Diseñador de entorno de datos utilizado como un origen de datos. El Diseñador de
entorno de datos emplea la base de datos NorthWind incluida con Visual Basic para
crear un sencillo cursor jerárquico. El cursor contiene dos tablas, Clientes y Pedidos, y
ambas están vinculadas mediante el campo IdCliente. El informe terminado es similar a
la siguiente figura.
En el cuadro de diálogo Data Link Properties, haga clic en Microsoft Jet 3.51
OLE DB Provider. Esta selección del corrige el proveedor OLE DB para tener
acceso a la base de datos Jet.
Haga clic en el botón Examinar (…) que se encuentra junto al primer cuadro de
texto.
Propiedad Valor
Nombre de comando Clientes
Conexión Northwind
Objeto de base de datos Table
Nombre de objeto Clientes
2. Haga clic con el botón secundario del mouse (ratón) en el comando Clientes y
haga clic en Agregar comando secundario para mostrar el cuadro de diálogo
Command2. En el cuadro de diálogo, establezca las propiedades como se indica
a continuación:
Propiedad Valor
Nombre de comando Pedidos
Conexión Northwind
Objeto de base de datos Table
Nombre de objeto Pedidos
Haga clic en Agregar. Haga clic en Aceptar para cerrar el cuadro de diálogo.
Establezca las propiedades del proyecto y del diseñador según los valores
indicados a continuación y, después, guarde el proyecto:
Propiedad Valor
Name rptNwind
Caption Informe de datos Northwind
4. Haga clic con el botón secundario del mouse (ratón) en el Diseñador de informe
de datos y en Obtener estructura.
Acaba de agregar una nueva sección de grupo al diseñador. Cada sección de
grupo posee una correspondencia unívoca con un objeto Command en el
entorno de datos; en este caso, la nueva sección de grupo corresponde al objeto
Command denominado Clientes. Observe también que al encabezado de grupo
corresponde una sección Pie de grupo.
8. Cambie el tamaño de las secciones del Diseñador de informe de datos para que
sea similar a la figura siguiente:
Es importante que cambie el alto de la sección Detalles de pedidos para que sea
lo más corta posible, ya que el alto se multiplicará por cada uno de los objetos
FechaPedido devueltos por NombreCompañía. Cualquier espacio innecesario por
encima o por debajo del cuadro de texto FechaPedido aumentará la cantidad de
espacio sin usar en el informe final.
3. Guarde el proyecto.
Vista preliminar del informe de datos con el método 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
código para mostrar el informe de datos.
Propiedad Valor
Name cmdShow
Caption Mostrar informe
Ahora que dispone de un informe de datos sencillo, es fácil extenderlo y crear una
presentación más 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 específica y es similar a
la figura siguiente.
7. Haga clic con el botón secundario del mouse (ratón) en el objeto Command
DetallesPedidos y haga clic en Agregar comando secundario. Establezca las
propiedades de la conexión como se indica a continuación:
Propiedad Valor
Nombre de comando Productos
Conexión Northwind
Objeto de base de datos Table
Nombre de objeto Productos
9. Haga clic con el botón secundario del mouse (ratón) en el diseñador Informe de
datos y desactive el cuadro Mostrar Encabezado o pie de página.
Al desactivar esta opción, se eliminan el encabezado y el pie de página, que no
se utilizan por ahora.
10. Haga clic con el botón secundario del mouse (ratón) en el Diseñador de informe
de datos y haga clic en Insertar encabezado o pie de grupo. Aparecerá el
cuadro de diálogo Insertar nuevo encabezado o pie de grupo.
El cuadro de diálogo 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
más al exterior tiene precedencia sobre las demás. Este aspecto se trata con más
detalle en "Partes del informe de datos".
13. 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.
Por último, la sección Detalles sólo contiene los nombres de los productos. La
sección Detalles contiene el nivel más interior de los registros repetidos.
Usar una instrucción SQL en el objeto Command del entorno de datos para
crear el campo calculado.
Elimine los dos controles Label, cambie los valores de la propiedad Caption
de los restantes controles Label a * y organice los controles de forma que
Si utilizó una instrucción SQL para crear un campo calculado (en el tema anterior,
"Agregar un campo calculado al informe de datos"), puede que se pregunte por qué no
se puede usar un control Function para calcular el valor de Cantidad * PrecioUnidad. En
pocas palabras, el control Function sólo puede calcular los valores cuando los demás
registros de una sección de grupo ya se han procesado. En cambio, una instrucción
SQL calcula los valores como parte de los campos de un registro al mismo tiempo que
se procesan.
Siga estos pasos para agregar un control Function al Diseñador de informe de datos:
1. Haga clic con el puntero del mouse en el pie de grupo denominado Cliente_Pie y
arrástrelo a la parte inferior de la ventana para dejar un espacio entre él y el pie
de página Pedidos_Pie.
Propiedad Valor
DataMember DetallesPedidos
DataField Total
Name fncTotal
Alignment 1 – rptJustifyRight
DataFormat Currency
La propiedad FunctionType del control determina qué operación se realizará con los
datos encontrados en la propiedad DataField. De forma predeterminada, la propiedad
tiene el valor 0-RptFuncSum, para indicar la suma de los datos. Otras funciones
incluyen: Average, Minimum, Maximum, Row Count, STDDev (Desviación estándar) y
Value Count.
5. Dibuje un control Line por encima del cuadro de texto Cantidad y un control
Label a la izquierda del cuadro de texto. Establezca la propiedad Caption de la
etiqueta con el valor Total.
Archivo Ejecutable
Una vez que su proyecto este terminado, el primer paso para crear un archivo de
programa ejecutable es seleccionar Make EXE. Para abrir el cuadro de dialogo EXE
Options, haga clic en el botón Options. En este cuadro de dialogo, se establecen
atributos e información documental del archivo ejecutable:
Titulo del
proyecto
Número de
Versión
Icono de la
aplicación
Información del
ejecutable
El Asistente para crear instaladores, es una herramienta que se usa para crear un
programa de instalación y los medios de distribición (para discos flexibles o instaladores
de red) de su aplicación de Visual Basic.
La primera vez que se ejecuta el asistente para instalar aplicaciones le pide a usted la
ubicación de archivos importantes que se requieren para que se ejecute correctamente.