Está en la página 1de 61

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE

“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

MICROSOFT VISUAL FOXPRO

NIVEL II

PROGRAMACIÓN DE
APLICACIONES DE ESCRITORIO

© CARLOS CASTILLO PERALTA
c.c.peralta@hotmail.com
www.ccperalta.com

Elaborado por Carlos Castillo Peralta Pág. 1

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE
“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

Licencia

Esta obra está bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Perú de
Creative Commons. Para ver una copia de esta licencia, visite la dirección electrónica
http://creativecommons.org/licenses/by-nc-sa/2.5/pe/ o envíe una carta a Creative Commons, 171 Second Street,
Suite 300, San Francisco, California 94105, USA.

Usted es libre de:

ƒ Copiar, distribuir y comunicar públicamente la obra
ƒ Hacer obras derivadas

Bajos las condiciones siguientes:

ƒ Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o
licenciante.

ƒ No comercial. No puede utilizar esta obra para fines comerciales.

ƒ Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo
puede distribuir la obra generada bajo una licencia idéntica a ésta.

ƒ Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
ƒ Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor
ƒ Nada en esta licencia menoscaba o restringe los derechos morales del autor.

Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley no se ven afectados por
lo anterior.

Esto es un resumen fácilmente legible del texto legal (la licencia completa), que se puede ver en la dirección
http://creativecommons.org/licenses/by-nc-sa/2.5/pe/legalcode.

Elaborado por Carlos Castillo Peralta Pág. 2

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE
“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

Microsoft Visual FoxPro
GUÍA DE LABORATORIO Nº 6

Objetivos
Luego de completar este laboratorio, el estudiante será
capaz de:

• Implementar archivos de base de datos.
• Crear y manipular tablas libres y dependientes.
• Indexar los campos de una tabla.
• Establecer relaciones permanentes entre tablas.
• Crear formularios con datos enlazados.

Consideraciones
Para el desarrollo del presente laboratorio Ud. deberá
crear una carpeta C:\FundVFP\Lab6, para guardar sus trabajos
correspondientes a este laboratorio.

Descripción del sistema a usar
Para desarrollar nuestras práctica de laboratorio
simularemos un escenario de trabajo. Se trata de un caso
bastante conocido, vamos a llevar el control de ventas de una
farmacia, la cual está en proceso de expansión. En un futuro se
pretende aperturar sucursales tanto en la capital como en
provincias.

Toda la información referida a ventas de nuestra farmacia
se encuentra almacenada en una base de datos cuyo nombre es
Farmacia.DBC la cual contiene las tablas Cliente.DBF,
Factura.DBF, Detalle.DBF, Articulo.DBF, Vendedor.DBF,
Distrito.DBF y Parametro.DBF.

Elaborado por Carlos Castillo Peralta Pág. 3

vistas. Cliente Nombre del Campo Tipo Ancho Descripción IdCliente C 4 Código del cliente Apellidos C 30 Apellidos del cliente Nombres C 20 Nombres del cliente Direccion C 30 Dirección del cliente IdDistrito C 3 Código postal del distrito Telefono C 7 Teléfono del cliente RUC C 8 RUC del cliente Observacion M 4 Observaciones acerca del cliente Factura Nombre del Campo Tipo Ancho Descripción IdFactura C 6 Número de la factura Fecha F 8 Fecha de emisión IdCliente C 4 Código del cliente IdVendedor C 4 Código del vendedor Detalle Nombre del Campo Tipo Ancho Descripción IdFactura C 6 Número de la factura IdArticulo C 4 Código del artículo Cantidad N 5 Cantidad Precio N 7 2 Precio unitario Elaborado por Carlos Castillo Peralta Pág. 4 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA El objetivo final es desarrollar una aplicación completa que permita integrar las diversas tablas mediante relaciones. A continuación se presenta la estructura de cada una de las tablas que vamos a utilizar. consultas e informes.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Articulo Nombre del Campo Tipo Ancho Descripción IdArticulo C 4 Código del artículo Descripcion C 30 Descripción Precio N 7 2 Precio unitario Stock N 5 Stock disponible Stock_Min N 5 Stock mínimo Fecha_Act F 8 Fecha de actualización Vendedor Nombre del Campo Tipo Ancho Descripción IdVendedor C 4 Código del vendedor Apellidos C 30 Apellidos del vendedor Nombres C 20 Nombres del vendedor Direccion C 30 Dirección del vendedor IdDistrito C 3 Código postal del vendedor Telefono C 7 Teléfono del vendedor Distrito Nombre del Campo Tipo Ancho Descripción IdDistrito C 3 Código postal del distrito Nombre C 30 Nombre del distrito Parametro Nombre del Campo Tipo Ancho Descripción Campo C 11 Nombre del campo Id de cada tabla Contador N 5 Contador de registros El estudiante debe estudiar bien la estructura de cada una de las tablas de la base de datos. pues es necesario estar familiarizado con ellas. 5 . Elaborado por Carlos Castillo Peralta Pág.

Para ello dar click en el botón Sí. Proceda a definir los campos que se indican. 6 . Elaborado por Carlos Castillo Peralta Pág. Esta vez Visual FoxPro le consultará si desea ingresar datos ahora o desea hacerlo luego: En esta oportunidad responda afirmativamente. A continuación haga click en el botón Aceptar.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Creación de tablas libres Para crear la tabla Parametro. ingresar la siguiente orden en la Ventana de Comandos: Create Parametro En seguida se presentará el Diseñador de tablas. Luego proceder a ingresar un par de registros como mínimo.

ya que sus datos se han estado grabando conforme eran ingresados. Dentro del área de dicha ventana haga click derecho. Del menú emergente que se presenta seleccione la opción Nueva tabla. ¿Guardo sus datos? No se preocupe.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para terminar con esta tabla. ingrese la siguiente orden en la Ventana de Comandos: Create Database Farmacia Para visualizar el Diseñador de bases de datos ingrese la siguiente orden: Modify Database En seguida aparecerá la ventana contenedora. 7 . Para poder visualizar los registros ingresados en la tabla Parametro. digitar la siguiente orden en la Ventana de Comandos: Browse Creación de la base de datos Para crear la base de datos Farmacia. Se debe presentar una ventana similar a la siguiente figura: Elaborado por Carlos Castillo Peralta Pág. presione Ctrl + W o haga click en el botón Cerrar de la ventana mostrada.

Ingrese un par de registros como mínimo. En cada una de las tablas ingresar un par de registros como mínimo. Detalle. Luego proceda a crear las demás tablas Factura. Elaborado por Carlos Castillo Peralta Pág. De esta forma estamos estableciendo un formato predeterminado para el campo IdCliente.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En seguida dar click sobre el botón Nueva tabla. Vendedor y Distrito. 8 . Articulo. A continuación guarde la estructura de la tabla anterior. A continuación proceda a diseñar la estructura de la tabla Cliente. En el campo IdCliente vaya a la propiedad Máscara de entrada e ingrese C999.

9 . A continuación vamos a agregar la tabla libre Parametro a nuestra base de datos. Al finalizar su trabajo. del menú emergente que se presenta seleccione la opción Agregar Tabla.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Agregar tablas libres a una base de datos Hasta el momento tenemos seis tablas dependientes. el aspecto de la ventana contenedora debe ser similar a la siguiente figura: Elaborado por Carlos Castillo Peralta Pág. Elija la tabla Parametro y dar click en Aceptar. Para tal fin haga click derecho sobre la ventana contenedora. también tenemos una tabla libre. con datos inclusive.

dar click derecho sobre la tabla Factura y del menú emergente que se presenta seleccione la opción Modificar. Elaborado por Carlos Castillo Peralta Pág. Luego proceder a ingresar los datos que se indican en la siguiente figura y dar click en el botón Aceptar. Para lograr nuestro cometido. Los índices que vamos a utilizar se muestran a continuación: Tabla Nombre Tipo Expresión Cliente pkCliente Principal IdCliente fkDistrito Normal IdDistrito Factura pkFactura Principal IdFactura fkCliente Normal IdCliente fkVendedor Normal IdVendedor Detalle fkFactura Normal IdFactura fkArticulo Normal IdArticulo Articulo pkArticulo Principal IdArticulo Vendedor pkVendedor Principal IdVendedor fkDistrito Normal IdDistrito Distrito pkDistrito Principal IdDistrito A manera de ejemplo vamos a indexar la tabla Factura y el resto quedará como tarea para el estudiante. En seguida se presentará el Diseñador de tablas del cual debe seleccionar la ficha Indices. 10 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Indexando los campos de una tabla En seguida debemos proceder a indexar las tablas de nuestra base de datos.

Al concluir su trabajo las tablas deben presentar el siguiente aspecto: Elaborado por Carlos Castillo Peralta Pág. indexar las demás tablas.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Ahora le toca a Ud. 11 .

En seguida vamos a establecer la relación entre la tabla Cliente y la tabla Factura. 12 . De manera similar proceda a establecer las demás relaciones. acaba de relacionar las dos tablas. Elaborado por Carlos Castillo Peralta Pág. En este momento Ud.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Establecer relaciones permanentes Una vez indexadas las tablas se debe proceder a relacionarlas. Para ello ubicarse en el Diseñador de bases de datos y hacer click sobre el índice pkCliente de la tabla Cliente y arrástrelo hacia el índice fkCliente de la tabla Factura. justamente a través de sus índices.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Creación de un formulario con datos enlazados A continuación vamos a elaborar un formulario con datos enlazados. 13 . Finalmente dar click en Cerrar. En seguida presionar el botón derecho del ratón sobre el formulario. La apariencia de la ventana de Entorno de datos debe ser similar a la siguiente figura: Elaborado por Carlos Castillo Peralta Pág. Para ello debemos crear un nuevo formulario. del menú emergente que se presenta dar click en Entorno de datos. En seguida. se presentará una ventana similar a la figura siguiente: Seleccione la tabla Articulo y luego dar clic en Agregar.

Luego en la ventana anterior especifique la siguiente ruta C:\Archivos de programa\Microsoft Visual Studio\Vfp98\Wizards y abra el archivo Wizstyle.VCX. Del menú emergente que se presenta elija la opción Agregar. 14 . A continuación la barra de herramientas Controles de formularios debe presentar un aspecto similar al siguiente gráfico: Elaborado por Carlos Castillo Peralta Pág. dar click en el botón Ver Clases (este se encuentra al lado derecho del icono puntero). A continuación en la barra de herramientas Controles de formularios.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En seguida haga click sobre la palabra Campos de la tabla Articulo y arrástrela hacia el formulario y luego suelte.

Pero eso lo vamos a dejar para la próxima sesión. modificar y eliminar registros. Podríamos haber creado nuestro formulario de una manera más personalizada. pues no es tan simple y elegante como lo que acabamos de realizar. Luego dar click sobre el formulario. Elaborado por Carlos Castillo Peralta Pág. Finalmente pruebe y ejecute su aplicación. 15 . realizar consultas. Ubicar el botón cuyo nombre es Picbtns (utilice los Tool Tip Text de cada botón. En ese caso tendría que ubicar etiquetas. insertar.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En el gráfico anterior se observa una gama de botones de clases. etc. El resultado debe ser similar a la siguiente figura: El formulario anterior permite realizar las operaciones básicas de mantenimiento de la tabla Articulo. como desplazarse a través de los registros de la misma. para nuestro caso se encuentra en la tercera fila y décima columna) y dar click sobre él. cajas de textos y botones de comando. luego mediante la propiedad ControlSource direccionar los controles a los campos de la tabla.

• Buscar registros en una tabla indexada. Consideraciones Para el desarrollo del presente laboratorio Ud. • Elaborar formularios para mantenimientos de tablas. deberá crear una carpeta C:\FundVFP\Lab7. 16 . • Insertar. para guardar sus trabajos correspondientes a este laboratorio. actualizar y eliminar registros de una tabla. Elaborado por Carlos Castillo Peralta Pág. el estudiante será capaz de: • Conocer y utilizar las principales instrucciones del lenguaje estructurado de consultas SQL. Aplicación Nº 1 Como primer ejercicio vamos a elaborar un formulario que permita insertar registros a la tabla Articulo. Tener en cuenta que el código para el nuevo artículo debe ser autogenerado.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Microsoft Visual FoxPro GUÍA DE LABORATORIO Nº 7 Objetivos Luego de completar este laboratorio.

F. Luego proceder a ubicar los siguientes controles sobre el formulario: 5 etiquetas 5 cajas de texto 3 botones de comando Seguidamente debe establecer las propiedades que se indican: Form1 Nombre FrmNuevoArticulo Caption Nuevo artículo MaxButton .F. 17 .-Falso Label1 Nombre LblIdArticulo Caption IdArticulo Label2 Nombre LblDescripcion Caption Descripción Label3 Nombre LblPrecio Caption Precio Label4 Nombre LblStock Caption Stock Elaborado por Carlos Castillo Peralta Pág.-Falso MinButton .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el desarrollo de la presente aplicación vamos a crear un nuevo formulario.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Label5 Nombre LblStock_Min Caption Stock mínimo Text1 Nombre TxtIdArticulo Enabled .F.F.-Falso Command2 Nombre CmdGuardar Caption \<Guardar Command3 Nombre CmdCerrar Caption \<Cerrar Elaborado por Carlos Castillo Peralta Pág.-Falso Text2 Nombre TxtDescripcion Text3 Nombre TxtPrecio Text4 Nombre TxtStock Text5 Nombre TxtStock_Min Command1 Nombre CmdNuevo Caption \<Nuevo Enabled . 18 .

TxtStock_Min.TxtStock.TxtStock.TxtPrecio.TxtDescripcion.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA A continuación proceda a declarar dos métodos.Enabled = Not lOK Objeto: FrmNuevoArticulo Procedimiento: GenCodigo Select Parametro Update Parametro . 19 . Luego ingresar el código mostrado: Objeto: FrmNuevoArticulo Procedimiento: ActivaControl Parameters lOK Thisform.CmdGuardar.Value) nStock_Min = Val(Thisform. 3 .Enabled = lOK Thisform.Enabled = lOK Thisform. Set Contador = Contador + 1 Where Campo = “IdArticulo” Select Contador From Parametro Into Array nContador .CmdNuevo.Value) nPrecio = Val(Thisform.Len(cContador)) + cContador Return cCodigo Objeto: FrmNuevoArticulo Procedimiento: Load Open Database Farmacia Objeto: CmdGuardar Procedimiento: Click #DEFINE vfpYesNo 4 #DEFINE vfpYes 6 #DEFINE vfpQuestion 32 cDescripcion = Upper(Thisform.TxtPrecio.Enabled = lOK Thisform.Value) nStock = Val(Thisform.Value) Elaborado por Carlos Castillo Peralta Pág.Enabled = lOK Thisform.TxtStock_Min. ActivaControl y GenCodigo.Enabled = lOK Thisform. Where Campo = “IdArticulo” cContador = Alltrim(Str(nContador)) cCodigo = “A” + Replicate(“0”.TxtDescripcion.

