Ilustrados comunidad mundial educativa
Inicio | Escribenos
User: Pass: Recordar ó (Registrate!)

| !Publicar Articulo¡

Visual FoxPro

Resumen: Es un sistema orientado a objeto para la generación de Base de Datos y el desarrollo de aplicaciones. Curso de Visual Fox Pro.
13,527 visitas
Rating: 0
Tell a Friend
Autor: Richard A. Sequera A.

Visual FoxPro

 

Es un sistema orientado a objeto para la generación de Basede Datos y el desarrollo de aplicaciones.

Desde Visual FoxPro podemos crear Formularios, Base de Datos, Informes, Vistas, Proyectos entre otros. Podemos crear los elementos de unproyecto por separado y luego agregarlos a un proyecto existente o crear unproyecto y desde éste ir agregando los elemento que deba contener. Cuandocreamos un proyecto debemos crear una carpeta de trabajo en la se guarde elproyecto. Para indicarle a Visual Foxpro en cual directorio debe buscar losarchivos del proyecto debemos indicarle el directorio por defecto; en le menúHerramientas en la opción de Opciones en la ficha de Archivos, aparecerá laruta por defecto el directorio de Vfp cambiamos este directorio por la carpetaen la que está nuestro proyecto y seleccionamos Aceptar. Desde laVentana de Comandos se utiliza el comando SET DEFAULT nombrederuta por ejemplo:Set default c:\publico\practica (La Ventana de Comandos será explicada masadelante)

CREACION DE LA BASE DE DATOS

  1. Ubiquese en la ficha Datos y luego en Base de Datos y presione el botón

Nuevo

 

La ventana del Diseñador de Base da datos aparecerá :

 

 

Puede utilizar la barra de herramientas del Diseñador parael control de la Base de Datos.

Descripción de los botones de la Barra de herramientas (Diseñadorde Base de Datos):

Crear una nueva tabla.

Agregar una tabla existente

Eliminar una tabla seleccionada

Modifica una tabla seleccionada

Creación de Vistas remotas

Creación de Vistas locales

Editar Procedimientos almacenados en la Base de Datos

Creación de Conexiones con vistas remotas

Examinar el contenido la tabla (BROWSE)

Los nombres de las tablas deben ser de una a ocho caracteresde largo y deben tener la extensión predeterminada .dbf (database file: archivode Base de Datos)

Crear una nueva tabla:

1. Click en el botón de Nueva tabla, aparecerá la ventanaNueva Tabla

 

 

 

  1. Se selecciona Nueva Tabla, luego aparece la ventana de guardar el archivo, seleccione el directorio y el nombre de la tabla y luego presione el boton de guardar.

 

La ventana del Diseñador de tablas aparecerá enpantalla:

Esta es la parte mas importante de la tabla, es aquí dondese define la estructura de datos que contendrá dicha tabla. El primer paso esdefinir los campos, tipos, tamaño, Formato y Reglas de validación.

 

  1. Definición de campos:

    Igual que en las versiones anteriores, la definición de campos es igual. Se introduce el nombre del campo (name) el tipo de datos que soportará (Type) y el tamaño. Los nombres de los campos pueden tener hasta 254 caracteres sin espacios en blanco

  2. Definición del Display

    Format (Formato): Es el formato de salida del campo, ejemplo si fuera númerico 9,999.99 o si fuera carácter !!!!!!!!!!!!, para que solo acepte mayusculas

    Input mask (Máscara de entrada): Igual que el Format, lo único que es para la entrada de datos.

    Captión (Título): Descripción mas precisa del campo, es de utilidad al diseñar los Formularios.

     

  3. Definición de reglas de validación a nivel de campo

La validación son triggers o eventos que se ejecutan a nivel de campo.Ejemplo: una validación de un campo que solo acepte números positivos. (id> 0)

 

Rule (Regla): Es la regla de validación, ejemplo: id> 0, si queremos que acepte valores positivos.

Message(Mensaje): Es el mensaje personalizado quequeremos que aparezca en pantalla a la hora de violarse la regla de validacióndel campo. Ejemplo : ‘Solo se aceptan números positivos’ (nota: el textodebe escribirse entre comillas).

Default Value : Valor por defecto del campo.(nota: hay que respetar el tipo de dato del

Campo)

Luego de hacer la definición de los campos, pasamos a ladefinición de Indices de la tabla, que será muy importante a la hora de crearlas relaciones entre las tablas.

Los índices facilitan la ubicaciòn en la tabla de unregistro especìfico asì como tambien determinan el tipo de relaciones queexisten entre las tablas

Los índices pueden ser CDX o IDX:

Los índices .IDX son índices compactos se crean:"INDEX ON estado to estado compact" crea un archivo de índice llamadoestado.cdx. Desafortunadamente si alguna vez abre la tabla sin el índice y añadeun registro, éste no se actualizará y tendrá que ser recreado.

Los índices .CDX se crean: "INDEX ON estado tagestado" . Estos archivos se abren automáticamente junto con las tablas.

La estructura interna de los IDX y los CDX es diferente.

  1. Nombre del Indice (name)

    Introducir el Nombre del archivo índice. Es conocido también como TAG (etiqueta).

  2. Type ( tipo de Indice)

Primary : Llave primaria.

Candidate : Llave candidata

Unique : Llave única.

Regular : Llave foránea.

El índice Primary o Principal: garantiza que solo seintroduzcan valores únicos en un campo y determina el orden en el que seprocesan los registros. Cada tabla puede tener únicamente un índice Principal.

El índice Candidate o Candidato: puede ser un candidato parautilizarse como índice principal, refuerza la unicidad de los valores.

El índice Unique o Unico: almacena un lista de cada valor únicoen la tabla índices.

El índice Regular o Normal: puede ser utilizado para ordenary buscar datos en consultas e informes. No refuerza la unicidad de los datos

c. Nombre de la Expresión

Nombre de los campos que conforman la clave primaria:

Ejemplo : id, o si son varios campos : id + linea

Nota: si los campos no son del mismo hay que forzarlos altipo de dato deseado, ejemplo: si id es carácter y linea, entocesel nombre de la expresion sería:

Id + STR(linea)

STR() convierte de número a carácter y VAL() convierte decarácter a númerico.

Después de detallar los índices, se define los eventos deLa validación a nivel de registro y los eventos que se ejecuten a la hora deInsertar un registro, de actualizar o borrar.

 

 

Visual Foxpro tiene 37.767 espacios de trabajo, llamadas áreasde trabajo porque una tabla deber ser seleccionada para volverla la tablaactual. Cuando se inicia Visual FoxPro el área de trabajo es la 1 por omisión.Para abrir una tabla en el área de trabajo 1 cuando ninguna otra tabla estáabierta, tecleamos en la Ventana de Comandos:

USE nombretabla

No necesariamente debe estar en un área de trabajo paraabrir una tabla puede especificar: USE nombretabla IN 3

Sin embargo con mas frecuencia se utiliza: USE nombre tablaIN 0 lo que significa encuentre el área de trabajo siguiente en la que no seencuentre abierta una tabla y abre nombretabla ahí.

Cuando se utiliza una tabla Visual FoxPro le asigna un alias,un nombre de hasta 10 caracteres con el cual se refiere a ella en el programa,generalmente el alias es el mismo nombre que el de la tabla

Para crear una tabla desde la Ventana de Comandos: CREATE<nombretabla>

Para modificar una tabla Administrador de Proyectos | Datos |Base de Datos| Tablas | Seleccionamos la tabla | Modificar.

Desde la Ventana de Comandos: Use tabla | MODIFY ESTRUCTURE

En Visual FoxPro existe la Ventana de comandos ésta fungecomo la ventana de MSDOS que puede utilizarse desde Windows con la finalidad depermitir utilizar comandos del lenguaje para ejecutar algunas funciones. Porejemplo desde Windows desde el explorador podemos examinar el contenido de undisckette acción que también podemos hacer si abrimos una ventana de MSDOS ytecleamos DIR A:. Es decir a pesar de que se pueden tener acceso a la mayoríade los elementos de Visual FoxPro desde el menú muchas veces es útilsimplemente teclear un comando.

Para activar la Ventana de Comandos auque ella aparece pordefecto en el en el entorno de trabajo tecleamos Ctrl. F2

Para agregar registros a una tabla : Administrador deProyectos | Datos | Base de Datos | Tablas | Seleccionamos la tabla | Examinar yluego en el menú Ver | Modo Añadir

Desde la Ventana de Comandos: Teniendo la tabla activaescribimos APPEND.

Para ver los registros de una tabla: Administrador deProyectos | Datos | Base de Datos | Tablas | Seleccionamos la tabla | Examinar.

Desde la Ventana de Comandos: teniendo la tabla activaescribimos BROWSE.

En Visual Foxpro los registros de una tabla pueden borrarse lógicamentey físicamente.

Para borrar lógicamente un registro : Administrador deProyectos | Base de Datos | Tablas | Seleccionamos la Tabla | Examinar luego conel ratón hacemos Click en la primera columna de izquierda a derecha, la columnaen la celda seleccionada se colocará de color negro.

Desde la Ventana de Comandos: DELETE (Teniendo seleccionadoel registro)

Para ver los registros de una tabla sin que aparezcan losregistros borrados lógicamente:

Primero desde la Ventana de Comandos debemos teclear : SETDELETE ON y luego desde el Administrador de Proyectos | Datos | Base de Datos |Tablas | Examinar .

También desde la Ventana de Comandos con el comando BROWSE

Si queremos incluso los registros borrados lógicamentetecleamos en la Ventana de Comandos SET DELETE OFF y luego tecleamos BROWSE.

Para desmarcar los registros borrados lógicamente (desde laVentana de Comandos): Suponemos que anteriormente habían sido borrados losempleados cuyo sueldo era 15000: DELETE FOR sueldo=15000

Para desmarcar estos registros : RECALL FOR sueldo=15000

Para borrar físicamente registros de una tabla primero debenestar borrados lógicamente

Y luego desde la Ventana de Comandos tecleamos el comandoPACK, para utilizar este comando la tabla debe ser abierta en modo exclusivo USEnombretabla EXCLUSIVE .

Algunos comandos para manipular tablas:

List for cedula="12434213" Muestra en el entorno detrabajo la informacion del registro que cumpla con esta condición.

List fields cedula,nombre. Muestra en el entorno de trabajotodas las cédulas y nombres de la tabla seleccionada.

Sum cantidad (suponemos que la tabla activa tiene un campo detipo numérico llamado cantidad). Muestra en el entorno de trabajo la suma delcampo cantidad de la tabla activa.

Sum cantidad for cantidad>1000 Obtiene la suma de loscampos cantidad de los registros que cumplen con la condición indicada

Count to Registros for nota>15 (quermos contar losregistros de una tabla cuyo campo nota sea mayor a 15 puntos, guardar este totalen una variable llamada Registros ) Si luego queremos examinar el contenido dela variable Registros tecleamos ?Registros (signo de interrogación que cierra yluego el nombre de la variable que queremos examinar)

Comandos SEEK y LOCATE

Los comandos Locate y Seek permiten buscar un registro enparticular. Locate funciona en cualquier campo dentro de una tabla ya sea queesté indexada o no Seek da por hecho que la clave que está buscando encaja conel índice actual.

Locate for nombre="Luis" La tabla activa posicionasu cursor el registro que cumpla con esta condiciòn.

Seek("Luis") ERROR

Set order to nombre (CORRECTO) Primero se debe activar el ìndice

Seek("Luis") y luego hacer la bùsqueda

La funciòn Set filter:

Esta funciòn provoca que Visual FoxPro se comporte como sino existieran los registros que no coinciden con la expresiòn de filtro, y enlas operaciones que se realicen solo se tomaràn en cuenta las registros quecumplen con la condiciòn del filtro actual.

Set filter to nota=15

Para desactivar un filtro colocamos set filter to y para

 

Como moverse en una tabla de VFP

Skip mueve el puntero hacia delante un registro

Skip - 1 mueve el puntero hacia tras un registro

Go top mueve el puntero hacia el primer registro de la tabla

Go bottom mueve el puntero hacia el ùltimo registro de latabla.

Go 3 mueve el puntero hacia el registro #3 de la tabla

Operaciones Ciclìcas:

Existen una cantidad de mecanismos de ciclos que puedeutilizar para moverse a travès de una tabla. El principal es SCAN

Por ejemplo:

Select Cliente (No hay necesidad de hacer go top)

Scan

Sueldo=sueldo + 5000

Endscan

Las lìneas de còdigo entre Scan y Endscan se ejecutaràn 1vez por cada registro de la tabla.

Lo mismo se puede hacer con :

Select Cliente

Go top

Do While not eof()

Sueldo=sueldo+5000

Skip

Enddo

La instrucciòn FOR:

For i=1 to 10

Cont=cont+1;

endfor

Para eliminar una tabla:

Para eliminar una tabla con los indices principales,valores predeterminados y reglas de validaciòn asociadas a la tabla use elcomando DROP nombretabla por ejemplo:

Open Database inscripciones

Drop table alumnos

Uso de Funciones:

Str() convierte a String

Val convierte a nùmero

Date() devuelve la fecha del sistema

Hoy=Date()

 

GetDir() Obtiene el directorio por defecto

Cd GetDir

Imprime el dìa de la semana

?Dow(Date())

Len() Devuelve el nùmero de caracteres de una expresiònde caracteres

Recno() Obtiene la posiciòn de un registro

Para cerrar abierta en el àrea de trabajo actual utilizamosel comando USE

Uso de Procedimientos y Funciones:

Procedure Nombreprocedure

*Aquí va el còdigo ejecutable

endproc

Function Nombrefuncion

*aquí va el còdigo ejecutable

endfunc

El valor devuelto de forma predeterminada es verdadero (.t.)pero puede utilizarse el comando Return

Function semanas(dDate)

Return dDate + 14

Endfunc

Si se incluyen los procedimientos y funciones en unarchivo de programa disttinto, podrà hacer accesibles estos procedimientos yfunciones desde su programa si utiliza el Set procedure to. Por ejemplo: Sitiene un archivo llamado: FunProc.prg se utiliza el siguiente comando:

 

Set Procedure to FunProc.prg

Llamado a un procedimiento o a una fuciòn:

-Utilizar el Do:

Do Miproc

-Incluir delante del nombre de la funciòn un signo (=) eincluir parentesis despues del nombre de la funciòn. Por ejemplo

=Mifuncion()

Envìo de valores a un Procedimiento o a una Funcion:

Procedure Nombreprocedimiento(eString)

*La linea siguiente muestra un mensaje

messagebox("Mi proc" + eString)

endproc

El paso de paràmetros a una funciòn es exactamente igual.

Para invocar a un procedimiento:

Do nombreprocedimiento with parametro ò

=NombreFunciòn(paràmetro)

 

Con mùltiples paràmetros:

 

Procedure nombreproc (dDate, eString,Ntimes)

*Codigo ejecutable

endproc

En la llamada: do nombreproc with Date(), "Hola",10

Comprobaciòn de Paràmetros en un Procedimiento o una funciòn

Function Semanas (dDate)

If type("dDate")="D"

Return dDate + 14

Else

Messagebox("Requiere un paràmetro de fecha")

Return{} &&Devuelve una fecha vacìa

endif

endfunc

Procedure valores (cStore, dDate2, nDatos)

If parameters()<3

Messagebox("No se han pasado suficientes paràmetros")

Return .f.

Else

If parameters()=3

*Operar con los paràmetros

endif

endif

endproc

Si se especifican dos paràmetros pero llamò alprocedimiento con tres paràmetros, obtendrà un mensaje de erros. Pero si unprocedimiento espera mas paràmetros de los que recibe, los paràmetrosadicionales se inicializaràn como falso (.F.)

 

Ejercicio Práctico:

Cree la siguiente base de datos con el nombre de scott.

 

RELACIONES ENTRE TABLAS:

Las relaciones mas comunes entre tablas se definen :

De uno a uno : Ejemplo de una llave primaria a otra llaveprimaria

De uno a muchos : Ejemplo de una llave primaria a unaRegular o Foránea.

Las relaciones entre tablas se crean arrastrando la llave dela tabla a la llave de otra tabla.

 La figura muestra una relación entre las tablas región ydepartamento, la relación se leería así : "Una región tiene muchosdepartamentos".

Generación de integridad referencial

Reglas que rigen la coherencia de datos, específicamente lasrelaciones entre las claves principal y externa de claves de tablas distintas.Visual Foxpro Resuelve la Integridad Referencial mediante reglas a nivel decampo y a nivel de registro definidas por el usuario. El Generador de laIntegridad Referencial le ayuda a definir reglas para controlar cómo seinsertan actualizan o eliminan registros de tablas relacionadas.

Desencadenante: código de evento a nivel de registro quese ejecuta despues de una inserción, una actualización o una eliminación. Seocupan para integridad entre las tablas.

El establecimiento de la integridad referencialimplica la creación de un conjunto de reglas para preservar las relacionesdefinidas entre las tablas al introducir o eliminar registros.

Si exige la integridad referencial, Visual FoxPro impedirálas acciones siguientes:

     

  • · Agregar registros a una tabla relacionada cuando no haya ningún registro asociado en la tabla primaria.

     

     

  • · Cambiar valores de una tabla primaria cuando tales cambios supongan dejar registros huérfanos en una tabla relacionada.

     

     

  • · Eliminar registros de una tabla primaria cuando tengan registros relacionados coincidentes.

     

 

Si lo desea, puede escribir sus propios desencadenantesy procedimientos almacenados para exigir la integridad referencial. Sin embargo,el Generador de integridad referencial (IR) de Visual FoxPro permite determinarlos tipos de reglas que desea exigir, las tablas a las que desea exigirlas y loseventos del sistema que harán que Visual FoxPro las compruebe.

El Generador de IR trata múltiples niveles de eliminacionesy actualizaciones en cascada, y es recomendable como herramienta para asegurarla integridad referencial.

Para abrir el Generador de IR

1 Abra el Diseñador de bases de datos.

2 En el menú Base de datos, elija Editarintegridad referencial.

 

Al utilizar el Generador de IR para crear reglas que se van aaplicar a la base de datos, Visual FoxPro guarda el código generado para exigirlas reglas de integridad referencial como desencadenantes que hacenreferencia a procedimientos almacenados. Para ver este código puedeabrir el editor de texto de procedimientos almacenados en la base de datos. Sidesea información sobre la forma de crear desencadenantes por programa,consulte Uso de desencadenantes en el capítulo 7, Trabajo con tablas.

Precaución Cuando haga cambios en el diseño de una basede datos, como modificaciones en sus tablas o alteraciones enlos índices utilizados en una relación persistente, debevolver a ejecutar el Generador de IR antes de utilizar de nuevo la base dedatos. De esta forma se revisarán el código de procedimiento almacenadoy los desencadenantes utilizados para exigir la integridad referencial,de forma que reflejen el nuevo diseño. Si no vuelve a ejecutar el Generador deRI, puede que obtenga resultados inesperados, ya que no se habrán actualizadolos procedimientos almacenados y los desencadenantes para ajustarlos a lasmodificaciones.

 

El Generador IR se muestra cuando:

 Hace doble clic en una línea de relación entre dos tablasdel Diseñador de bases de datos y elige el botón IntegridadReferencial en el cuadro de diálogo Editar relación.

 Elige Integridad referencial en el menú contextual del Diseñadorde bases de datos.

 Elige Editar integridad referencial en el menú Base dedatos.

 

Fichas del generador

Reglas para la actualización Especifica reglas paraaplicar cuando se modifica el valor clave de la tabla primaria.

Reglas para la eliminación Especifica las reglas que seaplican cuando se elimina un registro de la tabla primaria.

Reglas para insertar Especifica las reglas que se aplicancuando se inserta un nuevo registro o cuando se actualiza un registro existenteen la tabla secundaria.

VISTAS LOCALES:

 

¿Qué es una vista?

Una vista es un objeto que se crea empleando la instrucciónSELECT de SQL para bases de datos relacionales. Las vistas pueden ser locales oRemotas

 

SELECT campos

FROM tablas

WHERE condicion

GROUP BY campos de agrupamiento

ORDER BY campos de ordenamiento

Ejemplo:

SELECT cedula, nombre

FROM Alumnos

ORDER BY nombre

 

Creación de una vista local.

 

Clic en el botón para crear vistas locales.

 

La ventana para agregar las tablas, se utiliza para añadirtablas que se van a ocupar en la instrucción SELECT – SQL, en este caso estaríamosseleccionando la parte del FROM. Seleccionemos s_region y luego Agregar. Latabla se agregará, luego le damos cerrar (close).

 

Ventana de creación de la vista:

 Fields: (Campos) Aquí se seleccionan los campos de la vista(SELECT campos)

Join : Relaciones entre tablas

Filter : Condición de filtrado (WHERE condición)

Order by : campos de ordenamiento (ORDER BY)

Group by : campos de Agrupamiento (GROUP BY)

CREACION DE VISTAS REMOTAS:

Una vista remota es una vista que se hace de otra base dedatos vía ODBC. Esta base de datos puede ser Access, ORACLE, SQL-SERVER, entreotros.

 

Crear una vista remota:

 

Clicen icono para crear vista remotas.

 

Escoger Nueva Vista (New View)

 

Si no a creado una conexión es necesario crear en New,si ya esta creada seleccione la conexión y luego OK.

 

¿Como crear una conexión?

Si no ha creado la conexión seleccione New

 

Siga estos pasos cuidadosamente:

1. Seleccione New Data Source (Nueva Fuente de Datos)y aparecerá la configuración del ODBC:

 

 2. En el folder User DSNPresione el botón Add (Agregar)

  1. Escoja de la ventana el Controlador deseado, Ejemplo: Microsoft Access Driver (*.mdb) y luego el botón Finalizar.

  2. Luego aparece la Ventana de ODBC del controlador que selecciono (En este caso en de Access)

Escriba el nombre del Data Source (Fuente de datos), Luego seleccione la Base de Dato a la que hace referencia ( en el boton Select Database)

 

Luego de haber seleccionado la base de datos, acepte todaslas ventanas que aparecieron anteriormente y detengase en la siguiente ventana:

Luego seleccione de la lista de data source el data sourceque usted acaba de crear.

Luego presione Aceptar (OK).

Después le aparece la primera Ventana donde escoge lasconexiones, le aparecerá la conexión que usted ha creado.

Nota: Esta conexión que usted a creado servirá parasesiones futuras.

 

 

Seleccione la conexión creada y luego Aceptar (OK)

Luego le aparecerá la ventana donde usted escoge las tablasque utilizará:

 

Luego aparecerá la ventana donde se diseña la vista:

 

El procedimiento para crear la vista es igual a la creaciónde vista Locales.

  

 

Consultas a la BD usando SELECT-SQL

  

SELECT - SQL usando dos o mas tablas:

 Sintaxis :

SELECT alias1.campo1

,alias2.campo2

,alias3.campo3

FROM tabla1 alias1

,tabla2 alias2

,tabla3 alias3

WHERE alias1.campo1 = alias2.campo2

alias1.campo2 = alias2.campo3

  Ejemplo :

Un ejemplo sencillo: si queremos listar el nombre delempleado, el id del departamento, y el nombredel departamento al que pertenece el empleado la query (consulta)sería:

 

SELECT A.nombre AS empleado

,A.dept_id

,B.nombre AS depto

FROM s_emp A

,s_dept B

WHERE A.id = B.region_id

 

 

Ejercicios :

Seleccionar el No. depto, apellido, salario y cargo para losempleados que ganen mas de 100 y el departamento este en 41, 10 y 50

select dept_id

,nombre

,salario

,cargo

from s_emp

where salario > 100

and dept_id IN (41,10,50)

 

seleccionar el apellido, del empleado, id del depto, y elnombre del depto.

select a.nombre AS empleado

,b.id

,b.nombre AS depto

from s_emp a

,s_dept b

where a.id = b.dept_id

Seleccionar el apellido del empleado, no del depto, el nombredeldepto para los depto que esten entre 20 y 50 sin incluirlos.

select a.nombre AS empleado,

b.id,

b.nombre AS depto

from s_emp a, s_dept b

where a.id = b.dept_id

and b.id > 20 and b.id < 50

seleccionar el nombre del empleado no. del depto, nombre deldepto, para los deptos que comiencen con 4 y ordenados el numero de depto ynombre del empleado desc

select a.nombre AS empleado,

b.id,

b.nombre AS depto

from s_emp a,

s_dept b

where a.id=b.dept_id

and ALLTRIM(STR(b.id)) like '4%'

order by a.nombre asc,

b.id

Seleccionar el nombre del cliente para aquellos empleados queel no del depto sean 30, 40, 41, 42 y el ( salario sea mayor que 1000 o el deptosea 50 )

 

select a.nombre AS cliente,

b.nombre AS empleado,

b.salario,

b.id,

b.dept_id

from s_customer a,

s_emp b

where a.emp_id=b.id

and b.dept_id IN (30,40,41,42)

and (b.salario > 1000 or b.dept_id='50')

 

Otra soluccion:

select a.nombre

from s_customer a

