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
» Cautarea datelor in tabela


Cautarea datelor in tabela


Cautarea datelor in tabela

Bazele de date voluminoase sunt foarte greu de exploatat fara ajutorul unui mecanism de cautare puternic, care sa permita regasirea oricarei date intr-un timp util. Cautarea in tabele este o operatie foarte raspandita. Ea se realizeaza pe baza unui criteriu de cautare, materializat practic intr-o conditie introdusa intr-o comanda de cautare. Efectul comenzii respective este acela de pozitionare a indicatorului de inregistrari pe prima inregistrare care respecta conditia, pentru care valoarea expresiei logice este adevart.

De exemplu, aflarea valorii unui anumit mijloc fix presupune mai intai gasirea mijlocului fix respectiv, urmata de citirea valorii din campul valoare. Identificarea unui mijloc fix dupa datele specifice presupune cautarea intr-o tabela acelui mijloc fix care corespunde datelor respective. Acestea sunt probleme practice in care intervine cautarea unei anumite inregistrari intr-o tabela.



In FoxPro problema cautarii inregistrarilor intr-o tabela se rezolva cu ajutorul perechii de comenzi LOCATE si CONTINUE. Prima dintre ele este urmata de conditia pe care trebuie sa o respecte inregistrarea cautata in tabela activa. Domeniul inregistrarilor care se testeaza poate fi de asemenea, specificat explicit in comanda, cel implicit fiind ALL

In caz de reusita adica la gasirea unei inregistrari care respecta conditia impusa, indicatorul de inregistrari se va pozitiona pe inregistrarea respectiva, functia FOUND () va returna valoarea .T., iar functia EOF() va returna valoarea .F.. in caz contrar, indicatorul de inregistrari va fi pozitionat dupa ultima inregistrare (numarul total de inregistrari +1), FOUND () va returna .F. iar EOF() va returna valoarea .T..

Intr-o tabela pot exista mai multe inregistrari ce respecta o conditie data. Prima dintre aceasta va fi gasita folosind comanda LOCATE, iar urmatoarele vor fi gasite prin intermediul comenzii CONTINUE. Aceasta gaseste urmatoarea inregistrare care respecta conditia specificata in ultima comanda LOCATE aplicata tabelei active. Testarea reusitei sau nereusitei cautarii se face ca la comanda LOCATE cu ajutorul functiilor RECNO (), FOUND () si EOF ()

Sa se gaseasca primele doua materiale ce necesita aprovizionare, din tabela STOCURI:

CLOSE ALL

USE stocuri

LOCATE FOR cantitate<cant_norm

? FOUND ()

.T. cautare reusita

? EOF ()

.F.

? RECNO ()

CONTINUE

? FOUND ()

.F. cautare nereusita

? EOF ()

.T.

? RECNO ()

USE


O tehnica speciala de cautare, mult mai rapida decat cea secventiala impusa de comanda LOCATE, este posibila in cazul tabelelor indexate. Aceasta tehnica este implementata prin comanda SEEK sau functia cu acelasi nume si va fi prezentata in paragraful referitor la indexarea tabelelor.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate