Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Foxpro


Index » educatie » » informatica » Foxpro
» Selectarea si afisarea datelor din tabele


Selectarea si afisarea datelor din tabele


Selectarea si afisarea datelor din tabele

Selectarea datelor pe baza anumitor criterii si afisarea lor pe ecran sau la imprimanta reprezinta de fapt scopul celorlalte operatii executate asupra tabelelor (de creare tabelelor, de incarcare si modificare a datelor etc.). comenzile cele mai folosite in acest scop sunt LIST si DISPLAY, pe care le vom discuta in cele ce urmeaza.

Comanda LIST singura determina afisarea continutului tabelei curente, intr-un format tabelar, pe ecranul monitorului. Daca dorim afisarea la imprimanta, la comanda se adauga clauza TO PRINTER, iar daca se doreste trimiterea continutului afisat intr-un fisier se va folosi clauza TO FILE, urmata de numele fisierului respectiv. Aceasta din urma varianta se poate folosi atunci cand continutul tabelei nu incape intr-un singur ecran, derularea sa pe ecran fara posibilitatea de revenire rezolva aceasta problema.



USE stocuri

LIST TO FILE raport.txt

MODIFY FILE raport.txt NOEDIT

USE

Spre deosebire de LIST DISPLAY afiseaza doar inregistrarea curenta. Ambele comenzi permit folosirea clauzelor pentru specificarea domeniului inregistrarilor, cele pentru domeniu static(ALL NEXT REST si RECORD) sau dinamic (FOR SI WHILE)>

Avem urmatoarele echivalente:

LIST echivalent cu DISPLAY ALL

LIST NEXT 1 echivalent cu DISPLAY

Cele doua comenzi permit, de asemenea, specificarea unei liste de campuri care sa fie afisate, elementele listei fiind separate prin virgula. In felul acesta pot fi afisate selectiv numai anumite campuri ale unei tabele, eliminandu-le din formatul de afisare pe acela care nu prezinta interes momentan pentru utilizator.

USE stocuri

LIST FIELDS cod, denumire, valoare

NOTE se afiseaza doar campurile din lista

USE

Un aspect foarte important al selectarii campurilor de afisat cu ajutorul comenzii LIST este acela ca in lista campurilor pot fi introduse "campuri calculate".

Campurile calculate reprezinta expresii construite pe baza campurilor unei tabele si foloseste pentru afisarea unor valori care nu exista fizic in baza de date (sub forma de campuri), dar care pot fi calculate.

In cadrul campurilor calculate poate fi folosita intreaga gama de functii pentru manipularea tipurilor de date, ceea ce creste foarte mult puterea comenzilor respective.

Un exemplu clasic de folosire a campurilor calculate este acela al unei tabele de persoane pentru care s-a memorat data nasterii, dar se doreste afisarea varstei fiecarei persoane in parte;

USE personal

LIST FIELDS num, prenume, INT((DATE() -data_n)/365)

USE

In instructiune LIST de mai sus, din data curenta data din functia DATE( ) se scade data nasterii din campul data_n, obtinandu-se numarul de zile de viata ale persoanei in cauza. Acest numar se imparte la 365 si se ia partea intreaga, rezultatul obtinut reprezentand varsta persoanei.

O alta utilizare a campurilor calculate este formatarea datelor pe ecran. De exemplu, daca se doreste afisarea unui camp numeric, formatul acesta poate fi controlat exact cu ajutorl functiei STR ( ).

Urmatoarea secventa de comenzi determina afisarea coloanelor referitoare la salariile persoanelor in formatul prezentat mai jos, deoarece campul tabelei avea precizat un numar de doua zecimale

USE personal

LIST FIELDS nu e, prenume, salariu

USE

.

Toma Mihai 3 500 000.00

Dumitru Alexandru 7 400 000.00

.

Daca se doreste afisarea salariilor fara cele doua zecimale (care oricum sunt nesemnificative) s-ar putea folosi urmatoarea secventa de comenzi:

USE personal

LIST FIELDS nume, prenume,STR(salariu,12,0)

USE

.

Toma Mihai 3 500 000

Dumitru Alexandru 7 400 000

.

Poate una dintre cele mai importante facilitati ale celor doua comenzi de afisare, LIST si DISPLAY, este cea a posibilitatii de realizare a unei selectii dinamice a inregistrarilor, slectie facilitata de clauzele FOR si WHILE. Expresiile logice care insotesc aceste clauze permit selectarea inregistrarilor care vor fi afisate pe ecran, sub forma unui filtru aplicat asupra tuturor inregistrarilor tabelei respective: vor trece de filtru numai inregistrarile pentru care valoarea expresiei este adevarat

Prin introducerea in comenzi a unor conditii complexe, se pot obtine practic o multitudine de criterii de selectie a datelor.

Denumire camp

Tip camp

Lungime

Numar de zecimale

Semnificatie

COD

Character

Codul materialului

DENUMIRE

Character



Denumirea

CANTITATE

Numeric

Cantitatea

CANT_NORM

Numeric

Cantitatea normata

UNIT_MAS

Character

Unitatea de masura

VALOARE

Numeric

Valoarea

ULTIM_MISC

Date

Data ultimei miscari

COND_SPEC

Logical

Necesitatea conditiilor speciale de depozitare

INFORMATII

Memo

Alte informatii

Se da baza de date STOCURI.DBF (pentru evidenta stocurilor de materiale dintr-un depozit) cu urmatoarea structura:

Afisarea pe ecran a tuturor materialelor care necesita conditii speciale de depozitare:

LIST FOR cond_spec=.T.

(pentru aceste materiale campul cond_spec contine valoarea logica adevarat)

Afisarea pe ecran a listei materialelor care nu au avut miscari in ultima luna:

LIST FOR ultim_misc<GOMONTH(DATE) (),-1)

(pentru aceste materiale data ultimei miscari de materiale este mai mica decat data obtinuta din data curenta devansata cu o luna in urma)

Afisarea pe ecran a materialelor de constructie din clasa ciment (codul materialului incepe cu CM) cu valoarea de stoc mare (mai mare decat 10 milioane):

LIST FOR SUBSTR (cod ,1,2)=='CM' AND;

Valoare>10 000 000

Conditia din instructiunea de mai sus este formata din doua subconditii, care trebuie satisfacute amandoua simultan (deci sunt legate prin AND). Prima subconditie este cea a incaperii codului de material cu CM, iar cea de-a doua consta in valoarea din campul ,valoare' sa fie mai mare sau egala cu 10 milioane.

Incarcarea datelor dintr-o tabela se poate face fie manual, fie automat. Metoda manuala implica deschiderea unei ferestre de editare (de tip Change sau Browse) si tastarea continutului in campurile respective.

Metoda automata presupune mai intai adaugarea unei inregistrari goale (APPEND BLANK) si apoi modificarea continutului acesteia cu cel dorit (comanda REPLACE).

Selectarea si afisarea datelor se realizeaza cu ajutorul comenzii LIST sau DISPLAY. Clauzele acestor comenzi permit specificarea diferitelor criterii pentru selectia datelor de afisat.







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate