Está en la página 1de 16

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

VISUAL FOX PRO 6.0


Profesor: Ja !e C"sar La#$a Sor a#o Es un sistema orientado a objeto para la generacin de Base de 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 un proyecto por separado y luego agregarlos a un proyecto existente o crear un proyecto y desde ste ir agregando los elemento !ue deba contener. "uando creamos un proyecto debemos crear una carpeta de trabajo en la se guarde el proyecto. Para indicarle a Visual Foxpro en cual directorio debe buscar los arc#i$os del proyecto debemos indicarle el directorio por defecto% en le men& 'erramientas en la opcin de (pciones en la fic#a de )rc#i$os, aparecer* la ruta por defecto el directorio de Vfp cambiamos este directorio por la carpeta en la !ue est* nuestro proyecto y seleccionamos )ceptar. Desde la Ventana de "omandos se utili+a el comando ,E- DEF)./- nombrederuta por ejemplo0 ,et default c01publico1practica 2/a Ventana de "omandos ser* explicada mas adelante3

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

ENTORNO %E %ESARROLLO O VENTANA PRINCIPAL El entorno de desarrollo son las partes $isuales de las !ue esta compuesto todo lenguaje de programacin $isual como lo son Visual FoxPro, Visual Basic, Delp#i, etc. ) continuacin $eamos la $entana de inicio de Visual FoxPro 4.5.

PARTES: Barra de Mens: Por medio de esta barra de men&s podremos acceder a todas las opciones !ue Visual FoxPro nos ofrece como )brir o "rear una Base de Datos, un 6eporte, etc. Barra de Herramientas: Por medio de esta barra de 'erramientas podernos acceder a todas las opciones !ue m*s se utili+an, sin necesidad de ir a los men&s a buscar sus respecti$as opciones, esto es para tener un acceso m*s r*pido. Ventana de Comandos: 7o sir$e para utili+ar comandos interacti$amente 2fuera de un programa3 con Visual FoxPro, para efectuar tareas de re$isin, mantenimiento y algunas otras cosas. CREACION %E LA BASE %E %ATOS 8. .bi!uese en la fic#a Datos y luego en Base de Datos y presione el botn 7ue$o

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

/a $entana del Dise9ador de Base da datos aparecer*0

Puede utili+ar la barra de #erramientas del Dise9ador para el control de la Base de Datos. Descripcin de los botones de la Barra de #erramientas 2Dise9ador de Base de Datos30 "rear una nue$a tabla.

)gregar una tabla existente Eliminar una tabla seleccionada :odificar una tabla seleccionada "reacin de Vistas remotas "reacin de Vistas locales Editar Procedimientos almacenados en la Base de Datos "reacin de "onexiones con $istas remotas Examinar el contenido la tabla 2B6(;,E3 /os nombres de las tablas deben ser de una a oc#o caracteres de largo y deben tener la extensin predeterminada .dbf 2database file0 arc#i$o de Base de Datos3 Crear una nueva tabla: 8. "lic< en el botn de 7ue$a tabla, aparecer* la $entana 7ue$a -abla

=. ,e selecciona 7ue$a -abla, luego aparece la $entana de guardar el arc#i$o, seleccione el directorio y el nombre de la tabla y luego presione el boton de guardar.

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

/a $entana del Dise9ador de tablas aparecer* en pantalla0 Esta es la parte m*s importante de la tabla, es a!u> donde se define la estructura de datos !ue contendr* dic#a tabla. El primer paso es definir los campos, tipos, tama9o, Formato y 6eglas de $alidacin. a3 Definicin de campos0 b) ,e introduce el nombre del campo 2No!&re3 el tipo de datos !ue soportar* 2T 'o3 y el tama9o. /os nombres de los campos pueden tener #asta =?@ caracteres sin espacios en blanco. For!a(o0 Es el formato de salida del campo, ejemplo si fuera n&merico A,AAA.AA o si fuera car*cter BBBBBBBBBBBB, para !ue solo acepte mayusculas M)s*ara $e e#(ra$a0 Igual !ue el Formato, lo &nico !ue es para la entrada de datos. T+(,-o0 Descripcin m*s precisa del campo, es de utilidad al dise9ar los Formularios. c3 Definicin del Display d3 Definicin de reglas de $alidacin a ni$el de campo /a $alidacin son triggers o e$entos !ue se ejecutan a ni$el de campo. Ejemplo0 una $alidacin de un campo !ue solo acepte n&meros positi$os. 2id C 53 Re.-a0 Es la regla de $alidacin, ejemplo0 id C 5, si !ueremos !ue acepte $alores positi$os. Me#sa/e0 Es el mensaje personali+ado !ue !ueremos !ue apare+ca en pantalla a la #ora de $iolarse la regla de $alidacin del campo. Ejemplo0 D,olo se aceptan n&meros positi$osE 2nota0 el texto debe escribirse entre comillas3. Va-or 're$e(er! #a$o0 Valor por defecto del campo. 2nota0 #ay !ue respetar el tipo de dato del "ampo3 /uego de #acer la definicin de los campos, pasamos a la definicin de Indices de la tabla, !ue ser* muy importante a la #ora de crear las relaciones entre las tablas. /os >ndices facilitan la ubicaciFn en la tabla de un registro especGfico asG como tambien determinan el tipo de relaciones !ue existen entre las tablas. /os >ndices pueden ser "DH o IDH0 /os >ndices .IDH son >ndices compactos se crean0 II7DEH (7 estado to estado compactI crea un arc#i$o de >ndice llamado estado.cdx. Desafortunadamente si alguna $e+ abre la tabla sin el >ndice y a9ade un registro, ste no se actuali+ar* y tendr* !ue ser recreado. /os >ndices ."DH se crean0 II7DEH (7 estado tag estadoI . Estos arc#i$os se abren autom*ticamente junto con las tablas. /a estructura interna de los IDH y los "DH es diferente. a. 7ombre del Indice 2No!&re3 b. Introducir el 7ombre del arc#i$o >ndice. Es conocido tambi n como -)J 2eti!ueta3. c. T 'o 2 tipo de Indice3 Principal0 /la$e primaria. "andidato0 /la$e candidata Knico0 /la$e &nica. 7ormal0 /la$e for*nea. E- +#$ *e Pr #* 'a-: garanti+a !ue solo se introdu+can $alores &nicos en un campo y determina el orden en el !ue se procesan los registros. "ada tabla puede tener &nicamente un >ndice Principal. Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 4

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 E- +#$ *e Ca#$ $a(o: puede ser un candidato para utili+arse como >ndice principal, refuer+a la unicidad de los $alores. E- +#$ *e U# *o: almacena un lista de cada $alor &nico en la tabla >ndices. E- +#$ *e Nor!a-: puede ser utili+ado para ordenar y buscar datos en consultas e informes. 7o refuer+a la unicidad de los datos d. 7ombre de la Expresin 7ombre de los campos !ue conforman la cla$e primaria0 Ejemplo : $, o si son $arios campos 0 $ 0 - #ea 7ota0 si los campos no son del mismo #ay !ue for+arlos al tipo de dato deseado, ejemplo0 si id es car*cter y - #ea, entoces el nombre de la expresion ser>a0 I$ 0 STR1- #ea2 ,-623 con$ierte de n&mero a car*cter y V)/23 con$ierte de car*cter a n&merico. Despu s de detallar los >ndices, se define los e$entos de /a $alidacin a ni$el de registro y los e$entos !ue se ejecuten a la #ora de Insertar un registro, de actuali+ar o borrar.

Visual Foxpro tiene LM.M4M espacios de trabajo, llamadas *reas de trabajo por!ue una tabla deber ser seleccionada para $ol$erla la tabla actual. "uando se inicia Visual FoxPro el *rea de trabajo es la 8 por omisin. Para abrir una tabla en el *rea de trabajo 8 cuando ninguna otra tabla est* abierta, tecleamos en la Ventana de "omandos0 USE #o!&re(a&-a 7o necesariamente debe estar en un *rea de trabajo para abrir una tabla puede especificar0 .,E nombretabla I7 L ,in embargo con m*s frecuencia se utili+a0 .,E nombre tabla I7 5 lo !ue significa encuentre el *rea de trabajo siguiente en la !ue no se encuentre abierta una tabla y abre nombretabla a#>. "uando se utili+a una tabla Visual FoxPro le asigna un alias, un nombre de #asta 85 caracteres con el cual se refiere a ella en el programa, generalmente el alias es el mismo nombre !ue el de la tabla Para crear una tabla desde la Ventana de "omandos0 CREATE 3#o!&re(a&-a4 Para modificar una tabla )dministrador de Proyectos N Datos N Base de DatosN -ablas N ,eleccionamos la tabla N :odificar. Desde la Ventana de "omandos0 .se tabla N MO%IF5 STRUCTURE En Visual FoxPro existe la Ventana de comandos sta funge como la $entana de :,D(, !ue puede utili+arse desde ;indoOs con la finalidad de permitir utili+ar comandos del lenguaje para ejecutar algunas funciones. Por ejemplo desde ;indoOs desde el explorador podemos examinar el contenido de un disc<ette accin !ue tambi n podemos #acer si abrimos una $entana de :,D(, y tecleamos DI6 )0. Es decir a pesar de !ue se pueden tener acceso a la mayor>a de los elementos de Visual FoxPro desde el men& muc#as $eces es &til simplemente teclear un comando. Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 5

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 Para a*( 6ar -a Ve#(a#a $e Co!a#$os aun!ue ella aparece por defecto en el en el entorno de trabajo tecleamos C(r-. F7 Para a.re.ar re. s(ros a ,#a (a&-a0 )dministrador de Proyectos N Datos N Base de Datos N -ablas N ,eleccionamos la tabla N Examinar y luego en el men& Ver N :odo )9adir Desde la Ventana de "omandos0 -eniendo la tabla acti$a escribimos APPEN%. Para 6er -os re. s(ros $e ,#a (a&-a: )dministrador de Proyectos N Datos N Base de Datos N -ablas N ,eleccionamos la tabla N Examinar. Desde la Ventana de "omandos0 teniendo la tabla acti$a escribimos BRO8SE. En Visual Foxpro los registros de una tabla pueden borrarse lgicamente y f>sicamente. Para &orrar -9. *a!e#(e ,# re. s(ro: )dministrador de Proyectos N Base de Datos N -ablas N ,eleccionamos la -abla N Examinar luego con el ratn #acemos "lic< en la primera columna de i+!uierda a derec#a, la columna en la celda seleccionada se colocar* de color negro. Desde la Ventana de "omandos0 %ELETE 1Te# e#$o se-e** o#a$o e- re. s(ro2 Para 6er -os re. s(ros $e ,#a (a&-a s # :,e a'are;*a# -os re. s(ros &orra$os -9. *a!e#(e: Primero desde la Ventana de "omandos debemos teclear 0 ,E- DE/E-E (7 y luego desde el )dministrador de Proyectos N Datos N Base de Datos N -ablas N Examinar . -ambi n desde la Ventana de "omandos con el comando BRO8SE ,i !ueremos incluso los registros borrados lgicamente tecleamos en la Ventana de "omandos ,EDE/E-E (FF y luego tecleamos BRO8SE. Para $es!ar*ar -os re. s(ros &orra$os -9. *a!e#(e 1$es$e -a Ve#(a#a $e Co!a#$os2: ,uponemos !ue anteriormente #ab>an sido borrados los empleados cuyo sueldo era 8?5550 DE/E-E F(6 sueldoP8?555 Para desmarcar estos registros0 RECALL FOR s,e-$o<=>000 Para &orrar f+s *a!e#(e re. s(ros $e ,#a (a&-a 'r !ero $e&e# es(ar &orra$os -9. *a!e#(e: Q luego desde la Ventana de "omandos tecleamos el comando PAC?, para utili+ar este comando la tabla debe ser abierta en modo exclusi$o USE #o!&re(a&-a EXCLUSIVE. A-.,#os *o!a#$os 'ara !a# ',-ar (a&-as: L s( for *e$,-a<@=74A47=A@ :uestra en el entorno de trabajo la informacion del registro !ue cumpla con esta condicin. L s( f e-$s *e$,-aB#o!&re. :uestra en el entorno de trabajo todas las c dulas y nombres de la tabla seleccionada. S,! *a#( $a$ 2suponemos !ue la tabla acti$a tiene un campo de tipo num rico llamado cantidad3. :uestra en el entorno de trabajo la suma del campo cantidad de la tabla acti$a. S,! *a#( $a$ for *a#( $a$4=000 (btiene la suma de los campos cantidad de los registros !ue cumplen con la condicin indicada Co,#( (o Re. s(ros for #o(a4=> 2!uermos contar los registros de una tabla cuyo campo nota sea mayor a 8? puntos, guardar este total en una $ariable llamada 6egistros 3 ,i luego !ueremos examinar el contenido de la $ariable 6egistros tecleamos R6egistros 2signo de interrogacin !ue cierra y luego el nombre de la $ariable !ue !ueremos examinar3 Co!a#$os SEE? C LOCATE /os comandos /ocate y ,ee< permiten buscar un registro en particular. /ocate funciona en cual!uier campo dentro de una tabla ya sea !ue est indexada o no ,ee< da por #ec#o !ue la cla$e !ue est* buscando encaja con el >ndice actual. Lo*a(e for #o!&re<@L, s@ /a tabla acti$a posiciona su cursor el registro !ue cumpla con esta condiciFn. SeeD1@L, s@2 ERROR Se( or$er (o #o!&re 1CORRECTO2 Primero se debe acti$ar el Gndice SeeD1@L, s@2 y luego #acer la bSs!ueda Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 6

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 La f,#* E# Se( f -(er: Esta funciFn pro$oca !ue Visual FoxPro se comporte como si no existieran los registros !ue no coinciden con la expresiFn de filtro, y en las operaciones !ue se realicen solo se tomarTn en cuenta las registros !ue cumplen con la condiciFn del filtro actual. Se( f -(er (o #o(a<=> Para desacti$ar un filtro colocamos se( f -(er (o y para

Co!o !o6erse e# ,#a (a&-a $e VFP SD ' mue$e el puntero #acia delante un registro SD ' F = mue$e el puntero #acia tras un registro Go (o' mue$e el puntero #acia el primer registro de la tabla Go &o((o! mue$e el puntero #acia el Sltimo registro de la tabla. Go A mue$e el puntero #acia el registro UL de la tabla O'era* o#es C *-H*as: Existen una cantidad de mecanismos de ciclos !ue puede utili+ar para mo$erse a tra$Vs de una tabla. El principal es SCAN Por ejemplo0 Se-e*( C- e#(e 27o #ay necesidad de #acer go top3 S*a# S,e-$o<s,e-$o 0 >000 E#$s*a# /as lGneas de cFdigo entre S*a# y E#$s*a# se ejecutarTn 8 $e+ por cada registro de la tabla. /o mismo se puede #acer con0 Se-e*( C- e#(e Go (o' %o 8I -e #o( eof12 S,e-$o<s,e-$o0>000 SD ' E#$$o /a instrucciFn FOR0 For <= (o =0 Co#(<*o#(0=J e#$for Para e- ! #ar ,#a (a&-a: Para eliminar una tabla con los indices principales, $alores predeterminados y reglas de $alidaciFn asociadas a la tabla use el comando %ROP nombretabla por ejemplo0 (pen Database inscripciones Drop table alumnos Uso $e F,#* o#es: S(r12 con$ierte a ,tring Va- con$ierte a nSmero %a(e12 de$uel$e la fec#a del sistema KoC<%a(e12 Ge(% r12 (btiene el directorio por defecto C$ Ge(% r Imprime el dGa de la semana L%oM1%a(e122 Le#12 De$uel$e el nSmero de caracteres de una expresiFn de caracteres Re*#o12 (btiene la posiciFn de un registro Para cerrar abierta en el Trea de trabajo actual utili+amos el comando USE Uso de Procedimientos y Funciones: Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 7

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 Pro*e$,re No!&re'ro*e$,re W)!u> $a el cFdigo ejecutable e#$'ro* F,#*( o# No!&ref,#* o# Wa!u> $a el cFdigo ejecutable e#$f,#* El $alor de$uelto de forma predeterminada es $erdadero 2.t.3 pero puede utili+arse el comando Re(,r# F,#*( o# se!a#as1$%a(e2 Re(,r# $%a(e 0 =4 E#$f,#* ,i se incluyen los procedimientos y funciones en un arc#i$o de programa distinto, podr* #acer accesibles estos procedimientos y funciones desde su programa si utili+a el Se( 'ro*e$,re (o. Por ejemplo0 ,i tiene un arc#i$o llamado0 FunProc.prg se utili+a el siguiente comando0 Se( Pro*e$,re (o F,#Pro*.'r. /lamado a un procedimiento o a una fuciFn0 X.tili+ar el %o0 %o M 'ro* XIncluir delante del nombre de la funciFn un signo 2P3 e incluir parentesis despues del nombre de la funciFn. Por ejemplo <M f,#* o#12 En$Go de $alores a un Procedimiento o a una Funcion0 Pro*e$,re No!&re'ro*e$ ! e#(o1eS(r #.2 W/a linea siguiente muestra un mensaje !essa.e&oN1@M 'ro*@ 0 eS(r #.2 e#$'ro* El paso de parTmetros a una funciFn es exactamente igual. Para in$ocar a un procedimiento0 %o #o!&re'ro*e$ ! e#(o M (I 'ara!e(ro E P7ombreFunciFn2parTmetro3 "on mSltiples parTmetros0 Pro*e$,re #o!&re'ro* 1$%a(eB eS(r #.BN( !es2 OCo$ .o e/e*,(a&-e e#$'ro* En la llamada0 do nombreproc Oit# Date23, I'olaI, 85 "omprobaciFn de ParTmetros en un Procedimiento o una funciFn F,#*( o# Se!a#as 1$%a(e2 If (C'e1@$%a(e@2<@%@ Re(,r# $%a(e 0 =4 E-se Messa.e&oN1@Re:, ere ,# 'arP!e(ro $e fe*Ia@2 Re(,r#QR SS%e6,e-6e ,#a fe*Ia 6a*Ha e#$ f e#$f,#* Pro*e$,re 6a-ores 1*S(oreB $%a(e7B #%a(os2 If 'ara!e(ers123A Messa.e&oN1@No se Ia# 'asa$o s,f * e#(es 'arP!e(ros@2 Re(,r# .f. E-se If 'ara!e(ers12<A OO'erar *o# -os 'arP!e(ros e#$ f e#$ f e#$'ro* Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 8

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 ,i se especifican dos parTmetros pero llamF al procedimiento con tres parTmetros, obtendrT un mensaje de erros. Pero si un procedimiento espera mas parTmetros de los !ue recibe, los parTmetros adicionales se iniciali+arTn como falso 2.F.3

EJERCICIO PRTCTICO: "ree la siguiente base de datos con el nombre de scott.

RELACIONES ENTRE TABLAS: /as relaciones mas comunes entre tablas se definen0 %e ,#o a ,#o: Ejemplo de una lla$e primaria a otra lla$e primaria %e ,#o a !,*Ios: Ejemplo de una lla$e primaria a una 6egular o For*nea. Crear Relaciones: /as relaciones entre tablas se crean arrastrando la lla$e de la tabla a la lla$e de otra tabla. /a figura muestra una relacin entre las tablas regin y departamento, la relacin se leer>a as> 0 I.na regin tiene muc#os departamentosI. Generacin de integridad re erencial: 6eglas !ue rigen la co#erencia de datos, espec>ficamente las relaciones entre las cla$es principal y externa de cla$es de tablas distintas. Visual Foxpro 6esuel$e la Integridad 6eferencial mediante reglas a ni$el de campo y a ni$el de registro definidas por el usuario. E- Ge#era$or $e -a I#(e.r $a$ Refere#* a- le ayuda a definir reglas para controlar cmo se insertan actuali+an o eliminan registros de tablas relacionadas. %ese#*a$e#a#(e: cdigo de e$ento a ni$el de registro !ue se ejecuta despues de una insercin, una actuali+acin o una eliminacin. ,e ocupan para integridad entre las tablas. Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 9

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 El establecimiento de la integridad referencial implica la creacin de un conjunto de reglas para preser$ar las relaciones definidas entre las tablas al introducir o eliminar registros. ,i exige la integridad referencial, Visual FoxPro impedir* las acciones siguientes0 Y )gregar registros a una tabla relacionada cuando no #aya ning&n registro asociado en la tabla primaria. Y "ambiar $alores de una tabla primaria cuando tales cambios supongan dejar registros #u rfanos en una tabla relacionada. Y Eliminar registros de una tabla primaria cuando tengan registros relacionados coincidentes. ,i lo desea, puede escribir sus propios desencadenantes y procedimientos almacenados para exigir la integridad referencial. ,in embargo, el Jenerador de integridad referencial 2I63 de Visual FoxPro permite determinar los tipos de reglas !ue desea exigir, las tablas a las !ue desea exigirlas y los e$entos del sistema !ue #ar*n !ue Visual FoxPro las compruebe. El Jenerador de I6 trata m&ltiples ni$eles de eliminaciones y actuali+aciones en cascada, y es recomendable como #erramienta para asegurar la integridad referencial. Para abrir el Generador de !R: 8. )bra el Dise9ador de bases de datos. =. En el men& Base de datos, elija Editar integridad referencial. )l utili+ar el Jenerador de I6 para crear reglas !ue se $an a aplicar a la base de datos, Visual FoxPro guarda el cdigo generado para exigir las reglas de integridad referencial como desencadenantes !ue #acen referencia a procedimientos almacenados. Para $er este cdigo puede abrir el editor de texto de procedimientos almacenados en la base de datos. ,i desea informacin sobre la forma de crear desencadenantes por programa, consulte .so de desencadenantes en el cap>tulo M, -rabajo con tablas. Pre*a,* 9#0 "uando #aga cambios en el dise9o de una base de datos, como modificaciones en sus tablas o alteraciones en los >ndices utili+ados en una relacin persistente, debe $ol$er a ejecutar el Jenerador de I6 antes de utili+ar de nue$o la base de datos. De esta forma se re$isar*n el cdigo de procedimiento almacenado y los desencadenantes utili+ados para exigir la integridad referencial, de forma !ue reflejen el nue$o dise9o. ,i no $uel$e a ejecutar el Jenerador de 6I, puede !ue obtenga resultados inesperados, ya !ue no se #abr*n actuali+ado los procedimientos almacenados y los desencadenantes para ajustarlos a las modificaciones. E- Ge#era$or IR se !,es(ra *,a#$o: Y 'ace doble clic en una l>nea de relacin entre dos tablas del Dise9ador de bases de datos y elige el botn Integridad 6eferencial en el cuadro de di*logo Editar relacin. Y Elige Integridad referencial en el men& contextual del Dise9ador de bases de datos. Y Elige Editar integridad referencial en el men& Base de datos. Fic"as del generador: Re.-as 'ara -a a*(,a- ;a* 9#: Especifica reglas para aplicar cuando se modifica el $alor cla$e de la tabla primaria. Re.-as 'ara -a e- ! #a* 9#: Especifica las reglas !ue se aplican cuando se elimina un registro de la tabla primaria. Re.-as 'ara #ser(ar: Especifica las reglas !ue se aplican cuando se inserta un nue$o registro o cuando se actuali+a un registro existente en la tabla secundaria. FORMULARIOS SENCILLOS .n Formulario ,encillo, es el !ue es reali+ado generalmente utili+ando una sola tabla. .n ejemplo t>pico de formularios sencillos son las pantallas de los cat*logos de un ,istema, !ue solamente tienen la funcin de registrar, modificar, eliminar y consultar datos de una tabla. Por ejemplo $amos a construir una forma sencilla utili+ando el )sistente de Visual Foxpro0 8. )bra su proyecto =. .b>!uese en la pesta9a de documentos 2document3 y luego en Formas 2Forms3. L. Presione el Botn 7ue$o 27eO3. )parece la siguiente $entana0

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

10

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

@. ?. 4. M. [. A.

,eleccione ;i+ard. ,eleccione Form ;i+ard y (Z. /uego aparece la $entana donde usted escoge la tabla a utili+ar y los campos de esa tabla. .na $e+ seleccionado la tabla y sus respecti$os campos, presiones prximo 27ext3. ,e $isuali+ar* la siguiente $entana0 ,eleccione el estilo de la forma y el tipo de botones a utili+ar en la forma y luego presione prximo 27ext3. 85. )parecer* la siguiente $entana0 Para $isuali+ar todas las im*genes faltantes #aga clic< en el menu superior IBajar -rabajoI. 88. ,eleccione el ordenamiento de la tabla, a!u> por lo general se selecciona el >ndice de la tabla 2 los >ndices aparecen con asterisco W3

8=. Introdu+ca el titulo de la forma y luego Finali+ar Visual Foxpro Jenerar* la forma, luego usted puede modificar la forma si lo desea. /a forma, !ue creamos con el Oi+ard, !uedar>a de esta forma0 FORMULARIOS MAESTRO F %ETALLE .n formulario maestro detalles es a!uel en !ue entran en juego dos o m*s tablas, las cuales tengan una relacin de uno a muc#os. Ejemplo la relacin de sUre. o# con sU$e'( 2una regin puede tener muc#os departamentos3. ,e pueden construir formularios !es(roF$e(a--e utili+ando el )sistente, sin embargo, nosotros utili+aremos la forma manual para personali+ar a nuestro gusto el formulario. Pasos 'ara *o#s(r, r ,#a for!,-ar o !aes(ro F $e(a--e Para este ejemplo utili+aremos las tablas sUre. o# y sU$e'( 8. )bra su proyecto =. .b>!uese en la pesta9a de documentos 2document3 y luego en Formas 2Forms3. L. Presione el Botn 7ue$o 27eO3. @. ,eleccione 7ue$a Forma en blanco. ?. En la forma en blanco presione el botn derec#o del ratn y luego Entorno de Datos 2Data En$ironment3 Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 11

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

4. ,eleccione las tablas s\region, !ue ser* el maestro y luego la tabla s\dept !ue ser* nuestro detalle.

M. )rrastre uno por uno los campos de la tabla s\region a su forma, de tal manera !ue !ueden asi0

[. /uego arrastre toda la tabla s\dept al formulario

AIora 6a!os a !o$ f *ar -as 'ro' e$a$es $e- Gr $ !ue #emos insertado0 seleccionan el grid, botn derec#o del ratn y luego propiedades. ,e sit&an en la pesta9a datos, para modificar las siguientes propiedades con el fin de establecer la relacin entre las dos tablas0

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

12

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

En la clase se explicaron los procedimientos para Incluir :odificar y Eliminar alumnos a una base de datos de inscripciones. En este este codigo se estan actuali+ando clientes el cdigo es an*logo

Bo(o# I#*-, r: if t#isform.incluir.captionPIIncluirI scatter mem$ar blan< t#isform.incluir.captionPIJuardarI t#isform.salir.captionPI"ancelarI t#isform.text8.enabledP.t. 26ecuerden !ue los texbox poseen nombres !ue se corresponden con la realidad txtcedula,txtnombre], aun!ue en este ejemplo no se planteen as> debe programarse3 t#isform.text=.enabledP.t. t#isform.textL.enabledP.t. t#isform.text@.enabledP.t. else if t#isform.text8.$alue^C__ if t#isform.text=.$alue^C__ if t#isform.textL.$alue^C__ if t#isform.text@.$alue^C__ append blan< gat#er mem$ar endif 2Pueden mostrarse mensajes de $alidacin de llenar todos los campos antes de incluir un registro3 endif endif endif t#isform.incluir.captionPIincluirI t#isform.salir.captionPI,alirI t#isform.text=.enabledP.f. t#isform.textL.enabledP.f. t#isform.text@.enabledP.f. endif t#isform.refres# Bo(o# Mo$ f *ar: if t#isform.modificar.captionPI:odificarI t#isform.text8.enabledP.f. t#isform.text=.enabledP.t. t#isform.textL.enabledP.t. t#isform.text@.enabledP.t. t#isform.modificar.captionPIJuardarI t#isform.salir.captionPI"nacelarI else Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 13

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 gat#er mem$ar t#isform.text8.enabledP.t. t#isform.text=.enabledP.f. t#isform.textL.enabledP.f. t#isform.text@.enabledP.f. t#isform.modificar.captionPI:odificarI t#isform.salir.captionPI,alirI endif Bo(o# E- ! #ar 26ecuerden !ue en la ayuda de Visual FoxPro est* la informacin de la aplicacin de la funcin y`o procedimiento :essagebox3 if messagebox2IEsta seguro !ue desea eliminar este clienteI,L4,I"onfirmacionI3P4 2Implementada como funcin3 delete pac< messagebox2IEl registro fue eliminadoI,5,I)$isoI3 2implementada como procedimiento3 scatter mem$ar blan< endif t#isform.refres# Bo(o# Sa- r: if t#isform.incluir.captionPIJuardarI t#isform.text=.enabledP.f. t#isform.textL.enabledP.f. t#isform.text@.enabledP.f. t#isform.incluir.captionPIIncluirI t#isform.,alir.captionPI,alirI else if t#isform.modificar.captionPIJuardarI t#isform.text8.enabledP.t. t#isform.text=.enabledP.f. t#isform.textL.enabledP.f. t#isform.text@.enabledP.f. t#isform.modificar.captionPI:odificarI t#isform.,alir.captionPI,alirI else t#isform.release endif endif

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

14

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011

Bo(o# Pr !ero: go top m.codigoPclientes.codigo m.nombrePclientes.nombre m.telefonoPclientes.telefono m.direccionPclientes.direccion t#isform.refres# Bo(o# U-( !o: go bottom m.codigoPclientes.codigo m.nombrePclientes.nombre m.telefonoPclientes.telefono m.direccionPclientes.direccion t#isform.refres# Bo(o# S ., e#(e if eof23 t#isform.siguiente.enabledP.f. go bottom m.codigoPclientes.codigo m.nombrePclientes.nombre m.telefonoPclientes.telefono m.direccionPclientes.direccin frmactcliente.refres# else s<ip 8 m.codigoPclientes.codigo m.nombrePclientes.nombre m.telefonoPclientes.telefono m.direccionPclientes.direccion if t#isform.anterior.enabledP.f. t#isform.anterior.enabledP.t. endif endif Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049 15

COMPLEJO EDUCATIVO PRIVADO PITAGORAS BOLETIN COMPUTACIN 4TO II B 2011 t#isform.refres# Bo(o# A#(er or if bof23 t#isform.anterior.enabledP.f. go top else s<ip X8 if t#isform.siguiente.enabledP.f. t#isform.siguiente.enabledP.t. endif endif m.codigoPclientes.codigo m.nombrePclientes.nombre m.telefonoPclientes.telefono m.direccionPclientes.direccion t#isform.refres#

XXXXXXXX 5 XXXXXXXX

DEntiendes perfectamente !ue no es lo mismo fracasar !ue ser un fracasado% !ue el ayer ya pas y #oy es otro d>a.E

Calle Manuel Fuentes N 320 - El Tambo - Huancayo 253049

16