Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




CURS 2- VISUAL FOXPRO EXPLOATAREA BAZELOR DE DATE

Informatica


Curs 2- Visual Foxpro

exploatarea bazelor de date

În mod tipic, bazele de date si tabelele aferente se creaza o singura data . Dupa aceea, utilizatorul si programatorul exploateaza datele de acolo (de fapt pentru asta se creaza baza de date). Operatiile uzuale sunt : deschiderea bazei de date 656y248g , afisarea completa sau partiala a datelor, modificarea sau stergerea înregistrarilor din tabele, afisarea ordonata a lor, cautarea unor date în tabele, etc. Pentru aceasta , SGBD pune la dispozitie o serie de comenzi specifice pe care le vom discuta mai departe.



1. Deschiderea bazelor de date si a tabelelor

Bazele de date si elementele componente, la nivelul sistemului de operare sunt memorate în fisiere. Conform regulilor sistemului de operare, dupa crearea unui fisier, acesta poate fi prelucrat daca este deschis. Aceasta regula o întâlnim si la prelucrarea bazelor de date . Prin urmare, pentru a putea opera cu datele din b.d. si din tabele va trebui sa le deschideti.

Deschiderea bazei de date 656y248g se poate face în mai multe moduri :

se selecteaza meniul File, comanda Open, apoi se selecteaza categoria Database si în final se alege directorul si baza de date respectiva.

se tasteaza ( în fereastra de comanda ) OPEN DATABASE .Comanda poate fi urmata de numele bazei de date sau fara nume, în acest caz se începe un dialog între utilizator si computer pentru selectarea bazei de date .

Observatie: 1. Se pot deschide mai multe baze de date simultan.

Dupa deschidere, constructorul de tabel nu este totdeauna afisat . Afisarea explicita a acestuia se poate face cu MODIFY DATABASE.

Dupa deschiderea bazei de date 656y248g , trebuie deschise tabelele componente pentru a avea acces la date. Deschiderea unui tabel se face în mod similar :

se selecteaza meniul File, comanda Open, apoi se selecteaza categoria Table si în final se alege directorul si tabelul de date respectiv.

se tasteaza ( în fereastra de comanda ) USE nume sau USE ? .Comanda poate fi urmata de numele tabelului sau de ?, în acest caz se începe un dialog între utilizator si computer pentru selectarea tabelelor.

Tabelele libere se pot deschide în mod similar.

De foarte multe ori utilizatorul doreste sa lucreze ( simultan ) cu mai multe tabele. Din pacate , daca le deschide pe rând , numai ultimul ramâne accesibil, celelalte închizându-se automat. Pentru astfel de situatii, exista mai multe zone de lucru identificate prin numere ( în numar de 32767) , în fiecare zona putându-se deschide un tabel împreuna cu fisierele index asociate. Pentru a deschide un tabel (liber sau legat de baza de date) într-o zona de lucru se poate tasta în fereastra de comanda :

SELECT n

USE numetabel

sau

USE numetabel IN n [ALIAS pseudonume]

unde n reprezinta numarul zonei de lucru.

Selectarea zonei de lucru se poate face dupa aceea prin comanda SELECT n .

De asemenea, deschiderea tabelelor în zone de lucru se mai poate face si din meniul Window, optiunea Data Session, dupa care apare o fereastra numita Data Session cu ajutorul careia se selecteaza tabelele în zonele de lucru, ca în figura de mai jos :


Observatie : a. Comenzile care se tasteaza în fereastra de comanda se pot folosi si în sursele de program .

b.      Se poate deschide un tabel de mai multe ori folosind comanda Use nume In 1 AGAIN.

c.       Daca baza de date sau tabelul nu se gasesc în directorul curent ( care este de obicei directorul în care este instalat Visual Foxpro ), se poate scrie calea completa ce permite localizarea lor. De asemenea, se poate schimba directorul de lucru folosind comanda SET DIRECTORY TO nume. De exemplu, se poate tasta SET DIRECTORY TO C:\Salariati.

d.      O baza de date se închide cu comanda CLOSE DATABASE , iar un tabel deschis într-o zona cu USE sau USE IN zona. De asemenea, închiderea tabelelor se poate face si cu comanda Close Table.

e.      Accesarea câmpurilor bazelor de date deschise în mai multe zone de lucru, se poate face si prin numele bazei de date urmat de punct si numele câmpului : Angajati.Nume sau Functii.Cod .