where a.emp_id IN (Select id

from s_emp

where dept_id in (30, 40,41,42)

and (salario > 1000 or dept_id=50 )

 

Seleccionar el nombre del cliente, nombre de region y elsalario para todos los empleados que el salario sean mayor que 100

select a.nombre AS empleado,

b.nombre AS depto,

a.salario

from s_emp a,

s_dept b

where a.dept_id=b.id

and a.salario > 100

 

Funciones de grupos

salarios minimos y maximos de los empleados

select max(salario) sal_max,

min(salario) sal_min

from s_emp

 

 

Suma, maximo, minimo salario por Departamento

select dept_id,

sum(salario),

max(salario),

min(salario)

from s_emp

group by dept_id

 

*---

select dept_id,

count(dept_id)

from s_emp

group by dept_id

having dept_id > 20

*---

select dept_id,

sum(salario)

from s_emp

group by dept_id

having sum(salario) between 2000 and 4000

 

*---

select avg(salario),

min(salario),

max(salario),

sum(salario)

from s_emp

where UPPER(title) like 'SALES%'

 

*---

select count(nombre),

dept_id

from s_emp

where dept_id=31

group by dept_id

 

 

SELECT COUNT(ID),

DEPT_ID

FROM S_EMP

GROUP BY DEPT_ID

 

 SELECT COUNT(ID),

CREDIT_RATING

FROM S_CUSTOMER

GROUP BY CREDIT_RATING

*----

SELECT SUM(SALARIO), CARGO

FROM S_EMP

WHERE upper(TITLE) NOT LIKE 'VP%'

GROUP BY CARGO

*----

SELECT SUM(SALARIO), TITLE

FROM S_EMP

GROUP BY TITLE

*----

 

SELECT TITLE, SUM(SALARIO)

FROM S_EMP

WHERE UPPER(TITLE) NOT LIKE 'VP%'

GROUP BY TITLE

HAVING SUM(SALARIO)> 5000

*----

 

 Formularios Sencillos

Un Formulario Sencillo, es el que es realizado generalmenteutilizando una sola tabla.

Un ejemplo típico de formularios sencillos son las pantallasde los catálogos de un Sistema, que solamente tienen la función de registrar,modificar, eliminar y consultar datos de una tabla.

Por ejemplo vamos a construir una forma sencilla utilizandoel Wizard de Visual Foxpro:

 

     

  1. Abra su proyecto

     

     

  2. Ubíquese en la pestaña de documentos (document) y luego en Formas (Forms).

     

     

  3. Presione el Botón Nuevo (New).

     

     

  4. Seleccione Wizard.

     

    Aparece la siguiente ventana:

     

     

     

  5. Seleccione Form Wizard y OK.

     

     

  6. Luego aparece la ventana donde usted escoge la tabla a utilizar y los campos de esa tabla. 

     

     

  7. Una vez seleccionado la tabla y sus respectivos campos, presiones próximo (Next).

     

     

  8. Se visualizará la siguiente ventana:

     

 10. Seleccione el estilo de la forma y el tipo debotones a utilizar en la forma y luego presione próximo (Next).

11. Aparecerá la siguiente ventana:

   Para visualizar todas las imágenes faltantes haga click enel menu superior "Bajar Trabajo".

12. Seleccione el ordenamiento de la tabla, aquí por logeneral se selecciona el índice de la tabla ( los índices aparecen conasterisco *)

 

 

 13. Introduzca el titulo de la forma y luego Finalizar (Finish)

Visual Foxpro Generará la forma, luego usted puede modificarla forma si lo desea.

La forma, que creamos con el wizard, quedaría de esta forma:

 

 Nota: Reconstruya el proyecto en la opción Build (botóndel proyecto). Luego Seleccione Rebuild Proyect y OK.Visual Foxpro, compila su proyecto.

Notará que en la pestaña de clases de su proyecto VisualFoxpro le ha agregado una clase que él ocupa para construir formas con el Wizard,el nombre de la clase es WizStyle.

  Formularios Maestro - Detalle

 

Un formulario maestro detalles es aquel en que entran enjuego dos o más tablas, las cuales tengan una relación de uno a muchos.Ejemplo la relación de s_region con s_dept ( una región puede tener muchosdepartamentos).

 

Se pueden construir formas mestro-detalle utilizando elWizard, sin embargo, nosotros utilizaremos la forma manual para personalizar anuestro gusto la forma.

 

Pasos para construir una forma maestro - detalle

Para este ejemplo utilizaremos las tablas s_region y s_dept

 

     

  1. Abra su proyecto

     

     

  2. Ubíquese en la pestaña de documentos (document) y luego en Formas (Forms).

     

     

  3. Presione el Botón Nuevo (New).

     

     

  4. Seleccione Nueva Forma en blanco.

     

     

  5. En la forma en blanco presione el botón derecho del ratón y luego Entorno de Datos (Data Environment)

     

6. Seleccione las tablas s_region, que será elmaestro y luego la tabla s_dept que será nuestro detalle.

 

7. Arrastre uno por uno los campos de la tabla s_region a suforma, de tal manera que queden asi:

8. Luego arrastre toda la tabla s_dept al formulario

     

  1. Ahora vamos a modificar las propiedades del Grid que hemos insertado: seleccionan el grid, botón derecho del ratón y luego propiedades. Se sitúan en la pestaña datos, para modificar las siguientes propiedades con el fin de establecer la relación entre las dos tablas:

     

 

 

En la clase se explicaron los procedimientos para IncluirModificar y Eliminar alumnos a una base de datos de inscripciones. En este estecodigo se estan actualizando clientes el código es análogo

Boton Incluir:

if thisform.incluir.caption="Incluir"

scatter memvar blank

thisform.incluir.caption="Guardar"

thisform.salir.caption="Cancelar"

thisform.text1.enabled=.t. (Recuerden que los texbox poseennombres que se

corresponden con la realidad txtcedula,txtnombre…,

aunque en este ejemplo no se planteen así debe

programarse)

thisform.text2.enabled=.t.

thisform.text3.enabled=.t.

thisform.text4.enabled=.t.

else

if thisform.text1.value<>''

if thisform.text2.value<>''

if thisform.text3.value<>''

if thisform.text4.value<>''

append blank

gather memvar

endif (Pueden mostrarse mensajes de validación de llenartodos

los campos antes de incluir un registro)

endif

endif

endif

thisform.incluir.caption="incluir"

thisform.salir.caption="Salir"

thisform.text2.enabled=.f.

thisform.text3.enabled=.f.

thisform.text4.enabled=.f.

endif

thisform.refresh

Boton Modificar:

if thisform.modificar.caption="Modificar"

thisform.text1.enabled=.f.

thisform.text2.enabled=.t.

thisform.text3.enabled=.t.

thisform.text4.enabled=.t.

thisform.modificar.caption="Guardar"

thisform.salir.caption="Cnacelar"

else

gather memvar

thisform.text1.enabled=.t.

thisform.text2.enabled=.f.

thisform.text3.enabled=.f.

thisform.text4.enabled=.f.

thisform.modificar.caption="Modificar"

thisform.salir.caption="Salir"

endif

 

Boton Eliminar

(Recuerden que en la ayuda de Visual FoxPro está la información de laaplicación de la función y/o procedimiento Messagebox)

if messagebox("Esta seguro que desea eliminar estecliente",36,"Confirmacion")=6

(Implementada como función)

delete

pack

messagebox("El registro fue eliminado",0,"Aviso")

(implementada como procedimiento)

scatter memvar blank

endif

thisform.refresh

Boton Salir:

if thisform.incluir.caption="Guardar"

thisform.text2.enabled=.f.

thisform.text3.enabled=.f.

thisform.text4.enabled=.f.

thisform.incluir.caption="Incluir"

thisform.Salir.caption="Salir"

else

if thisform.modificar.caption="Guardar"

thisform.text1.enabled=.t.

thisform.text2.enabled=.f.

thisform.text3.enabled=.f.

thisform.text4.enabled=.f.

thisform.modificar.caption="Modificar"

thisform.Salir.caption="Salir"

else

thisform.release

endif

endif

 

Boton Primero:

go top

m.codigo=clientes.codigo

m.nombre=clientes.nombre

m.telefono=clientes.telefono

m.direccion=clientes.direccion

thisform.refresh

Boton Ultimo:

go bottom

m.codigo=clientes.codigo

m.nombre=clientes.nombre

m.telefono=clientes.telefono

m.direccion=clientes.direccion

thisform.refresh

Boton Siguiente

if eof()

thisform.siguiente.enabled=.f.

go bottom

m.codigo=clientes.codigo

m.nombre=clientes.nombre

m.telefono=clientes.telefono

m.direccion=clientes.dirección

frmactcliente.refresh

else

skip 1

m.codigo=clientes.codigo

m.nombre=clientes.nombre

m.telefono=clientes.telefono

m.direccion=clientes.direccion

if thisform.anterior.enabled=.f.

thisform.anterior.enabled=.t.

endif

endif

thisform.refresh

Boton Anterior

if bof()

thisform.anterior.enabled=.f.

go top

else

skip -1

if thisform.siguiente.enabled=.f.

thisform.siguiente.enabled=.t.

endif

endif

m.codigo=clientes.codigo

m.nombre=clientes.nombre

m.telefono=clientes.telefono

m.direccion=clientes.direccion

thisform.refresh

Creación de Clases de Objetos

 

En Visual Foxpro se pueden crear clases de objetos que puedende uso muy común, como por ejemplo el botón salir es muy comun en todas laspantallas.

 

Pasos para creación de clases:

 

     

  1. Abra su proyecto

     

     

  2. Ubíquese en la pestaña de classes.

     

     

  3. Presione el Botón Nuevo (New).

     

     

     

     

     

     

  4. Introduzca el nombre de la clase, el tipo de clase (en este caso Boton de comando) y guardarlo como curso.
  5. Inmediatamente aparecerá la siguiente pantalla:

     

  6. Personalice el botón y luego cierre la ventana y sálvelo.
  7. La clase que usted a creado aparecerá en la pestaña clases de su proyecto:

Cómo hacer uso de la clase :

 

  1. Cree o Abra una forma

     

     

    2. presione el botón de ver clases y luego agregar (Add) y seleccione la clase que usted a creado.

  2. Aparecerá la clase que usted a creado con el botón de salir

  3. Para poner el botón en la forma, seleccione el botón en la barra de controles y luego clic en la forma.

En clase se implementó una clase basada en la clase TextBoxque cambia el color de fondo y el color de la letra del Textbox cuando el texboxobtiene o pierde el focus ( utilizando los procedimientos LosFocus yGotFocus) de esta manera el usuario identifica mas facilmente el texbox activo

Código del Procedimiento LostFocus de la clase TxtColor(obtenel el focus)

This.backcolor=rgb(0,0,255) (color de fondo azul)

This.forecolor=rgb(255,255,255) (color de las letras blancas)

Código del Procedimiento GosFocus del la clase TextColor(perder el focus)

This.backcolor=rgb(255,255,255) (color de fondo blanca)

This.forecolor=rgb(0,0,0) (color de las letras negras)

 

 

Soporte de Tecnología ActiveX

 

Cuando usted instala Visual Foxpro, se instalan una serie decontroles ActiveX soportados por Visual Foxpro.

Un ActiveX, no es más que un control externo, es parecido auna clase ya que las clases se pueden guardar en un archivo (extensión VCX) ylos ActiveX tienen extensión OCX. La diferencia es que los VCX solo puedeocuparse en Visual Foxpro, mientras que los OCX se consideran como tecnologíaabierta, es decir, pueden ser utilizado por cualquier lenguaje visual comoVisual C++ o Visual Basic, por mencionar algunos.

 

Estos controles ActiveX, vienen hechos de fabrica, soncomercializables y no son modificables, sin embargo uno puede crear sus propiosOCX. Los lenguajes donde se pueden construir estos OCX actualmente son VisualC++ y Visual Basic. En visual Foxpro 5.0 usted no puede crear OCX.

 

Hay que tener mucho cuidado a la hora de comprar un OCX yverificar que lenguajes soporta, por que algunos OCX no son soportados poralgunos lenguajes visuales incluso con Visual Foxpro.

 

Cómo hacer uso de los ActiveX en Visual Foxpro:

 

Un OCX es un objeto por lo cual tiene propiedades y eventosimplícitos en él.

En el curso, utilizaremos dos Controles ActiveX :

  • OutLine control
  • Microsoft Progress Bar Control

 

OutLine control:

ElOutline Control se utiliza para hacer Arboles como por Ejemplo: Regiones condepartamentos (maestro-detalle)

 

Cómo agregar un ActiveX a la forma:

  1. Abra o Cree una nueva forma.
  2. Seleccione Ver clases
  3. Seleccione ActiveX Control
  4. Seleccione el control deseado, en este caso el Outline Control y póngalo en la forma.

 

5. Vamos a crear una forma maestro detalle utilizando elOutline Control. El Outline control presentará la información de las Regionesy vamos a agregar un Grid que serán los departamentos, Algo asi:

 

 

Completar Código del Outline control:

 

Método

Código

 

 

 

 

 

Init

*-------------------------------------

* Cargar el OCX

*-------------------------------------

*--------

pnIndex = 0

THIS.Additem( "Regiones" )

THIS.Indent( pnIndex ) = pnIndex

Select s_region

SCAN

pnIndex = pnIndex + 1

datos = ALLTRIM(name)

THIS.Additem(datos)

THIS.Indent( pnIndex ) = 1

THIS.PictureType(pnindex) = 2

THIS.ListIndex = pnindex

THIS.ItemData(pnIndex) = RECNO()

ENDSCAN

 

Click

SELECT s_region

GO RECORD THIS.ItemData(THIS.ListIndex)

THISFORM.REFRESH()

 

 El último paso es agregar el Grid con la tabla departamentos y luegoestablecer la relación con la tabla de regiones.

 

 Progress Bar Control:

 

Este control permite hacer una barra de progreso:

 

 

Propiedades :

Propiedad

Descripción

Max Máximo valor de la Barra (númerico)
Min Mínimo valor de la Barra (númerico)
Value Valor actual de la barra (númerico)

Almacenar objetos OLE en la Base de Datos:

 

Con Visual Foxpro se pueden almacenar objetos OLE en la Basede Datos, estos objetos OLE van desde una simple imagen BMP de Paintbruhs hastaun video clip, un documento en Word, una hoja en Excel un grafico.

Esto se llama OLE Automation (automatización OLE)

 

¿Qué se necesita para hacer OLE Automation?

Muy sencillo:

  • El campo de la tabla debe ser tipo General
  • Utilizar el control OLE Bound Control de Visual Foxpro
  • Utilizar el Comando APPEND GENERAL

Sintaxis de APPEND GENERAL

APPEND GENERAL Nombre Campo tipo General

[FROM Nombre Archivo]

[DATA Nombre de Variable]

[CLASS Nombre de la Clase OLE]

FROM : Por si deseamos insertar un Archivo existente en el disco

DATA : Si no es un archivo puede ser una variable, entonces se especifica

aquí.

CLASS : El nombre de la clase de la aplicación al que esta asociada elarchivo

o la variable.

Toda aplicación Windows ( Word, Excel, Graph, Paint,WordPad, Block de Notas, Power Point, entre otras) tienen un nombre de clase:

Por mencionar algunos nombres de clases:

Aplicación

Nombre de la clase

Paintbrush Picture PAINT.PICTURE
Documento de Word 97 WORD.DOCUMENT
Hoja de Calculo de Excel EXCEL.SHEET

Como conocer el nombre de clase de una aplicación Windows:

 

  1. Cree un formulario nuevo
  2. Inserte en el formulario el control OLE Container Control
  3. Insertar la Aplicación deseada: (Escoger el objeto y luego OK)

     

  4. Luego en las propiedades del objeto insertado buscar la propiedad OLECLASS:

 

Incluir en el Formulario el Objeto OLE:

 

Diseño de Reportes

 

Guia rápida visual:

 Los informes muestran datos y resumen datos en un formulario impreso o en pantalla. Los dos componentes principales de los informes son los datos y el formato. La fuente de datos del informe puede ser una tabla de base de dato, una consulta o una vista.

El primer paso para diseñar un informe es determinar los datos que se van a mostrar, y el segundo paso es determinar cuál va a ser el mejor formato para mostrar ese informe. Puede crear listados que se basen en una única tabla o en informes complejos.

El Generador de Informes es una herramienta flexible y de fácil uso para la creación, diseño y modificación de informes.

 

Pasos para Creación de Informes :

 

I. Selección de los datos

Esta es la parte más importante del informe, la selección de datos, hay que saber qué es lo que quiere el usuario o que el usuario muestre el diseño del informe que desea, para comenzar a trabajar.

Los datos pueden ser simples (utilizando una sola tabla), como listados de regiones, listado de departamentos, entre otros; o pueden ser algo mas complejos (utilizando mas de una tabla) Ejemplo Reportes agrupados, reportes consolidados, etc.

Los datos se pueden obtener directamente utilizando las tablas o utilizando SQL para crear cursores, esta última es la más recomendada para una aplicación multiusuario.

Existen varios tipos de informes entre ellos :

- Listados (Ej. Listados de regiones)

Muestra:

-------------------------------

id name

-------------------------------

01 Region 1

02 Region 2

--------------------------------

- Grupos con detalles ( o maestro detalles)

-------------------------------

Region

Departamento

-------------------------------

Region 1

Departamento a

Departamento b

Region 2

Departamento x

Departamento y

--------------------------------

 

- Matriciales o consolidados

--------------------------------------------

Rating

Region Excellent Good Poor

--------------------------------------------

Region 1 1 2 0

Region 2 3 0 1

--------------------------------------------

Totales 4 2 1

--------------------------------------------

 

Creación de Informes usando el entorno de datos:

1. En el administrador de proyectos, seleccione la ficha Documentos.

2. Seleccione Informes

3. Pulse el botón nuevo

4. Pulse el botón nuevo informe.

Aparece el generador de informes y al barra de herramientas Controles de informes.

5. Seleccione Entorno de datos y seleccione la tabla

6. Arrastre los campos a utilizar del entorno de datos en el informe en la parte de detalle

7. Introduzca los encabezados del reporte

 

8. Puede ver como queda el informe con el botón depresentación preliminar:

 

 Presentación Preliminar :

 

  

Menú de Reportes

 

Titulo/Sumario (Title/Summary):

Muestra el área del Titulo y el Sumario del Informe

Titulo : Aparece solo en la primera pagina del Reporte

Sumario : Aparece solo en la ultima pagina del Reporte

 

Agrupamiento de datos (Data Grouping)

 El agrupamiento de datos se utiliza para informes maestro – detalle.

  Variables:

 

Las variables son útiles para hacer cálculos con los datosdel reporte y luego presentarlas en el mismo reporte.

 

 Propiedades de los campos

 

Cada campo en el Informe posee propiedades :

 Creación de Informes usando Cursores SQL:

 1. Crear el cursor con el comando SELECT..... FROM .....WHERE....

2. Crear el Informe manualmente, con los nombres de camposdel cursor.

3. Correr el Reporte.

 

 

Ejemplo:

* Se define una ventana Personalizada

DEFINE WINDOW w_Output ;

FROM 0,0 TO 25,70 ;

TITLE 'Informes - INATEC' ;

CLOSE FLOAT GROW ZOOM SYSTEM

 

USE IN .\data\s_region IN 0

 

SELECT id, name

FROM s_region

INTO CURSOR c_region

 

* Si lo queremos por pantalla

REPORT FORM .\report\pp_detalles ;

PREVIEW WINDOWS w_output ;

NOEJECT NOCONSOLE

* Por Impresora

REPORT FORM .\report\pp_detalles ;

TO PRINTER PROMPT ;

NOEJECT NOCONSOLE

* Hacia un Archivo

REPORT FORM .\report\pp_detalles ;

TO FILE PUTFILE() ;

ASCII

* Cerrar el cursor

USE IN c_region

 

Integración de la Aplicación

 

Creación de Menús:

Guía rápida Visual:

 

  Tipos de Menús:

Existen dos tipos de menús : menú y Shortcut.

 

 Creación de Menús:

La creación de menús es un proceso que conlleva diferentespasos. Primero, debemos definir las opciones del menú y de los submenús.Luego, asignar funcionalidad a las opciones de menú. Finalmente, generar elprograma de menús.

Puede l generador de menús de Visual Foxpro para que leayude a construir menús rápidamente. El Generador de menús le permite definirla estructura y funcionalidad de su sistema de menús a través de cuadros de diálogode fácil uso y de listas desplegables que puede utilizar para crear y modificarsu sitema de menús.

 

Definición de las opciones de menú.

Los menús presentan su aspecto con una lista de opcionespara iniciar una actividad. La mayoría de los elementos de menú muestransubmenús u opciones adicionales cuando el usuario selecciona uno de estoselementos. Antes de generar un menú para una aplicación, tendrá quedeterminar que selecciones tendrá disponibles el usuario final y qué opcionesde menús pertenecen a otras opciones de menús (sub menus).

Cómo crear un nuevo menú

     

  1. Pulse la ficha de otros en el Administrador de proyectos.

     

    Aparece la página otros con las categorías de archivo de Menús, Texto y Otros.

     

  2. Seleccione menús en la lista de categorías

     

     

  3. Pulse el botón nuevo y escoja si es Menu o un Shortcut

     

 

4. Introduzca las opciones del menu y luego el resultado delmenú ( submenu, comando o procedimiento)

5. A la derecha del resultado se encuentra la opción crear omodificar según el caso. ( crea o modificar los resultados de la opción delmenu).

 

Tipos de Resultados :

Submenu : Si el menú contiene un submenu

Comando : Si la opción de ese menú invoca un comando(Ejemplo: DO FORM

Regiones, para llamar un formulario;

CLEAR EVENT, por lo general va en la opción Salir)

Procedimiento : Si la opción de ese menú invoca variaslíneas de comandos ( un procedimiento).

 

 

Opciones de Menú:

En las opciones del menú se especifican:

  • Teclas de Acceso directo
  • Mensajes del menú
  • Condición de habilita/No habilitar

 

 Generación del menú :

 

  1. En el menú escoja la opción Menú.
  2. Se le pregunta si desea grabar los cambios ( responda que si)
  3. Luego se le pide que proporcione el archivo de salida del menu ( escoja la ruta y el nombre del archivo, por lo general son extension MPR) y luego seleccione generar.
  4. Si existe ya el archivo se le pide si desea re-escribirlo ( seleccione que si)

 

 Como invocar al menú creado:

 

Al generar el menú se crea un archivo que por lo generaltiene extensión MPR que contiene el código para desplegar el menú.

La instrucción sería:

 

DO ruta y nombre del archivo MPR

 

Ejemplo : DO menu.MPR

 

  • Para volver a re establecer el menú por default de Visual Foxpro utilice la instrucción: SET SYSMENU TO DEFAULT

 

 

Creación del Ejecutable de la Aplicación.

Primero se tiene que crear un programa de inicio, al cual sele tiene que decir que ese es el programa que se ejecutara de primero ( esto sehace haciendo clic derecho en el programa que designemos como principal yescoger la opción main ( principal) del menú de opciones)

 

 Contenido Ejemplo del programa principal:

 

CLEAR ALL

* Variables Publicas

PUBLIC w_Output, g_año, gid_area, g_nivel, g_cambio,g_login_entry ;

,g_pass_entry, V_MENU_PRE, V_ERROR, g_acceso

* Definicion de Ventana para los Reportes

DEFINE WINDOW w_Output ;

FROM 0,0 TO 25,70 ;

TITLE 'Informes - BCN' ;

CLOSE FLOAT GROW ZOOM SYSTEM

* Ambiente

SET SYSMENU TO

SET ECHO OFF

SET TALK OFF

SET CENTURY ON

SET CLOCK STATUS

SET DATE brit

SET DELETE ON

SET PATH TO formenu,bmp,prg,data

SET EXCLUSIVE OFF

SET SAFETY OFF

SET REFRESH TO 5

SET REPROCESS TO AUTOMATIC

SET MULTILOCK ON

SET LOCK OFF

SET PROCEDURE TO .\prg\utility

* Fondo de la Pantalla principal

_SCREEN.Picture=".\bmp\fondo.bmp"

_SCREEN.WINDOWSTATE=2

_SCREEN.CLOSABLE=.F.

_SCREEN.CAPTION="Formulación Presupuestaria"

* Base de Datos

OPEN DATA .\SCOTT\scott SHARED

 

* Llamada al Menu

DO .\menu\menu.mpr

READ EVENT

CLEAR ALL

SET SYSMENU TO DEFAULT

Creación del Ejecutable

 

 

 

 

En el Administrador de proyectos seleccione la opcion Build,luego la opción build Executable y luego OK.

  • En las opciones es recomendable seleccionar Recompile All y display Error, para recompilar todos sus programas y formularios ; y Por si hay un error mostrarlo al final de la generación del Ejecutable.

 

 

Suerte en tu nuevo aprendizaje...

Para visualizar todas las imágenes faltantes haga click en el menu superior"Bajar Trabajo".

Trabajo enviado por:
Richard A. Sequera A.
Estudio: Ing. en Informatica, UCLA, Venezuela.
e-mail:
rsequera20@hotmail.com

Articulos relacionados:
Tablas Pivot con exel
Resumen:
Analizando y Reportando Con Tablas Pivot. Adicionando y eliminando datos. Añadiendo datos para el análisis. Reorganizando la tabla Pivot.
Manual de Excel 97
Resumen:
Para que sirve una planilla de calculo? Seleccion de elementos de una planilla de calculos. Los libros de cuentas de Excel. Mucho mas que una planilla de calculos. Como a...
Deficiencias legislativas en la protección de derechos de autor en software: propuesta de creación de la Ley de Derechos de Autor en Software
Resumen:
La computadora y sus antecedentes. Generaciones de computadoras. ¿Qué es software? La evolución del software. Características y componentes. Clasificaciones del software....
La interdisciplinariedad con el uso de los Software educativos a partir de la enseñanza de la Biología en el Preuniversitario
Resumen:
El artículo persigue como objetivo demostrar cómo lograr la interdisciplinariedad con el uso de los software educativos desde la enseñanza de la Biología en el Preunivers...
Propuesta, perfeccionamiento de métrica en la gestión de la calidad en el proceso de desarrollo de software (doc)
Resumen:
Hoy en día la calidad es un término que preocupa a las empresas productoras de software y que debe tenerse en cuenta en todas las etapas del desarrollo del mismo. Indepen...
Copyright © 2011 ilustrados.com, Monografias, tesis, bibliografias, educacion. Tofos los temas y publicaciones son propiedad de sus respectivos autores ©