Refresh Objeto: CmdCerrar Procedimiento: Click Close Database Release Thisform Aplicación Nº 2 Este ejercicio consiste en elaborar un formulario que permita modificar los registros previamente almacenados en la tabla Articulo. Values(cIdArticulo. Fecha_Act) .ActivaControl(.TxtStock_Min. Precio.ActivaControl(.F. cDescripcion.) Thisform.TxtIdArticulo. Stock_Min. Date()) Select Articulo Thisform.GenCodigo() Insert Into Articulo(IdArticulo. . nPrecio. 20 .TxtIdArticulo.Value = “” Thisform. vfpQuestion + vfpYesNo. . “Pregunta”) = vfpYes Then cIdArticulo = Thisform. Stock.TxtDescripcion.T.Value = IdArticulo Thisform.Value = “” Thisform.) EndIf Thisform. nStock. nStock_Min. Para ello debe verificarse si el registro buscado existe en dicha tabla.SetFocus Thisform.Value = “” Thisform.Refresh Objeto: CmdNuevo Procedimiento: Click Thisform.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA If MessageBox(“¿Datos correctos?”.TxtPrecio. Descripcion.Value = “” Thisform. . Elaborado por Carlos Castillo Peralta Pág.TxtStock.Value = “” Thisform.TxtIdArticulo.

TxtIdArticulo.Enabled = .F.CmdMostrar.Refresh Elaborado por Carlos Castillo Peralta Pág. EndIf Thisform. Else Thisform.-Falso En seguida debe proceder a ingresar el código que se indica a continuación: Objeto: TxtIdArticulo Procedimiento: InteractiveChange cIdArticulo = Alltrim(Thisform.Value) If Len(cIdArticulo) > 0 Then Thisform. 21 . pero en vez de tres botones de comando agregar cuatro.T.Enabled = . A continuación establecer las siguientes propiedades para el nuevo botón: Command4 Nombre CmdMostrar Caption \<Mostrar Enabled .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el desarrollo de esta aplicación proceda a crear la interfaz de manera análoga que para el ejercicio anterior.CmdMostrar.F.

T. Thisform.Refresh Objeto: CmdGuardar Procedimiento: Click cIdArticulo = Alltrim(Upper(Thisform.Value)) Seek cIdArticulo If Not Found() Then = MessageBox(“No existe ningún artículo con este código”) Thisform.CmdNuevo.TxtPrecio.Value)) cDescripcion = Upper(Thisform.TxtStock_Min.TxtDescripcion.TxtStock.Stock Thisform.SelLength = Len(cIdArticulo) Return Else Thisform.T.Value) nPrecio = Thisform.Value = Articulo.Enabled = .SelStart = 0 Thisform.Value = Articulo.Value = Articulo.Enabled = .TxtIdArticulo.CmdGuardar. Thisform.F.Stock_Min EndIf Thisform. Thisform.TxtDescripcion.TxtStock.Value Elaborado por Carlos Castillo Peralta Pág.TxtIdArticulo.F. Thisform.TxtStock_Min.TxtIdArticulo.CmdMostrar.Enabled = .Precio Thisform.Descripcion Thisform.Value nStock_Min = Thisform.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Objeto: CmdMostrar Procedimiento: Click Set Exact On Select Articulo Set Order To Tag PkArticulo cIdArticulo = Alltrim(Upper(Thisform.TxtPrecio. 22 .Value = Articulo.TxtIdArticulo.Enabled = .Value nStock = Thisform.TxtIdArticulo.SetFocus Thisform.TxtIdArticulo.

.F. . “Pregunta”) = vfpYes Then Update Articulo Set Descripcion = cDescripcion. Stock_Min = nStock_Min. Precio = nPrecio. A continuación se indica el código asociado al control CmdEliminar: Objeto: CmdEliminar Procedimiento: Click #DEFINE vfpYesNo 4 #DEFINE vfpYes 6 #DEFINE vfpQuestion 32 Elaborado por Carlos Castillo Peralta Pág.ActivaControl(. Where IdArticulo = cIdArticulo Thisform. .Refresh Aplicación Nº 3 En el siguiente ejercicio vamos a diseñar un formulario que permita eliminar registros de la tabla Articulo. 23 . vfpQuestion + vfpYesNo. Fecha_Act = Date() .) EndIf Thisform.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA If MessageBox(“¿Datos correctos?”. . Stock = nStock. .

vfpQuestion + vfpYesNo.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA cIdArticulo = Alltrim(Upper(Thisform. “Pregunta”) = vfpYes Then Delete From Articulo Where IdArticulo = cIdArticulo Else Return EndIf Thisform. 1 cuadro de texto 1 cuadro de edición 1 botón de comandos Elaborado por Carlos Castillo Peralta Pág.TxtIdArticulo.Value)) If MessageBox(“¿Está seguro de eliminar el registro?”. crear un nuevo formulario y ubicar los siguientes controles para diseñar la interfaz pedida. Para el desarrollo de la presente aplicación. 24 . .Refresh Aplicación Nº 4 Elaborar un formulario que permita seleccionar un cliente y a continuación presente toda la información relacionada a dicho cliente.

TxtIdCliente.F.TxtIdCliente.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Form1 Nombre FrmFichaCliente Caption Cliente .-Falso MinButton . 25 .F.F.Value)) Seek cIdCliente If Not Found() Then = MessageBox("No existe ningún cliente con este código") Thisform.SetFocus Thisform.-Falso A continuación proceda a transcribir el código que se indica: Objeto: CmdMostrar Procedimiento: Click Set Exact On Select Cliente Set Order To Tag PkCliente cIdCliente = Alltrim(Upper(Thisform.SelStart = 0 Thisform.TxtIdCliente.TxtIdCliente.Ficha personal MaxButton .-Falso Text1 Nombre TxtIdCliente Edit1 Nombre EdtFicha Command1 Nombre CmdMostrar Caption \<Mostrar Enabled .SelLength = Len(cIdCliente) Return Elaborado por Carlos Castillo Peralta Pág.

F.Nombres + Chr(13) + .IdDistrito + Chr(13) + . “Distrito :” + Cliente. Thisform. “Teléfono :” + Cliente.RUC + Chr(13) + .Apellidos + Chr(13) + .Telefono Thisform.Direccion + Chr(13) + .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Else cCadena = “IdCliente:” + Cliente.IdCliente + Chr(13) + .CmdMostrar. Elaborado por Carlos Castillo Peralta Pág. “Nombres :” + Cliente.Refresh Queda como tarea para el estudiante completar y mejorar el código asociado con la aplicación.Enabled = . “Dirección:” + Cliente.EdtFicha.Value = cCadena EndIf Thisform. “RUC :” + Cliente. 26 . “Apellidos:” + Cliente.

Aplicación Nº 1 Con el fin de declarar los impuestos mensuales y cumplir nuestras obligaciones con la SUNAT. Elaborado por Carlos Castillo Peralta Pág. • Crear vistas parametrizadas. 27 . deberá crear una carpeta C:\FundVFP\Lab7. el cual será construido a partir de las tablas Factura y Detalle. En este primer ejercicio vamos a elaborar un formulario que presente tal registro de ventas.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Microsoft Visual FoxPro GUÍA DE LABORATORIO Nº 8 Objetivos Luego de completar este laboratorio. el estudiante será capaz de: • Extraer información de una base de datos mediante la creación de vistas y consultas. una consulta. el valor venta. • Utilizar el control cuadrícula para presentar información desde una tabla. una sentencia SQL o desde un cursor. el IGV y el total facturado por cada factura. • Conocer los diferentes destinos de una consulta. para guardar sus trabajos correspondientes a este laboratorio. Consideraciones Para el desarrollo del presente laboratorio Ud. se necesita elaborar un registro de ventas donde se muestren las facturas emitidas durante el mes. • Actualizar datos mediante vistas. una vista.

Where Month(Factura. Order By Factura.IdFactura .Cantidad * Detalle. Sum(Detalle.IdFactura . Elaborado por Carlos Castillo Peralta Pág.Precio) / 1. Factura. Group By Factura. Sum(Detalle. From Factura Inner Join Detalle . As Select Factura. .Precio) As Total . .IdFactura. 28 .Precio) / 1.IdFactura = Detalle. Para tal fin abrir la base de datos Farmacia y luego ingresar la siguiente orden en la Ventana de Comandos: Create SQL View V_RegVentas .Cantidad * Detalle.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el desarrollo de la presente aplicación primero debemos crear una vista la cual se llamará V_RegVentas. Sum(Detalle.18 As Subtotal. On Factura. .18 As IGV.18 * 0.Cantidad * Detalle.IdFactura .Fecha) = ?nMes Notar que la vista se graba como parte de la base de datos de forma similar a una tabla.Fecha.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA A continuación proceda a crear un nuevo formulario y ubicar los siguientes controles: 1 etiqueta 3 cajas de texto 1 cuadro combinado 1 cuadrícula Seguidamente proceda a definir las propiedades de la interfaz según se indica: Elaborado por Carlos Castillo Peralta Pág. 29 .

Header1 Fecha Grid1.Column3.Column1.F.Header1 Total Una vez establecidas las propiedades. 30 .Header1 Subtotal Grid1.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Form1 Nombre FrmRegVentas Caption Registro de ventas MaxButton .Column4. proceda a ingresar el código que se indica: Elaborado por Carlos Castillo Peralta Pág.Column5.Header1 IdFactura Grid1.-Falso Label1 Nombre LblTotalesPorMes Caption Totales por mes Text1 Nombre TxtSubtotal Text2 Nombre TxtIGV Text3 Nombre TxtTotal Combo1 Nombre CboMes Grid1 Nombre GrdRegistro ColumnCount 5 Grid1.-Falso MinButton .Column2.Header1 IGV Grid1.F.

CboMes. Elaborado por Carlos Castillo Peralta Pág. nIGV. nTotal Thisform.AddItem(“Noviembre”) Thisform.Value = Round(nIGV.Refresh Eso es todo. 31 .Value = Round(nSubtotal. IGV. Total To nSubtotal.CboMes.CboMes.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Objeto: FrmRegVentas Procedimiento: Init Thisform.AddItem(“Setiembre”) Thisform.RecordSourceType = 1 Thisform.ListIndex Use Farmacia!V_RegVentas Select V_RegVentas Thisform.AddItem(“Abril”) Thisform.AddItem(“Julio”) Thisform.CboMes.RecordSource = “V_RegVentas” Sum Subtotal.TxtValorVenta.TxtIGV.AddItem(“Mayo”) Thisform.CboMes.AddItem(“Diciembre”) Thisform. tanto para el evento InteractiveChange como para el evento Click: Objeto: CboMes Procedimiento: InteractiveChange nMes = This.AddItem(“Marzo”) Thisform.AddItem(“Agosto”) Thisform.GrdV_RegVentas.CboMes. 2) Thisform.CboMes.TxtTotal.AddItem(“Octubre”) Thisform.CboMes.CboMes.CboMes. ahora puede ejecutar su aplicación. Pruebe que funcione correctamente.CboMes.AddItem(“Enero”) Thisform.Refresh Luego proceda a ingresar el siguiente código. 2) Thisform.AddItem(“Febrero”) Thisform.CboMes.GrdV_RegVentas.AddItem(“Junio”) Thisform.Value = Round(nTotal. 2) Thisform.

Para tal fin abrir el Diseñador de base de datos y dar click derecho sobre él. 32 . Del menú emergente que se presenta seleccionar la opción Nueva vista local: Elaborado por Carlos Castillo Peralta Pág.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Aplicación Nº 2 Como parte de la estrategia de marketing. Pero esta ves lo vamos a realizar utilizando la utilidad de Microsoft Visual FoxPro para la creación de vistas. la empresa ha decidido premiar a los clientes más frecuentes. Para el diseño de la presente aplicación primero vamos a elaborar una vista que se denominará V_ClienteMes. Para tal fin se pide elaborar un formulario que presente el listado de los cinco mejores clientes de cada mes.

respectivamente y dar click en el botón Aceptar.IdFactura = Detalle. ” + Cliente.Precio) As TotalCompra Agrupar por Cliente.IdCliente Inner Join Factura.Cantidad * Detalle.Nombres) As Cliente Sum(Detalle. Luego dar click en el botón Cerrar.Precio) As TotalCompra Combinación Inner Join Cliente. dar click en el botón Nueva Vista.Apellidos + “. 33 .IdCliente (Cliente.IdFactura Filtro Month(Factura. A continuación se presenta el Diseñador de vistas. Factura y Detalle.IdCliente = Factura. A continuación se debe presentar una ventana similar a la siguiente figura: Seleccione las tablas Cliente.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En seguida.Cantidad * Detalle.Fecha) = ?nMes Ordenar por Sum(Detalle. donde debe definir la siguiente información según corresponda a cada ficha: Ficha Valor Campos Cliente.IdCliente Varios Número de registros = 5 Elaborado por Carlos Castillo Peralta Pág.

para ello en el Menú Consulta seleccione la opción Parámetros de vista. tal como se indica en la figura: A continuación crear un nuevo formulario y proceda a diseñar la interfaz. donde debe ingresar el parámetro nMes de tipo numérico. 34 . para ello de ubicar los siguientes controles: 1 cuadro combinado 1 cuadrícula Seguidamente proceda a establecer las siguientes propiedades: Elaborado por Carlos Castillo Peralta Pág.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Seguidamente debe definir un parámetro. tal como se indica en la figura: Finalmente guardar la vista con el nombre V_ClienteMes.

Header1 IdCliente Grid1.Header1 Cliente Grid1.-Falso MinButton .Column3.RecordSourceType = 1 Thisform. Elaborado por Carlos Castillo Peralta Pág.F.Column2.ListIndex Use Farmacia!V_ClienteMes Select V_ClienteMes Thisform.GrdV_ClienteMes.Header1 Totalcompra A continuación ingresar el siguiente código para el evento InteractiveChange y para el evento Click del objeto CboMes: Objeto: CboMes Procedimiento: InteractiveChange nMes = This. 35 .GrdV_ClienteMes. Para ello bastará con ingresar las primeras letras de la descripción del artículo y en seguida se debe presentar la información relacionada.Column1.F.Refresh Aplicación Nº 3 Este ejercicio consiste en diseñar un formulario para realizar consultas a la tabla Articulo.RecordSource = “V_ClienteMes” Thisform.-Falso Combo1 Nombre CboMes Grid1 Nombre GrdCliente ColumnCount 3 Grid1.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Form1 Nombre FrmClienteMes Caption Cliente del mes MaxButton .

Column1.Column3.Header1 Descripción Grid1.Header1 Stock Elaborado por Carlos Castillo Peralta Pág.Column4. 36 .Tabla Articulo Grid1 Nombre GrdArticulo ColumnCount 4 Grid1.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el diseño de esta aplicación crear un nuevo formulario y ubicar los siguientes controles: 1 cuadro de texto 1 cuadrícula 1 botón de comandos A continuación proceda a especificar las propiedades según se indica: Form1 Nombre FrmQueryArticulo Caption Consulta .Header1 IdArticulo Grid1.Header1 Precio Grid1.Column2.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Command1 Nombre CmdBuscar Caption \<Buscar Enabled False A continuación proceda a transcribir el código que se indica: Objeto: FrmQueryArticulo Procedimiento: Load Set Console Off Set Talk Off Objeto: TxtDescripcion Procedimiento: InteractiveChange cDescripcion = Alltrim(Thisform.TxtDescripcion.T. 37 .TxtDescripcion. Descripcion. Else Thisform.F.Refresh Objeto: CmdBuscar Procedimiento: Click cCad = Alltrim(Thisform. Precio.SetFocus Thisform.GrdArticulo.Value) Select IdArticulo.RecordSourceType = 1 Thisform. EndIf Thisform.Enabled = .Enabled = .GrdArticulo.TxtDescripcion. Stock From Articulo .RecordSource = “Temporal” Thisform. Where Descripcion Like cCad + “%” Into Cursor Temporal Thisform.Refresh Elaborado por Carlos Castillo Peralta Pág.Value) If Len(cDescripcion) > 0 Then Thisform.CmdBuscar.CmdBuscar.

Para el desarrollo de la presente aplicación proceda a crear una nueva consulta.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Aplicación Nº 4 En este último ejercicio vamos a ilustrar como elaborar consultas que generen gráficos. Seguidamente se debe presentar el Diseñador de consultas. 38 . para ello ingresar lo siguiente en la ventana de comandos: Create Query A continuación se debe presentar la ventana Agregar tabla o vista. de donde debe seleccionar las tablas Vendedor. pero de manera gráfica. Para ello vamos a crear un formulario que presente una lista de los vendedores que más ventas realizaron el presente mes. donde debe definir la siguiente información según corresponda a cada ficha: Elaborado por Carlos Castillo Peralta Pág. Factura y Detalle. Luego dar click en el botón Cerrar. dar click en el botón Aceptar.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE
“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

Ficha Valor
Campos Vendedor.IdVendedor
Sum(Detalle.Cantidad * Detalle.Precio) As TotalVenta
Combinación Inner Join Vendedor.IdVendedor = Factura.IdVendedor
Inner Join Factura.IdFactura = Detalle.IdFactura
Filtro Month(Factura.Fecha) = Month(Date())

Ordenar por Sum(Detalle.Cantidad * Detalle.Precio) As TotalVenta

Agrupar por Vendedor.IdVendedor

Para expresar el resultado de manera gráfica vaya al Menú
Consulta y elija la opción Destino de la consulta, se debe
presentar una figura similar a la siguiente:

Dar click en el botón Gráfico y luego dar click en
Aceptar. En seguida proceda a ejecutar la consulta, para ello
dar click derecho sobre el Diseñador de consultas y del menú
emergente que se presenta elija la opción Ejecutar consulta. A
continuación se debe presentar el Asistente para gráficos.
Arrastrar el campo TotalVenta hacia la caja de texto Series de
datos y el campo IdVendedor hacia la caja de texto Eje, tal
como se muestra en la figura siguiente:

Elaborado por Carlos Castillo Peralta Pág. 39

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE
“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

Luego dar click en el botón Siguiente para seleccionar el
tipo de gráfico que desea.

Elaborado por Carlos Castillo Peralta Pág. 40

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE
“VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA

Dar un click en el botón Siguiente. A continuación escriba
un título para el gráfico y dar un click en el botón Finalizar.

Proceda a grabar el gráfico, para nuestro caso darle por
nombre FrmVendMes. A continuación guarde su archivo de consulta
como Q_VendMes. Finalmente proceda a ejecutar el formulario,
para ello ingrese lo siguiente en la Ventana de Comandos:

Do Form FrmVendMes

El resultado obtenido debe ser similar a la figura que se
muestra al inicio del ejercicio.

Elaborado por Carlos Castillo Peralta Pág. 41

Por defecto presenta tres bandas. Consideraciones Para el desarrollo del presente laboratorio Ud. el estudiante será capaz de: • Elaborar informes simples. Seguidamente digitar la siguiente orden en la Ventana de Comandos: Create Report En seguida se debe presentar el Diseñador de informes de Microsoft Visual FoxPro. deberá crear una carpeta C:\FundVFP\Lab9 para guardar sus trabajos correspondientes a este laboratorio. Para tal fin ingresar a Microsoft Visual FoxPro y abrir la base de datos Farmacia (si a estas alturas del curso no recuerda como abrir una base de datos. campos calculados y variables.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Microsoft Visual FoxPro GUÍA DE LABORATORIO Nº 9 Objetivos Luego de completar este laboratorio. • Obtener informes impresos. la banda Detalle y la banda Pie de página. • Elaborar informes con grupos. tendrá las dos horas de laboratorio para recordar). 42 . tal como se indica en la figura: Elaborado por Carlos Castillo Peralta Pág. Aplicación Nº 1 En este primer ejercicio vamos a ilustrar el uso del Diseñador de informes. la banda Encabezado de página. • Elaborar un informe a partir de una vista.

dentro del cual debe dar click derecho y elija la opción Agregar. 43 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA A continuación dar click derecho sobre el Diseñador de informes y del menú emergente que se presenta seleccione la opción Entorno de datos. A continuación se debe presentar una ventana similar a la siguiente figura: Elaborado por Carlos Castillo Peralta Pág.

Se deben presentar las barras de herramientas respectivas. Luego seleccionar la opción Barra de herramientas y activar las opciones que se muestran en la siguiente figura: A continuación dar click en Aceptar.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Seleccione la tabla Profesor y dar click en Aceptar. Luego dar click en Cerrar. Elaborado por Carlos Castillo Peralta Pág. 44 . El Entorno de datos debe presentar una apariencia similar a la figura mostrada: A continuación vaya al Menú del Sistema y dar click en el Menú Ver.

El Diseñador de informes debe presentar una apariencia similar a la figura siguiente: En la barra de herramientas Controles de informes. 1).INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En seguida dar click en el Menú Ver y seleccione la opción Líneas de cuadrícula. 1. en la barra de herramientas Controles de Informe dar click en el botón Campo y llevar el ratón a la posición (10. 45 . Debe aparecer una ventana similar a la figura siguiente: Elaborado por Carlos Castillo Peralta Pág. Seguidamente.5) para dar click en aquella ubicación. dar click en el botón Etiqueta y a continuación ubicarse en las posición cuyas coordenadas sean (2. Dar click en aquella posición y digitar lo siguiente: “Víctor Andrés Belaúnde” Luego vaya al Menú Formato y elija la opción Fuente y seleccione Times New Roman (Negrita cursiva 14).

46 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Dar click en el botón tres puntos (.) situado al costado derecho de la caja de texto Expresión. tal como se muestra en la figura y dar click en Aceptar. Seleccionar del cuadro combinado Fecha la función Date(). Elaborado por Carlos Castillo Peralta Pág. . .

El resultado debe ser similar al siguiente: Elaborado por Carlos Castillo Peralta Pág. 47 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA A continuación seleccione los objetos que se indican en la siguiente figura: En la barra de herramientas Diseño dar click en el botón Alinear centros horizontalmente y luego vaya al Menú Archivo y dar click en la opción Vista preliminar.

Aplicación Nº 2 El siguiente ejercicio consiste en diseñar un informe que presente un listado de precios de los diversos artículos que ofrece nuestra farmacia. colores de fondo. puede mejorar la presentación anterior. Para ello debe preparar un Diseñador de informes similar al mostrado en la figura: El nombre del autor debe ser el correspondiente a sus datos y no a los del profesor Carlos Castillo. etc. puede cambiar fuentes. Por lo tanto Ud. Creo que con todos estos pasos ya conoce algunas de las bondades del Diseñador de informes de Microsoft Visual FoxPro. La figura anterior es sólo un ejemplo. ya se encuentra preparado para realizar los siguientes ejercicios sin ayuda del Jefe de Práctica. según vuestro criterio. Para finalizar elimine todos los objetos ubicados en el Diseñador. Elaborado por Carlos Castillo Peralta Pág. Ud. estilos. 48 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Luego pruebe otras opciones.

Aplicación Nº 3 A continuación vamos a ilustrar como elaborar un informe a partir de una vista. vaya al Menú Archivo y elija la opción Vista preliminar.BMP (como ésta es una sesión de aprendizaje. solamente tiene que arrastrarlos desde el Entorno de datos. si lo tiene a buena hora.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para ubicar los campos que se muestran en la banda Detalle. 49 . Para nuestro caso vamos a diseñar un informe que presente un listado detallado de las ventas mensuales efectuadas. lo puede reemplazar por cualquier mapa de bits de la carpeta Windows). su nombre es DELTA. Debe obtener un resultado similar a la figura siguiente: El logotipo de la empresa no necesariamente debe ser lo que se muestra en la figura. El uso de vistas resulta sumamente útil cuando en un informe se va a incluir información proveniente de múltiples tablas. Elaborado por Carlos Castillo Peralta Pág. si no tuviera el logotipo. Una vez que haya finalizado.

IdCliente = Factura. luego debe definir la siguiente información en el Diseñador de vistas.Nombres As Cliente Combinación Inner Join Cliente. 50 .Apellidos + “. Las tablas a agregar son Cliente y Factura. Ficha Valor Campos Factura.IdCliente Elaborado por Carlos Castillo Peralta Pág. ” + Cliente.IdFactura Factura.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el desarrollo de la presente aplicación en primer lugar debe crear una nueva vista (grabar la vista como V_EncFact) que contenga los datos correspondientes al encabezado de las facturas.Fecha Cliente.

Las tablas a agregar son Detalle y Articulo.IdFactura Ordenar por Month(V_EncFact.Igv V_DetFact.IdFactura V_EncFact. Ficha Valor Campos Detalle.Cantidad) / 1.Cantidad Detalle.IdFactura = V_DetFact.Cantidad V_DetFact.Precio * Detalle.IdArticulo = Detalle.Descripcion Detalle. Elaborado por Carlos Castillo Peralta Pág.IdFactura A continuación crear un nuevo informe.18 As Igv (Detalle.Precio * Detalle.Cliente V_DetFact.Fecha Month(V_EncFact. 51 .Precio (Detalle. Ficha Valor Campos V_EncFact.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA A continuación proceda a crear otra vista (grabar la vista como V_DetFact) la cual contendrá el detalle de las facturas.18) * 0.Total Combinación Inner Join V_EncFact.18 As Subtotal (Detalle.Precio V_DetFact. en el Entorno de datos agregar la vista recientemente creada (V_InformeVentas).Fecha) As Mes V_EncFact.Cliente V_EncFact.IdArticulo Ahora vamos a fusionar las dos vistas anteriores en una única vista (V_InformeVentas). para ello crear una nueva vista y agregar las vistas V_EncFact y V_DetFact.IdFactura Articulo.Fecha) As Mes V_EncFact.Cantidad) As Total Combinación Inner Join Articulo.Descripcion V_DetFact.Subtotal V_DetFact.Precio * Detalle.Cantidad) / 1.

52 . el Diseñador de Informes debe presentar la siguiente apariencia: Elaborado por Carlos Castillo Peralta Pág.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para formar los grupos vaya al Menú Informe y seleccionar la opción Agrupar datos: Luego de dar click en el botón Aceptar.

Para ello debe ubicarse en la banda “Pie de grupo 2” y dar doble click sobre el campo Total. A continuación se debe presentar una figura similar a la siguiente: Elaborado por Carlos Castillo Peralta Pág. Luego ponga las etiquetas adecuadas para conseguir una apariencia similar a la mostrada en la siguiente figura: Una vez que haya concluido con el diseño anterior.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Lo que viene a continuación es bastante sencillo. vamos a ocuparnos de los totalizadores (total por cliente y total por mes). 53 . Simplemente debe proceder a arrastrar los campos requeridos desde el Entorno de datos hacia las respectivas bandas del Diseñador de informes.

Total sea el seleccionado y activar el botón de opción Suma. Elaborado por Carlos Castillo Peralta Pág. A continuación se presentará una figura similar a la mostrada: Verificar que el campo V_InformeVentas. Luego dar click en Aceptar. 54 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA En la figura anterior dar click en el botón Cálculos. Este mismo criterio se debe seguir con el campo Total de la banda “Pie de grupo 1”.

Verifique la salida en pantalla.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Si obtiene una vista preliminar de su informe. en ella dar click en el botón Imprimir-Condiciones. 55 . fijarse en la columna “Nº Factura” y verá que hay datos que se repiten. Elaborado por Carlos Castillo Peralta Pág. a fin de mejorar el aspecto de nuestro informe debe suprimir los valores repetidos. se debe presentar la ventana Expresión de informe. Se debe presentar una figura similar a la siguiente: A continuación en el marco Imprimir valores repetidos activar el botón de opción No y dar click en Aceptar. Con ésta última operación hemos concluido el diseño de nuestro informe. Para ello dar doble click sobre el campo IdFactura. para ello obtener una vista preliminar.

vamos a generar un resumen de ventas. sin cerrar el informe anterior. 56 .INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Aplicación Nº 4 A continuación. Seguidamente vaya nuevamente al Menú Informe y seleccione la opción Variables. Para ello vaya al Menú Informe y seleccione la opción Título y resumen. Luego en la figura que se presenta activar la casilla de verificación Banda Resumen. Luego defina las siguientes variables: Elaborado por Carlos Castillo Peralta Pág.

A continuación en el Diseñador de informes. Cantidad * Precio. 57 . al final se mostrará la banda Resumen.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Por ejemplo para calcular las ventas del mes de Enero. Luego. defina la variable TotalEne. amplíe el área de esta y proceda a insertar las variables indicadas. 0) Esta misma acción debe repetirla para el resto de las variables. asígnele la operación Suma y en el cuadro de texto Almacenar valor ingresar lo siguiente: IIf(Month(Fecha)= 1. el Diseñador de informes debe presentar una apariencia similar a la figura siguiente: Al obtener una vista preliminar de vuestro informe se debe presentar una figura similar a la mostrada: Elaborado por Carlos Castillo Peralta Pág.

58 . Elaborado por Carlos Castillo Peralta Pág.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Aplicación Nº 5 Como último ejercicio vamos a preparar un formulario que permita obtener una copia impresa de un reporte.

Option2.INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Para el desarrollo de la presenta aplicación proceda a diseñar la interfaz pedida e ingrese el siguiente código: Objeto: CmdVistaPrevia Procedimiento: Click If Thisform.OptionGroup1.Option1.Refresh Objeto: CmdImprimir Procedimiento: Click If Thisform.Option2.Option1.OptionGroup1.OptionGroup1.Value = 1 Then Report Form ListaPrecios To Print Prompt EndIf If Thisform.Value = 1 Then Report Form InformeVentas Preview EndIf Thisform.OptionGroup1.Value = 1 Then Report Form InformeVentas To Print Prompt EndIf Thisform. 59 .Refresh Objeto: CmdSalir Procedimiento: Click Release Thisform Elaborado por Carlos Castillo Peralta Pág.Value = 1 Then Report Form ListaPrecios Preview EndIf If Thisform.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Microsoft Visual FoxPro GUÍA DE LABORATORIO Nº 10 Objetivos Luego de completar este laboratorio. incluido el instalador y las ayudas. deberá crear una carpeta C:\FundVFP\Lab10 para guardar sus trabajos correspondientes a este laboratorio. • Crear y utilizar de manera adecuada cursores y bufferes. Carlos Castillo Peralta Instructor del curso www. el estudiante será capaz de: • Implementar un módulo de facturación. 60 . Ing. • Creación del proyecto principal.ccperalta. • Diseñar menús y cajas de herramientas.com Elaborado por Carlos Castillo Peralta Pág. Trabajo de fin de curso La idea es acoplar todas las aplicaciones realizadas durante las prácticas anteriores y generar el sistema de facturación completo. Consideraciones Para el desarrollo del presente laboratorio Ud. Suerte.

INSTITUTO DE EDUCACIÓN SUPERIOR CARRERA PROFESIONAL DE “VÍCTOR ANDRÉS BELAÚNDE” COMPUTACIÓN E INFORMÁTICA Elaborado por Carlos Castillo Peralta Pág. 61 .