Beruflich Dokumente
Kultur Dokumente
Edicin 1.0
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET
J Conviene crear un acceso directo, para ello haga Clic en el botn derecho del mouse sobre el
escritorio de Windows, luego elija Nuevo y despes Acceso Directo, finalmente ubique el archivo
VFP6.EXE
La barra de mens
La mayor parte de acciones que vaya a realizar se encuentra en la barra de mens,
un men conduce a un grupo de opciones. Algunas opciones presentan Vias
rpidas.
Men
Archivo
Editar
Programa
Ventana
Opcion
Nuevo
Abrir
Guardar
Imprimir
Deshacer
Rehacer
Cortar
Copiar
Pegar
Seleccionar todo
Buscar
Volver a buscar
Reemplazar
Ejecutar
Reanudar
Ejecutar programa actual
Recorrer
Ventana de comandos
Va rpida
Ctrl-N
Ctrl-A
Ctrl-S
Ctrl-P
Ctrl-Z
Ctrl-R
Ctrl-X
Ctrl-C
Ctrl-V
Ctrl-A
Ctrl-F
Ctrl-G
Ctrl-L
Ctrl-D
Ctrl-M
Ctrl-E
Ctrl-F1
Ctrl-F2
L Las vas rpidas no funcionan cuando el men de Visual FoxPro ha sido sustuido por otro, en ese
caso para reponer el men de Visual FoxPro, puede anotar:
SET SYSMENU TO DEFAULT
J Cuando en pantalla tenga mas de dos ventanas, resulta util la va rpida Ctrl-F1 para alternar entre
stas ventanas, si desea hacer un salto directo a la ventana de comandos use Ctrl-F2.
La Ventana de Comandos
La usar para ingresar ordenes escritas a Visual FoxPro, al igual que en una
ventana de cdigo, los comandos, variables y constantes de muestran en distintos
colores.
J Puede cambiar el color y fuente usada en la ventana de comandos o en la de cdigo, haciendo click
en el botn derecho en el interior de la ventana y accediendo a la opcin Propiedades.
SET BELL on
Activa la alarma, por ejemplo cuando ocurre un error.
SET CENTURY on
Muestra el ao de una fecha en cuatro dgitos
SET DECIMAL TO 2
Limita en los clculos el uso de dos cifras decimales, hace el redondeo
automticamente
K Siempre que desee averiguar la sintaxis de una orden, seleccione el nombre del comando y pulse la
tecla F1, o use la orden:
HELP comando
El Administrador de Proyectos
Un proyecto organiza y administra los diversos archivos que compone una
aplicacin, estos pueden ser Bases de Datos, Tablas, Indices, Formularios,
Informes, Consultas, etc.
Administrador de Proyectos
Archivo Bienvenida.PRG
*
* Este es mi primer programa
* Autor: Pepe Coyote
*
_Screen.Caption = "Estoy aprendiendo Visual FoxPro"
_Screen.BackColor = RGB(0,125,125)
@ 0,0 SAY "MiFoto.GIF" BITMAP CENTER
WAIT WINDOW "Pulsa una tecla para proseguir"
CLEAR
4. Para guardar el contenido pulse las teclas Ctrl-W, asgnele el nombre Bienvenida,
entonces de habr creado el archivo Bienvenida.PRG.
5. Para ejecutar este programa, ubique en el Adminisrador de Proyectos el archivo
Bienvenida.PRG y luego pulse el botn Ejecutar.
Si deseara modificar el contenido del archivo, haga click en el botn Modificar.
En caso deseara retirar el archivo del Proyecto haga click en el botn Quitar.
J Puede escribir los comandos de forma parcial, como minimo las cuatro primeras letras, por
ejemploda lo mismo escribir:
MODIFY FILE?
o
MODI FILE?
Aunque no se sugiere aplicarlo, solo le ahorrara pulsar mas teclas, a las finales el producto a distribuir
tendr el mismo tamao.
2.
3.
4.
5.
Atencin lenta.
2.
3.
Control de ingresos manual, por lo que el cierre de caja lleva muchas horas.
4.
5.
10
J Puede consultar los criterios que debe tener para Disear un modelo de Base de Datos adecuado en
www.LibrosDigitales.NET
11
Las comillas son necesarias siempre que se usen nombres largos, caso contrario las
puede omitir.
J Hay otra forma de seleccionar una carpeta de trabajo, puede usar la orden
CD?
12
13
Creacin de Tablas
Hay dos tipos de tabla:
Tablas libres
Tablas asociadas a una Base de Datos
14
J Tambin puede crear tablas libres directamente de la ventana de comandos, haciendo uso del
comando:
CREATE Parametro
O mediante el men Archivo, opcin Nuevo, tipo de archivo Tabla
15
J Puede resultar mas rpido usar el botn derecho del mouse en el Diseador, el men emergente que
se despliega muestra las mismas opciones que la caja de herramientas.
16
Boton Accin
Nueva tabla
Agregar tabla
Retirar una tabla de la base de datos
Crear una Vista Remota
Crear una Vista Local
Modificar la estructura de una tabla
Examinar el contenido de una tabla
Acceder a la ventana de
Procedimientos Almacenados
Definir una conexin
codigo
para
definir
17
18
19
Relacionando Tablas
Se puede establecer una relacin entre dos tablas de dos formas distintas:
Relacin Persistente
Relacin Temporal
20
8. Una vez indexada las tablas solo resta crear la relacin entre stas. Para crear
la relacin slo debe arrastrar el ndice pkArticulo hacia fkArticulo
El siguiente cuadro resume los ndices que debe crearse en cada tabla a fin de
poder establecer la relacin entre estos:
Tabla
Articulo
Llave
Primario
Nombre
PkArticulo
Indice
Principal
Campo
IdArticulo
Relacionado con
Detalle
Detalle
Foraneo
Foraneo
FkFactura
FkArticulo
Normal
Normal
IdFactura
IdArticulo
Factura
Articulo
Factura
Primario
Foraneo
Foraneo
PkFactura
PkCliente
pkVendedor
Principal
Normal
Normal
IdFactura
IdCliente
IdVendedor
Detalle
Cliente
Vendedor
Cliente
Primario
PkCliente
Principal
IdCliente
Factura
Vendedor
Primario
PkVendedor
Principal
IdVendedor
Factura
21
22
Obtensin de Resultados
Una vez creada la Base de Datos, surge la necesidad de obtener ciertos resultados
a partir de ella, por ejemplo:
23
Por ejemplo si queremos obtener un archivo que contenga los articulos agotados:
USE Articulo
SORT TO Agotados ON NomArticulo/A, Stock FOR Stock = 0
La tabla generada:
USE Agotados
BROWSE
El ordenamiento por defecto es ascendente, puede ordenar una tabla por uno o dos
campos simultneamente, uno en forma ascendente y otro de forma descendente.
L Esta instruccin est limitada a crear tablas a partir de una sola tabla, ahora en el diseo de una
aplicacin raras veces es necesario generar tablas con resultados, salvo debe exportarse. Las siguientes
tecnicas le sern de mayor provecho.
24
Puede
crear solo
uno por
tabla
Candidato:
Garantiza la unicidad de los datos en la clave de
indice
Normal:
Solo ordena
Unico:
Oculta los registros con clave de indice repetida
Principal:
J Todos los tipos de indice ordenan una tabla segn el campo que se haya elegido (clave de indice).
Las caracteristicas propias de cada ndice se muestra en el cuadro, algunos estn lismitados a ser usados
solo una vez y en determinadas tablas, mientras que otros no.
25
USE Cliente
LOCATE FOR IdCliente = C0007
? FOUND()
USE Cliente
SET ORDER TO TAG pkCliente
SEEK C0007
? FOUND()
USE Articulo
SET ORDER TO TAG NomArt
SEEK Teclado
? FOUND()
26
USE Factura
DISPLAY IdFactura, IdCliente FOR IdCliente = C0007
Resulta ser lenta cuando en la tabla Factura se tiene unos cien mil registros.
Aquellos comandos que presentan en la sintaxis el termino FOR Condicion, pueden
optimizarse sustituyendose por WHILE Condicion y usando el alcance REST.
La solucin al caso anterior es:
Abrimos la tabla y seleccionamos el ndice pkCliente
USE Factura
SET ORDER TO TAG pkCliente
SEEK C0007
Se supone que despues del primer registro ubicado hay todo un grupo de registros
que corresponden a este cdigo. As que podemos usar el comando DISPLAY a
partir de la posicin del puntero hasta el final, siempre que el resto de registros
tenga por codigo de cliente C0007:
J La clsula WHILE se detiene cuando encuentra un registro que no cumple con la condicin.
27
28
Este resultado puede estar ordenado por ejemplo segn en forma alfabtica:
Podemos condicionar la salida, mostrando solo los articulo con stock distinto a cero:
29
SELECT ResArt
BROWSE
SELECT ResArt
USE
En el supuesto que ste resultado deba grabarse en disco a manera de tabla puede
usar el trmino SAVE
30
Funcin SQL
SUM()
AVG()
COUNT()
MIN()
MAX()
Accin
Suma el contenido de la columna
Promedia el contenido de la columna
Cuenta el nmero de filas de la columna
Halla el menor valor de la columna
Halla el mayor valor de la columna
Funciones SQL que afectan a una columna
Por ejemplo podemos calcular el numero de facturas que se han emitido el dia de
hoy:
31
Operador
=
==
LIKE
<>, !=, #
>
>=
<
<=
Comparacin
Igual
Exactamente igual
SQL LIKE
Distinto de
Mayor que
Mayor o igual que
Menor que
Menor o igual que
Tabla : Operadores SQL
Comodn
_ (subrayado)
Accin
Sustituye un carcter
Por ejemplo si quiere obtener una lista de clientes cuyo primer o segundo nombre
sea Jose:
SELECT NomCliente
FROM Cliente
WHERE NomCliente LIKE %JOSE%
32
J Cuando se generan expresiones, Visual FoxPro asigna un nombre a cada columna, podemos
asignarle uno apropiado usando la clasula AS.
33
Las vistas cuando son creadas se guardan como un elemento mas de la Base de
Datos, puede veficar:
MODIFY DATABASE
USE PCVentas!ResArt
BROWSE
34
El Diseador de Vistas
El diseo de una vista puede hacerse complicado si la seleccin de campos es a
partir de multiples tablas. Lo interesante de Visual FoxPro es que para este tipo de
casos aporta con un Diseador donde solo tendr que usar el mouse, internamente
se estar generando el codigo SQL.
Tal como se vi en la pagina anterior las vistas se almacenan como un elemento
mas de la Base de Datos. Por tanto podr utilizarlos como un objeto mas en el
entorno de programacin.
Puede crear dos tipos de vistas:
Vistas Locales
Las Vistas Locales se generan a partir de una Base de Datos de Visual FoxPro.
Vistas Remotas
Las Vistas Remotas se generan a partir de una fuente de datos externa, por
ejemplo una Base de Datos Access, SQL Server, Oracle u otra.
35
Vistas Locales
Vamos a plantear el siguiente
correspondiente a cada mes.
problema:
Se
necesita
averiguar
el
IGV
MONTH(Factura.Fecha) AS Mes
Detalle.PreVentas*Detalle.Cantidad*0.18 AS IGV
36
37
MONTH(Factura.Fecha) AS nMes
CMONTH(Factura.Fecha) AS Mes
SUM(Detalle.PreVenta*Detalle.Cantidad*0.18) AS IGV
Finalmente ejecute.
6. Como ver el orden no es el adecuado, se ha efectuado segn la columna Mes
(alfabtico), para corregir el resultado vaya a la pagina Ordenar por y traslade
el campo nMes de la lista Campos seleccionados a la lista de Criterio de
ordenacin.
7. Obtenida la solucion grabe la vista con el nombre IGVMensual pulsando Ctrl-W.
Si desea calcular el IGV del ao, bastar que desde la Ventana de comandos anote:
USE PCVentas!IGVMensual
SUM IGV TO IGVTotal
? IGVTotal
38
Vistas parametrizadas
Las ventajas de una vista parametrizada son:
MONTH(FacDet.Fecha) = ?nMes
J El simbolo de interrogacin debe estar junto al parmetro, el dejar un espacio en blanco ocasionar
un error.
nMes = 11
USE PCVentas!VenVentas
BROWSE
39
Por ejemplo, podemos crear una vista parametrizada a partir de la tabla Cliente,
para actualizar la direccion, el telefono y email.
Realizamos las siguientes tareas en el Diseador de Vistas:
Tablas
Cliente
Campos
Cliente.IdCliente
Cliente.NomCliente
Cliente.DirCliente
Cliente.TelCliente
Cliente.Email
Condicion
Cliente.IdCliente = ?codCiente
40
codCliente = "C0023"
USE PCVentas!vCliente
EDIT
Realice algunos cambios, luego pulse Ctrl-W. Para actualizar la tabla deber cerrar
la vista, mediante el uso de:
SELECT vCliente
USE
41
Consultas
A diferencias de las vistas, las consultas:
Factura
Detalle
Campos
MONTH(Factura.fecha) AS nMes
CMONTH(Factura.fecha) AS Mes
SUM(Detalle.PreVenta*Detalle.Cantidad) AS Total
Ordenar por
nMes
Agrupar por
nMes
42
L Si altera los cambios de la tabla Detalle, notar que el grfico del formulario no se actualiza.
43
Objeto: Form1
Proc.: Init
44
Impresin
La parte impresa la podemos solucionar de dos maneras:
El origen de datos
Puede iniciar el diseo de un informe a partir de una tabla o a partir de mltiples
tablas.
Puede disear un informe a partir de una tabla, y luego usar el mismo informe con
otra tabla, siempre que especifique en el informe en lugar de alias.campo solo
campo, por ejemplo en lugar de anotar clientes.nombres, anote solo nombres,
ya que la tabla puede variar.
45
El Generador de Informes
Informes a partir de una tabla
Vamos a disear un informe sencillo, se tratar de un catlogo de precios.
Inicie el diseo de un informe siguiendo los pasos siguientes:
1. Prepare el origen de datos
Determine que tablas sern necesarias para solucionar el caso, en nuestro caso
se trata de una sola tabla: Articulo
Catlogo de Precios
Codigo
Descripcion
Precio
99999
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
9999.99
99999
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
9999.99
99999
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
9999.99
99999
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
9999.99
...
...
...
Fecha: dd/mm/aa
No Pag. 999
2. Configure la pagina
Inicie el Diseador de Informes, vaya al men Nuevo, opcion Archivo, seale
como tipo de archivo Informe y haga click en el botn Nuevo.
El Diseador de Informes, consta por defecto de tres bandas mviles:
Hay otras bandas adicional, como la banda Ttulo, la banda Resmen y las
bandas de Grupo, que luego se describirn.
Empiece determinando el formato de papel que se usar en la impresin, vaya
al men Archivo, opcin Configurar pgina.
A la izquierda tiene un previo de la distribucion de los margenes del papel,
puede sealar el margen izquierdo y luego determinar el margen derecho en
base al ancho.
46
Diseador de informes
47
48
Presentacin preliminar
Para colocar los titulos, haga uso del control Etiqueta de la barra de
herramientas Controles de Informe.
Diseando un informe
49
Diseando un informe
Puede aplicar un estilo de fuente a uno de los objetos vaya al menu Formato
opcion Fuente.
Puede obtener un impresin de prueba haciendo click derecho y eligiendo la
opcion Imprimir.
Para grabar el diseo use la combinacin Ctrl-W, vamos a llamar al archivo
Precios, se crear entonces el archivo Precios.FRX y Precios.FRT.
50
4. Imprima el informe
Para ejecutar el informe puede usar el comando:
REPORT FORM archivo
[PREVIEW / TO PRINT [PROMPT]/ TO FILE archivo]
[alcance] [FOR condicion]
Para imprimir el catlogo de precios de articulos existentes anotara:
J En quince dias estar disponible la siguiente edicin, para que sea posible te agradeceremos
remitirnos tus inquietudes, aportarnos con ideas y por que no soluciones. De ti depende que este libro
mejore en contenido.
www.LibrosDigitales.NET
51
Prxima Entrega
Edicin 1.1
Dentro de una semana
Prohibida la reproduccin total o parcial
Sin nuestro consentimiento
Derechos de copia reservados
www.LibrosDigitales.NET
52