Scrigroup - Documente si articole

     

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


Cautarea inregistrarilor intr-o baza dedate

fox pro



+ Font mai mare | - Font mai mic



Cautarea inregistrarilor intr-o baza dedate

Pozitionarea intr-o baza de date se poate face si prin cautarea unui anumit articol care indeplineste o conditie. Sunt mai multe posibilitati de acces rapid la o baza de date ordonata (indexata) sau nu. Vom prezenta cateva comenzi si functii pentru baze neordonate.



Comanda de cautare secventiala LOCATE:

LOCATE FOR <COND> [<domeniu>]

Se cauta primul articol care indeplineste conditia <cond> si, daca se gaseste indicatorul de inregistrare, se pozitioneaza pe articolul respectiv.

Daca nu se gaseste nici un articol care sa verifice conditia, pointerul de fisier va indica sfarsitul fisierului sau domeniului indicat prin clauza <domeniu>.

Functii de testare a succesului sau insuccesului cautarii cu LOCATE sunt:

1. FOUND () && intoarce .T. daca articolul a fost gasit

2. EOF () && intoarce .F. daca articolul a fost gasit

Atentie! Nu se poate folosi functia EOF() daca <domeniu> este diferit de ALL.

Comanda de continuare a cautarii urmatorului articol cu aceeasi cheie este.

CONTINUE

Comanda gaseste urmatoarea inregistrare care respecta conditia specifica in ultima comanda LOCATE aplicata asupra bazei de date-active.

Functia de cautare si pozitionare LOOKUP:

LOOKUP ( <camp1), <exp>, <camp2> [,<expc>])

Functia cauta intr-o baza de date prima aparitie a unei expresii date. In caz de reusita indicatorul de inregistrare se pozitioneaza pe inregistrarea cautata, functia returnand valoarea campului <camp1>. Daca articolul nu se gaseste, functia returneaza sirul vid; <camp2> este campul a carei valoare este cercetata, <exp> este expresia de cautat.

Exemplu: sa se gaseasca primele doua mijloace fixein folosinta din baza de date mijloacef:

CLOSE ALL

USE mijloacef

LOCATE FOR stare=.t.

? FOUND ( )

.T.

? EOF ( )

.F.

? RECNO ( )

1

CONTINUE

? FOUND ( )

.T.

? EOF ( )

.F.

? RECNO ( )

3

USE

Exemplu: sa se afiseze numele primului mijloc fix nefolosit din baza de date mijloacef.

CLOSE ALL

USE mijloacef

LIST

? LOOKUP ( denumire, .F. , stare )

?REXNO ( )

??denumire

3 Autocamion M100

USE

Comanda de salt si pozitionare:

GO [TO] <n>/TOP/BOTTOM

Comanda GOTO <n> pozitioneaza pe articolul cu numarul <n> in baza de date activa. GO TOP - pe primul articol in baza de date activa, GO BOTTOM - pe ultimul articol in baza de date activa.

Exemplu:

USE mijloacef

GOTO 2 && inregistrarea curenta va fi 2

? RECNO ( )

2

GO RECORD RECNO ( ) + 1

NOTE pozitionarea pe inregistrarea urmatoare ( inregistrarea curenta + 1 )

DISPLAY NEXT 1

GO TOP &&pozitionare pe inregistrarea 1

? RECNO ( )

1

GO BOTTOM && pozitionare pe ultima inregistrare

? RECNO ( )

4

USE

Urmatoarele instructiuni sunt echivalente ( pentru o baza de date neindexata ):

GO 1

GOTO 1

GO RECORD 1

GO TOP

GO TOPin SELECT

Comanda de avans si pozitionare

SKIP [+/-] <n>

Comanda face avansul (+) sau devansul (-) in baza de date peste <n> articole.

Observatie: Deschiderea unei baze de date se face cu pozitionarea pe primul articol.

Exemplu:

USE mijloacef

? RECNO ( )

1

SKIP 2

DISPLAY RECORD RECNO ( )

SKIP -1

?RECNO ( )

USE

Urmatoarele instructiuni sunt echivalente ( pentru o baza de date neindexata ):

SKIP

SKIP 1

SKIPin SELECT ( )

GO TO RECORD RECNO ( ) + 1

Duplicarea unei baze de date

Una din operatiile frecvent folosite in aplicatiile economice este copierea intregului continut al unei baze de date, sau o parte din el, in alt fisier. Cu aceasta ocazie se creeaza o noua baza de date care poate avea ca structura toate campurile din vechea baza de date, sau o parte din ele.

Copierea (duplicarea) unei baze de date se poate realiza prin comanda:

COPY TO <fis.dbf> [FIELDS <lista-camp>]

[<domeniu>] [FOR <conditie>][WHILE <conditie>]

Se vor copia articolele bazei de date active intr-o noua baza de date cu numele precizat in clauza TO <fis.dbf>. Clauza FIELDS enumera campurile care vor forma structura noii baze de date. Clauzele de selectie <domeniu>, FOR, WHILE permit preluarea partiala a articolelor. Daca exista un fisier baza de date cu numele dat in clauza TO, se cere acordul de suprascriere.

Exemplu:

use mijloacef && obtinem exact aceleasi date in doua fisiere

copy to manevra

copy to manevra fields denumire for stare=.t.

&& se va crea o manevra cu mijloacele fixe existente



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 894
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