Trebuie retinut faptul ca prelucrarea datelor într-o tabela se face la nivel de înregistrare, în sensul ca la un moment dat este prelucrata o singura înregistrare . Din acest motiv , sistemul tine evidenta înregistrarii curente, a celei care se prelucreaza, folosind un indicator de înregistrare . Acest indicator care îi spune sistemului cu ce înregistrare sa lucreze sau unde sa modifice date , este la pozitionat la deschiderea tabelului la început. El este mutat de obicei pe înregistrarea urmatoare, dupa o prelucrare a înregistrarii curente. Totusi indicatorul poate fi mutat explicit cu ajutorul comenzilor GOTO si SKIP astfel :

GOTO n (se pozitioneaza la începutul înregistrarii n) sau

GOTO TOP (se pozitioneaza la începutul tabelului) sau

GOTO BOTTOM (se pozitioneaza la sfârsitul tabelului )

urmate eventual de optiunea IN tabela ce precizeaza explicit la care tabel se aplica,

respectiv SKIP n IN tabela care sare peste n înregistrari ( n este pozitiv sau negativ).

Atentie, daca este deschisa o fereastra de editare ( cu Browse, cu Append, cu Edit se poate face pozitionarea manuala sau cu ajutorul comenzii Goto Record din meniul Table. exista si o functie , numita RecNo() , care poate fi folosita pentru a numarul înregistrarii curente .

2. Adaugarea de noi înregistrari în tabele

Desi utilizatorul poate introduce în momentul crearii tabelului înregistrari, exista o comanda dedicata pe care o poate apela în fereastra de comanda sau în program :

APPEND

De asemenea, exista doua comenzii, folosite mai ales în programe , ce permit adaugarea de înregistrari goale : APPEND BLANK si INSERT BLANK .

3. Editarea continutului tabelelor . Comenzile BROWSE si EDIT.

Utilizatorul are la dispozitie o comanda universala, numita BROWSE, care poate fi folosita pentru realizarea diferitelor operatii de prelucrare asupra datelor din tabele. Comanda poate fi pornita din meniul rapid (ce se obtine apasând butonul dreapta pe obiectul tabel) fie tastând comanda în fereastra de comanda.sablonul general de utilizare (simplificat):

BROWSE [lista câmpuri] [WIDTH latime] [FOR conditie ] [NOEDIT] [NODELETE] [NOAPPEND] .

Se observa aparitia unor argumente suplimentare , care nu sunt obligatorii : lista câmpuri permite afisarea în tabel doar a anumitor coloane, Width precizeaza latimea maxima a coloanelor, iar celelalte optiuni protejeaza tabelul la operatiile precizate.

Comanda permite afisarea datelor sub forma tabelara, apoi permite modificarea valorilor din câmpuri ( cu comenzile de editare cunoscute). De asemenea, se pot adauga înregistrari noi tastînd CTRL +Y sau alegând comanda APPEND NEW RECORD din meniul TABLE ( atentie meniul Table apare doar când deschideti fereastra BROWSE):

Adauga o înregistrare noua

 


Marcheaza pentru stergere o înregistrare

 


sterge fizic înregistrarea

 


Se pot sterge, de asemenea, înregistrari din tabel. stergerea înregistrarilor se face în doua etape : marcarea lor si stergerea lor fizica . Marcarea se face tastând CTRL+T (dupa ce am pozitionat indicatorul pe aceea înregistrare- cu tastele cursor, PgUp, PgDown). Dupa cum se observa din figura de mai sus, se poate folosi si comanda DELETE RECORDS , din meniul TABLE. stergerea fizica (deci pierderea definitiva a acelei înregistrari ) se face fie tastând comanda PACK în fereastra de comanda, fie alegând comanda REMOVE DELETED RECORDS, din meniul TABLE.

Comanda BROWSE are o varianta similara numita EDIT, ce permite acelasi lucru.

4. Afisarea continutului unui tabel - comanda LIST.

Sistemele pentru baze de date ( inclusiv Visual Foxpro) au foarte multe instrumente de afisarea a datelor. Am prezentat o metoda simpli , tabelara, cu Browse . De asemenea , exista o varianta , tot simpla si rapida , pe care utlizatorul o poate folosi rapid pentru a afisa continutul tabelului, varianta mostenita din versiunile mai vechi de FoxPro. Comanda respectiva se numeste LIST (sau DISPLAY) si se poate folosi sub urmatoarea forma :



LIST lista câmpuri] [grup nregistrariri] [FOR conditie] [WHILE conditie]

[TO PRINTER|TO FILE][NOCONSOLE]

În mod implicit se afiseaza toate câmpurile, în schimb se pot preciza câmpurile care se vor afisa . Domeniu precizeaza grupul de înregistrari care se vor afisa, domeniu putând lua urmatoarele valori: ALL, NEXT n, RECORD n, REST . Optiunile FOR si WHILE, permit filtrarea înregistrarilor conform conditiei precizate. Ultimele optiuni permit afisarea datelor si la imprimanta sau în fisier .

Exemple: 1. USE cursanti

LIST nume, prenume

2. USE cursanti

DISPLAY

USE cursanti

LIST FOR Datan >

USE cursanti

LIST Nume, Prenume TO PRINTER NOCONSOLE

USE cursanti

LIST Nume,Prenume,Medie To Lista.txt

Trebuie totusi sa mentionam ca exista o solutie mult mai buna, ce se foloseste mai ales pentru sisteme informatice (adica pentru aplicatii). Ea consta în folosirea rapoartelor (subiectul se va discuta mai târziu).

stergerea înregistrarilor din tabele -comanda DELETE

Alaturi de adaugare si modificare, stergerea reprezinta una din operatiile des întânite în lucrul cu tabelele. stergerea este folosita pentru a elimina datele unei înregistrari din tabel. stergerea unei înregistrari se poate face fie la nivel logic ( înregistrarea nu este propriu-zis stearsa, ci este marcata pentru stergere), fie la nivel fizic (înregistrarea este stearsa fizic din tabela). Am prezentat deja o solutie cu BROWSE. Exista, însa , o comanda dedicata numita DELETE, ce se poate tasta în fereastra de comanda sau scrie în programe:

DELETE grup înregistrari] [FOR conditie] [WHILE conditie]

În mod implicit, daca nu se foloseste nici un parametru, se va marca pentru stergere înregistrarea curenta. Puteti sa precizati grupul de înregistrari prin domeniu (domeniu poate lua acelasi valori cu cele precizate anterior la comanda LIST ) sau prin conditii. Dupa marcarea înregistrarilor , ele pot fi sterse definitiv din tabel cu ajutorul comenzii PACK (tastata în fereastra de comanda).

Exemple: 1. USE cursanti

DELETE

USE cursanti

DELETE FOR Datan >

PACK.

USE cursanti

DELETE RECORD 3

PACK.

Observatie: O înregistrare marcata pentru stergere, poate fi recuperata cu ajutorul comenzii RECALL sau cu ajutorul optiunii Recall Records din meniul Table (vezi figura anterioara). Însa, daca s-a aplicat comanda Pack, înregistrarile nu mai pot fi recuperate.

Modificarea continutului unei tabel.

Modificarea valorilor din câmpuri se poate face în mai multe moduri. O solutie , este oferita de comnezile BROWSE si EDIT. De asemenea, si comanda APPEND permite modificarea valorilor din câmpuri. Totusi exista o comanda dedicata, folosita mai ales în programe, cu ajutorul careia se modifica valorile din câmpuri . Comanda se numeste REPLACE si are sintaxa :

REPLACE [domeniu] câmp1 WITH valoare1, ., câmpn WITH valoaren

[FOR conditie] [WHILE conditie]

Comanda înlocuieste vechea valoare din câmpurile precizate cu o valoare noua. Daca nu se precizeaza domeniu, comanda se aplica doar la înregistrarea curenta , altfel la grupul precizat de domeniu.Clauzele For si WHILE permit filtrarea grupului de înregistrari prin conditii .

Exemple: 1. USE cursanti

REPLACE ALL MEDIE WITH (Obiect1+Obiect2)/2

USE salariati

REPLACE ALL Salariu WITH 1.5 * Salariu

REPLACE ALL Sanatate WITH 0.07 *Salariu

USE cursanti

REPLACE ALL Situatie WITH 'PROMOVAT' FOR Ob1>=5 AND Ob2>=5

În programe, mai ales când se fac calcule , comanda este foarte utila, deoarece modificarea unui câmp nu se poate face direct prin atribuire ci doar cu REPLACE.

O alta tehnica de modificare a continutului înregistrarilor este data de comenzile SCATTER si GATHER . Prin intermediul acestor doua comenzi se poate realiza transferul între înregistrarea curenta a tabelei sau un set de variabile.

Comanda GATHER realizeaza transferul de la tablou sau de la setul de variabile la tabela, iar SCATTER realizeaza transferul invers. Comanda GATHER are sintaxa:

GATHER FROM tablou

GATHER MEMVAR

prima preia datele din tabloul specificat în înregistrarea curenta , iar cea de-a doua forma foloseste ca sursa de date un set special de variabile, cu acelasi nume ca si câmpurile tabelei. Accesul la setul de variabile (creat cu comanda SCATTER cu clauza MEMVAR) se face prin constructia : m. nume variabila. Comanda GATHER poate contine clauza FIELDS , urmata de o lista de câmpuri care se vor copia în înregistrarea curenta a tabelei active . Daca se doreste si copierea câmpurilor memo, trebuie adaugata si optiunea MEMO.

Comanda SCATTER, este opusa comenzii anterioare, ea copiind câmpurile înregistrarii curente din tabela activa într-un tablou sau într-un set de variabile. Sintaxa comenzii este :

SCATTER TO tablou

sau

SCATTER MEMVAR

si aici se pot folosi clauzele FIELDS si MEMO, cu acelasi scop.

6. Cautarea datelor -comanda LOCATE

O alta operatie utila, mai ales în cazul tabelelor mari, este cea de cautare a unei înregistrari care respecta o anumita conditie. Comanda este LOCATE si are sintaxa :

LOCATE FOR conditie domeniu] [WHILE conditie ]

Ea încearca localizarea primei înregistrari din tabel ce verifica conditia din FOR . Grupul de înregistrari n care se cauta , este cel dat de domeniu si WHILE, implicit fiind ALL. Daca aceasta înregistrare exista, indicatorul de acces la fisier se va pozitiona pe aceasta. Utilizatorul poate afla daca înregistrarea exista, folosind functia FOUND(), functie care returneaza TRUE în cazul gasirii sau FALSE în caz de esec. Se poate continua cautarea , în ideea de gasi alte înregistrari asemanatoare, cu ajutorul comenzii CONTINUE.

Exemplu :

USE cursanti

LOCATE FOR Nume='POPESCU'

IF Found()

DISP

ENDIF

Calcule statistice cu datele din tabele- comenzile SUM, COUNT

Pe lânga cautarea si consultarea datelor din tabele, în aplicatiile practice avem nevoie si de calcule cu valorile câmpurilor. De exemplu, ne intereseaza sa stim care este totalul salariilor brute sau cât este impozitul total ce trebuie virat. De asemenea, ne intereseaza câti angajati nu sunt platitori de impozit. Toate aceste lucruri constau de fapt în operatii statistice asupra înregistrarilor din tabele : însumarea valorii câmpurilor din tabele, contorizarea înregistrarilor ce îndeplinesc o anumita proprietate . Exista comenzii dedicate ce pot sa dea raspuns la întrebarile anterioare.

Calcularea numarului de înregistrari care respecta o anumita conditie se realizeaza cu ajutorul comenzii COUNT , cu sintaxa :

COUNT [domeniu] FOR conditie TO variabila

Exemplu : USE ANGAJAŢI

COUNT FOR Impozit=.T. TO Nr

?Nr

O alta operatie utila este aceea de însumare a valorilor unor câmpuri numerice. Pentru aceasta folosim comanda SUM cu sintaxa :

SUM [domeniu] expresie1, expresie2,., expresien TO v1,v2,.,vn [FOR conditie]

Exemplu :a. USE ANGAJAŢI

SUM VenitBrut TO TotalBrut

?TotalBrut

b. USE ANGAJAŢI

SUM Impozit TO TotalImpozit FOR Tip_Ang='T'

?TotalImpozit

Exista o varianta particulara a comenzii SUM , numita AVERAGE, ce se poate folosi pentru a calcula media aritmetica a unor câmpuri.



Exemplu :a. USE ANGAJAŢI

AVERAGE SalBrut TO SalariuMediu

?SalariuMediu

De asemenea, pentru calcule statistice mai complexe, exista o comanda mai complexa numita CALCULATE . Aceasta poate fi urmata de o lista de expresii care sunt calculate pe baza datelor din tabela. În aceste expresii pot fi incluse o serie de functii statistice, cu urmatoarele semnificatii:

AVG(expresie )- calculeaza media aritmetica a valorilor expresiei respective (pentru fiecare înregistrare ), expresie care poate contine câmpuri numerice ale tabelei.

CNT() - returneaza numarul de înregistrari prelucrate.

MAX(expresie), respectiv MIN (expresie) - returneaza expresia cea mai mare , respectiv cea mai mica.

SUM(expresie) - calculeaza suma valorilor expresiilor .

Sintaxa generala a lui CALCULATE este :

CALCULATE functii TO VARIABILE [FOR conditie]

Exemplu :a. USE ANGAJAŢI

CALCULATE MAX(VenitBrut) TO MAXVenitBrut

?MAXVenitBrut

8. Ordonarea datelor din tabele :

Nimeni nu se asteapta ca utlizatorii sa introduca datele gata sortate, gata aranjate. Din acest motiv, de multe ori avem nevoie sa vedem datele într-o anumita ordine. O alta operatie uzuala, regasirea informatiilor, se poate face mult mai comod în listele ordonate.

S.G.B.D.-ul Visual Foxpro ofera doua solutii legate de ordonarea unei tabele :

ordonarea fizica a tabelei - consta în crearea unei noi tabele cu datele din prima tabela , tabela ordonata dupa un criteriu precizat

indexarea unei tabele - aceasta consta în crearea unui fisier suplimentar , numit index, care sa contina informatii cu privire la ordinea înregistrarilor tabelei. Tabela ramâne fizic în aceeasi ordine, dar este "vazuta" si accesata conform ordinii din fisierul index .

Sortarea fizica a tabelelor :

Ordonarea fizica si crearea unei noi tabele ordonate se face cu ajutorul comenzii SORT. Aceasta are sintaxa :

SORT [domeniu] ON câmp1 /A sau /D , ., câmpn /A sau /D TO TabelaNoua

FOR conditie

Exemplu : a. USE ANGAJAŢI

SORT On Nume TO LAngajati

USE Langajati

BROWSE

b. USE ANGAJAŢI

SORT On DataAng/D, Nume/A TO LAngajati

USE Langajati

LIST NUME, DataAng

c.       USE Candidati

SORT On Medie/D, Ob1/D To Admisi

FIELDS Nume, Prenume, Ob1, Ob2, Medie FOR Ob1>=5 .AND. Ob2>=5 USE Admisi

BROWSE

SORT On Medie/D, Ob1/D To Respinsi

FIELDS Nume, Prenume, Ob1, Ob2, Medie FOR Ob1 <5 .OR. Ob2<5 

USE Respinsi

Sortarea logica ( indexarea ) tabelelor

A doua metoda, care este mai performanta ca si ordonarea fizica ( datorita timpului care se pierde, a spatiului consumat, etc) si este folosita mai ales la realizarea legaturilor dintre tabele, consta în crearea unui fisier separat ( numit index) asociat tabelei, fisier index care sa pastreaza ordinea înregistrarilor . Accesarea înregistrarilor din tabela se face prin intermediul indexului, în ordinea data de fisierul index. .

De exemplu :

Carti.cdx Carti.dbf

Titlu

Pozitie

Nr. înreg

Titlu

Autor

Nr. pag.

Amintiri din copil.

Ion

Liviu. R.

Ion

Amintiri din copilarie

Ion Creanga

Insula misterioasa

Morometii

Marin Preda

Morometii

Insula misterioasa

Jules Verne

Daca se doreste afisarea datelor, sistemul se uita în fisierul index si de acolo afiseaza mai întâi inregistrarea de pe pozitia 2 (ce o gaseste în tabelul carti.dbf), apoi înregistrarea 1,4 si în final 3.

Folosirii fisierelor index aduce câteva avantaje : timp redus de obtinere a listelor ordonate, daca se fac actualizari în tabel , fisierul index este actualizat automat , spatiul de memorie consumat este mai mic .

Pentru a lucra cu indecsi, trebuie parcurse mai multe etape de lucru :

a.      se creaza fisierul index asociat tabelei, precizând criteriile de ordonare dorite .

b.      deschiderea (activarea) indexului respectiv , adica activarea criteriului de ordonare .

c.       accesarea datelor din tabele ( conform ordinii din index).



d.      închiderea indexului ( eventual închiderea tabelei de care este legat indexul).

Crearea indexului se poate face la crearea tabelelui , cu ajutorul constructorului de tabele sau cu ajutorul unor comenzi dedicate . De asemenea , se poate reveni asupra structurii cu ajutorul comenzuii MODIFY si se pot adauga indecsi.

Observatie :

Sa consideram tabelul anterior carti.dbf, având urmatoarea forma :

CodC

Titlu

Autor

NrPag

DataI

C(5)

C(20)

C(30)

N(6)

D

Ion

Liviu. R.

Amintiri din copilarie

Ion Creanga

Morometii

Marin Preda

Insula misterioasa

Jules Verne

aca dorim sa vedem continutul tabelului ordonat , dupa mai multe criterii , va trebui sa cream mai multe fisiere index. De exemplu, daca dorim o lista alfabetica dupa Titlu , va trebui creat un index ( am vazut în cursul 1 de Visual Foxpro cum se face acest lucru), a carui expresie de indexare sa contina coloana Titlu. În schimb, daca dorim sa avem liste ordonate alfabetic dupa autor si daca un autor are mai multe carti , acestea sa fie afisate dupa Titlu, indexul va contine expresia Autor+Titlu. O alta situatie , putin mai complicata apare daca se doreste obtinerea unor criterii de ordonare care depind de coloane ale caror tipuri de date sunt diferite . De exemplu, daca se doreste o lista dupa data intrarii iar daca sunt carti intrate în aceeasi data sa apara alfabetic dupa titlu, expresia de indexare nu va fi doar DataI+Titlu ( se va semnala eroare). Conform regulilor din Foxpro , o expresie contine membrii de acelasi tip, prin urmare va trebui convertit unul din câmpuri la tipul celuilalt. Cel mai simplu este sa se converteasca totul la tipul sir de caractere. Pentru exemplul anterior, ar trebui folosita urmatoarea expresei de indexare Dtos(DataI)+Titlu (Dtos este o functie care converteste "logic" o data calendaristica la tipul sir de caractere ). Un alt exemplu similar, ar fi acela când se combina coloane ce au valori numerice cu coloane ce au valori sir de caractere , cum ar fi o lista ordonata dupa numarul de pagini si , în caz ca sunt mai multe carti cu acelasi numar de pagina , alfabetic . Pentru un astfel de caz , se va folosi expresia Str(NrPag)+Titlu.

Activarea indexului dorit (pot fi mai multe criterii de ordonare ) se poate face cu ajutorul comenzii SET ORDER TO numeindex [IN tabela]. Exista o functie numita ORDER(tabela) , care poate spune care este indexul activ .

Dupa deschiderea indexului, orice operatie de afisare, modificare sau stergere se fac via index. Mai mult, orice modificare a datelor în tabela cu date are ca efect modificarea datelor în fisierul index ( lucru neplacut în cazul ordonarii fizice a tabelelor ).

Un alt avantaj al ordonarii logice , este legat de cautarea mai rapida a datelor cu ajutorul unei alte comenzi numite SEEK. Aceasta se foloseste sub forma SEEK expresie , unde expresie este o valoare legata de cheia de cautare .

Exemplu : USE Angajati

SET ORDER TO NUME

SEEK 'POPESCU'

IF FOUND()

DISPLAY

ENDIF

9.Copierea structurii unui tabel în alt tabel . Adaugarea de date din alte tabele.

O alta comanda , mostenita din vechiul Foxpro , este cea de multiplicare a structurii unei tabel într-un alt tabel. Trebuie sa precizam ca Visual Foxpro, ofera si alte solutii mai performante legate de acest subiect ( care se vor discuta mai târziu).

Copierea structurii se face cu comanda COPY STRUCTURE, cu sintaxa :

COPY STRUCTURE to NouTabel FIELDS lista câmpuri ]

Exemplu : USE Angajati

COPY STRU TO TEMP

De asemenea , se pot adauga înregistrari dintr-un tabel în alt tabel , folosind comanda APPEND FROM cu sintaxa :

APPEND FROM Tabel FOR conditie] FIELDS lista câmpuri

Exemplu :a. USE Angajati

COPY STRU TO TEMP

USE TEMP

APPEND FROM ANGAJATI

BROWSE

b. USE Angajati

COPY STRU TO TEMP FIELDS Nume,Prenume,Salariu

USE TEMP

APPEND FROM ANGAJATI FIELDS Nume,Prenume,Salariu

BROWSE

c. USE Candidati

COPY STRU TO Admisi FIELDS Nume,Prenume,Ob1,Ob2,Medie

COPY STRU TO Respinsi FIELDS Nume,Prenume,Ob1,Ob2,Medie

USE Admisi

APPEND FROM Candidati FIELDS Nume,Prenume,Ob1,Ob2,Medie

FOR Ob1>=5 .AND. Ob2>=5  

USE Respinsi

APPEND FROM Candidati FIELDS Nume,Prenume,Ob1,Ob2,Medie

FOR Ob1<5 .OR. Ob2<5

BROWSE




Document Info


Accesari: 13508
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )