Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Campurile memo

fox pro



+ Font mai mare | - Font mai mic



Campurile memo

Pentru fisierul dbf care are campuri memo , exista asociat un tabel de extensie .fpt In campul memo exista un cod care ne arata daca campul este gol sau contine o informatie. de asemenea se gaseste informatie care ne duce la locul de depozitare a informatiei -> tabel.fpt Pentru a vedea sau construi aceste campuri:



1.intram in browse

2.dubluclick pe memo

3.se deschide o fereastra de editare unde putem introduce

orice sau doar sa-l vizualizam

4.dupa editare salvam continutul cu CTRL+W

Utilizarea unui filtru

SET FILTER TO <conditie>

unde:

conditie este conditia de filtrare (simpla sau compusa)

Obs.:

O comanda SET FILTER este valabila numai pentru tabelul activ, adica tabelul respectiv trebuie sa fie deschis inainte de a da comanda.

exemplu:

use reg_cat

set filter to codcurs='ajut' and n1>=6

disp codcurs, nume,n1 all

RELATII INTRE TABELE

Selectarea unei zone de lucru

1) comanda: SELECT <zona de lucru>

unde:

<zona de lucru>=1,2,3,4,5,6,7, ,32767

2) USE nume_tabel IN <zona de lucru>

ex.:

SELE 1

USE REG_CAT

DISP CODCURS,NUME,DATAN ALL

SELE 2

USE PLATI

DISP CODCURS,NRMAT,ACHITAT ALL

SELE 1

DISP CODCURS,NUME,DATAN ALL

PENTRU STABILIREA UNEI RELATII INTRE TABELE:

1) ACESTEA TREBUIESC INDEXATE SI DESCHISE DUPA ACEEASI CHEIE DE INDEXARE.

2) UNA DINTRE TABELE ESTE PARINTE SI CEALALTA COPIL

3) TREBUIE SA NE GASIM IN ZONA DE LUCRU IN CARE ESTE DESCHIS PARINTELE

4) VOM ANUNTA RELATIA INTRE TABELE CU COMANDA:

SET RELATION TO <expresia_cheii_de_indexare> INTO <nume_tabel_copil>

ex.: avem indexul comun: CHEIE1=CODCURS+STR(NRMAT)/5

SELE 1

USE PLATI ORDER CHEIE1

SELE 2

USE REG_CAT ORDER CHEIE1

*CHEIE1 POATE AVEA ALT NUME DAR ACELASI CONTINUT

SELE 1

SET RELATION TO CODCURS+STR(NRMAT)/5 INTO REG_CAT

DISP codcurs,nrmat,REG_CAT.NUME,achitat ALL

CLOSE ALL - inchide toate tabele indiferent de zona in care este deschisa

Cand dorim sa accesam un camp care se gaseste in alta zona de lucru decat cea curenta: inaintea campului vom introduce numele tabelui urmat de un punct: TABEL.CAMP

Sa se scrie un program care sa consulte doua tabele: MODULE.DBF si CURSURI.DBF . Talebul MODULE este parinte. Module.dbf indexat dupa codcurs si nr. Modulului cursuri.dbf indexat dupa codcurs.

modi comm cursmodul

CLEAR

CLOSE ALL

SELE 1

USE MODULE ORDER CODCURS

SELE 2

USE CURSURI ORDER CODCURS

SELE 1

SET RELATION TO CODCURS INTO CURSURI

******sau ** ** ** ** ***

**USE MODULE ORDER CODCURS

**USE CURSURI IN 2 ORDER CODCURS

GOTO TOP

DEFI WIND W FROM 1,1 TO 24,79 TITLE 'Continut module / cursuri'

ACTI WIND W

CLEAR

? 'CODUL CURSULUI: ', CODCURS

? REPL ('=',25)

? 'DENUMIRE CURS: ',CURSURI.DENUMIRE

**(afiseaza camp din alte zone)**

? 'NRCRT' AT 5

?? 'COD' AT 15

?? 'DENUMIRE MODUL' AT 25

?? 'DURATA' AT 55

? REPL ('=',60)

RAND

MCURS=CODCURS

** codcurs=ajut

DO WHILE NOT EOF()

IF CODCURS#MCURS

WAIT WIND 'terminat afisare curs'

CLEAR

? 'CODUL CURSULUI: ', CODCURS

? REPL ('=',25)

? 'DENUMIRE CURS: ',CURSURI.DENUMIRE

**(afiseaza camp din alte zone)**

? 'NRCRT' AT 5

?? 'COD' AT 15

?? 'DENUMIRE MODUL' AT 25

?? 'DURATA' AT 55

? REPL ('=',60)

RAND

MCURS=CODCURS

**(INLOCUIESTE IN MEMORIE codcurs cu OPER)

ENDIF

NRCRT AT 5

?? CODMOD AT 15

?? MODUL AT 25

?? DURATA PICT '99' AT 55

RAND=RAND+1

SKIP

ENDDO

WAIT WIND

DEACTI WIND ALL

CLOSE ALL

CANCEL

reg_cat plati

ajut 331 marian mihai ajut 331 marin mihai

ajut 331 marin mihai

ajut 332 stanca vasile

La legarea a 2 tabele:

1) la o inregistrare din parinte ii corespunde o inregistrare din copil

(one to one)

2) la o inregistrare din parinte ii corespunde mai multe

inregistrari din copil

one to main se transforma in one to one daca se declara invers:

copil-> parinte

PENTRU ACCESAREA TUTUROR INREGISTRARILOR din copil dupa comanda SET RELATION TO se da comanda: SET SKIP TO <nume_copil>

Sa se scrie un program care sa afiseze pe ecran situatia incasarilor la cursuri utilizand informatiile care se gasesc in REG_CAT si PLATI. Din reg_cat vom lua nrmat. si numele iar din plati cat a achitat,nr. chitantei si data achitarii.

MODI COMM LISTPLATI

CLOSE ALL

SET CURRENCY TO 'LEI'

SET CURR RIGHT

USE REG_CAT ORDER CURSNRM

USE PLATI IN 2 ORDER CURSNRM

SET RELATION TO CODCURS+STR(NRMAT/5) INTO PLATI

SET SKIP TO PLATI

GOTO TOP

MCURS=CODCURS

?'INCASARILE LA CURSUL ',CODCURS

?REPL ('=',25)

?'NR.MAT ' AT 5

?'NUME SI PRENUME ' AT 25

?'INCASAT ' AT 43

?'NUMAR CHITANTA ' AT 60

?'DATA PLATII ' AT 75

TOTAL=0

RAND

DO WHILE NOT EOF()

IF MCURS#CODCURS

WAIT WIND 'TERMINAT AFISARE CURS'

CLEAR

?'INCASARILE LA CURSUL ',CODCURS

?REPL ('=',25)

?'NR.MAT ' AT 5

?'NUME SI PRENUME ' AT 25

?'INCASAT ' AT 43

?'NUMAR CHITANTA ' AT 60

?'DATA PLATII ' AT 75

ENDIF

? NRMAT AT 5

??NUME AT 25

??PLATI.ACHITAT PICT '9999999.99' FUNC '$' AT 43

??PLATI.NRCHITFACT

??PLATI.DATA

RAND=RAND+1

SKIP

ENDDO

WAIT WIND

DEACTI WIND ALL

CLOSE ALL

CANCEL



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 922
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved