Actualizarea tabelelor FoxPro
Actualizarea tabelelor este operatia de "aducere la zi", prin adaugarea de noi date si modificarea sau stergerea logica si /sau fizica a celor existente.
1 Adaugarea inregistrarilor in tabele
Incarcarea cu date pe structura predefinita sau adaugarea de noi informatii se poate realiza prin comenzile APPEND si INSERT
Comanda APPEND asigura adaugarea de noi inregistrari la sfarsitul tabelei curente. Aceasta comanda are mai multe formate, cele mai utilizate fiind:
APPEND [BLANK] [IN <expr_n> | <expr_c>] [NOMENU]
APPEND FROM <nume_fisier> | ?
[FIELDS <lista_campuri>]
[FOR <expr_log1>]
[TYPE][DELIMITED [WITH <delimitator> | WITH TAB | WITH BLANK | WITH CHARACTER <delimitator>]
| DIF | FW2 | MOD | PDOX | WKS | RPD | SDF | SYLK | WK1 |WK3 | WR1 | WRK | XLS | XL5 ] [AS <nr_cod_pag>]
Primul format deschide o fereastra de editare in care utilizatorul poate introduce camp cu camp noile informatii. Macheta de incarcare contine pe verticala campurile care alcatuiesc structura tabelei. Comanda este de tip "full-screen", utilizatorul intrand in regim de editare cu posibilitatea accesarii oricarui caracter din articolul curent.
Clauza BLANK determina adaugarea unei inregistrari vide, fara posibilitatea de editare. Campurile unei astfel de inregistrari sunt incarcate ulterior de la tastatura, din variabile de memorie sau prin programe.
Clauza IN permite adaugarea de noi inregistrari intr-o alta tabela decat cea curenta.
Clauza NOMENU inhiba afisarea in bara meniu a optiunii Table.
Aceasta comanda este influentata de comanda SET CARRY care permite (cu ON), sau inhiba (cu OFF), copierea continutului inregistrarii curente in noua inregistrare. Comanda are sintaxa:
SET CARRY ON | OFF
SET CARRY TO [<lista_campuri> [ADDITIVE]]
unde: ON - activeaza mecanismul de copiere a campurilor din inregistrarea curenta intr-o noua inregistrare iar OFF - inhiba mecanismul de copiere (implicit);
Clauza TO <lista_campuri> - specifica numele campurilor care vor fi copiate;
Clauza ADDITIVE - permite adaugarea in lista definita anterior a unor noi campuri.
Comanda SET CARRY TO substituie si executarea comenzii SET CARRY ON
Cel de al doilea format al comenzii APPEND permite extinderea tabelei curente prin adaugarea la sfarsitul ei a unor articole preluate dintr-un alt fisier. Dupa executarea comenzii sistemul afiseaza un mesaj de forma "no. records added" prin care se specifica numarul articolelor adaugate.
2 Modificarea inregistrarilor unei tabele
Pentru modificarea datelor stocate VFP ofera mai multe metode in care sunt folosite comenzile: CHANGE, EDIT, BROWSE si REPLACE.
Primele trei comenzi sunt comenzi de tip "full-screen" care deschid ferestre de editare in care utilizatorul poate efectua o multitudine de operatii printre care si modificarea datelor continute in articole. In plus, in bara meniu devine operationala si optiunea Table cu structura:
|
Se observa ca optiunile din Table permit gestionarea operatiunilor atat la nivel de articol cat si la nivel de camp.
Comenzile CHANGE si EDIT sunt identice si deschid ferestre verticale asemanatoare ferestrelor de incarcare a articolelor.
Comanda BROWSE este cea mai puternica si afiseaza campurile unul langa altul, pe orizontala.
Comanda REPLACE este comanda de modificare propriu-zisa si are formatul:
REPLACE <nume_camp1> WITH <expr1> [ADDITIVE][, <nume_camp2> WITH <expr2> [ADDITIVE]] [<domeniu>][FOR <expr_log1>] [WHILE <expr_log2>[IN <expr_n> | <expr_c>][NOOPTIMIZE]
Comanda inlocuieste fiecare camp specificat cu rezultatul evaluarii expresiei asociate. Clauza ADDITIVE poate fi folosita numai pentru campurile de tip memo si determina adaugarea expresiei la vechiul continut al campului. Implicit comanda opereaza la nivelul inregistrarii curente. Pentru modificarea altei inregistrari sau a unui grup de inregistrari se folosesc clauzele <domeniu>, FOR si WHILE
Exemplul 1: Deoarece studentul Mihaescu s-a transferat de la sectia "Finante" la sectia "Management" sa se modifice campul denumirea specializarii:
USE student
REPLACE specializ WITH "Management";
FOR numest = "mihaescu"
|
3 Stergerea inregistrarilor dintr-o tabela
Renuntarea temporara sau definitiva la inregistrarile unei tabele se realizeaza prin operatia de stergere, care poate fi : logica si fizica.
Stergerea logica presupune marcarea articolelor cu un "*" in octetul alocat automat de catre sistem la definirea structurii tabelei folosind, comanda DELETE care are formatul general:
DELETE[<domeniu>][FOR<expr_log1>][WHILE <expr_log2>]
[IN <expr_n> | <expr_c>][NOOPTIMIZE]
Comanda DELETE opereaza implicit asupra inregistrarii curente, clauzele din formatul general avand acelasi rol ca si in cazul comenzilor precedente.
Accesul la inregistrarile marcate pentru stergere este controlat de comanda SET DELETED ON | OFF
Optiunea ON inhiba accesul la inregistrarile sterse logic a comenzilor care invoca acelasi grup de inregistrari. Optiunea OFF (implicita) admite accesarea tuturor inregistrarilor.
Exemplul 2: Sa se marcheze pentru stergere toti studentii care nu sunt la specializarea "Adm. Publica":
USE student
DELETE FOR specializ < > "Adm. Publica"
DISPLAY ALL FIELDS numest, prenume, specializ
|
Inhibarea accesarii articolelor marcate pentru stergere presupune secventa:
SET DELETED ON
DISPLAY ALL FIELDS numest, prenume, specializ
|
Testarea marcajului de stergere se realizeaza cu ajutorul functiei DELETE() care are formatul:
DELETE( [<expr_n> | <expr_c>] )
Functia DELETE() returneaza valoarea .T. pentru o inregistrare marcata si .F. pentru o inregistrare nemarcata pentru stergere.
Inregistrarile marcate pot fi reintroduse in tabela folosind comanda RECALL cu formatul general:
RECALL [<domeniu>][FOR<expr_log1>]
[WHILE <expr_log2>]
[NOOPTIMIZE]
Clauzele au aceiasi functiune ca si in cazul comenzii DELETE
Exemplu: Sa se anuleze marcajul de stergere pentru studentii de la specializarea "contabilitate".
USE student
RECALL FOR specializ = "contabilitate"
LIST FIELDS numest, prenume, specializ
|
Comanda PACK permite eliminarea din tabela a tuturor inregistrarilor marcate pentru stergerea logica. Formatul general este:
PACK [MEMO] [DBF]
Clauza MEMO are ca efect eliminarea spatiului nefolosit din blocurile fisierului memo asociat tabelei curente fara a o afecta. In felul acesta se asigura o folosire eficienta a memoriei. Clauza DBF se foloseste pentru a sterge fizic inregistrarile marcate fara a modifica fisierul memo asociat. Comanda PACK fara clauze afecteaza ambele tipuri de fisiere(.dbf si .fpt).
Comanda ZAP are rolul de a sterge toate inregistrarile din tabela activa, fara ca acestea sa fi fost marcate logic. Ea se foloseste pentru "golirea" totala a tabelei fiind mai rapida decat secventa:
DELETE ALL
PACK
cu care este echivalenta.
In urma unei comenzi ZAP tabela ramane vida, structura definita nefiind afectata.
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |