Pentru lucrul cu b.d. create anterior este necesara
deschiderea lor in zone de lucru ale FoxPro. Acest lucru se realizeaza folosind
comanda USE
sintaxa : USE [<fisier> | ?]
[ IN <zona de lucru>]
[ again ]
unde <fisier> este fisierul b.d ce va fi deschisa. Daca nu se specifica
nici <fisier> si nici ? atunci
comanda are ca efect inchiderea b.d. din zona de lucru curenta. Daca in locul
fisierului apare ? fisierul
b.d. ce va fi deschisa va fi obtinut printr-o fereastra de dialog.
In cazul in care clauza IN lipseste deschiderea b.d. se va face in zona de
lucru curenta, altfel zona de lucru in care se va deschide b.d. va fi cea
specificata de clauza IN .
In cazul in care se doreste deschiderea unei b.d. de
mai multe ori in zone de lucru diferite se foloseste clauza AGAIN.
Daca la deschiderea unei b.d in zona de lucru
exista o alta b.d., ca veche este inchisa automat inainte de deschiderea celei
noi.
Inchiderea bazelor de date se poate realiza si cu comenzile CLOSE ALL si
close database
sintaxa : CLOSE ALL
inchide toate fisierele din toate zonele de lucru si selecteaza zona de lucru 1
close database
inchide toate bazele de date si selecteaza zona de lucru 1.
Pentru a obtine informatii despre zonele de lucru si b.d. deschise in ele se
vor folosi doua functii USED( ) si DBF( ).
sintaxa : USED( [ <exp N> | <exp C> ] )
unde <exp N> sau <exp C> specifica zona de lucru despre care dorim
sa aflam informatii.
Aceasta functie returneaza o valoare logica altfel :
.T. daca in zona de lucru este deschisa o b.d.
.F. daca zona de lucru este libera.
Daca nu se specifica o zona de lucru, functia se refera la
zona de lucru curenta.
Pentru a afla ce b.d. este deschisa intr-o anumita zona de lucru se foloseste
functia DBF( ). Aceasta returneaza un
sir de caractere ce contine numele b.d. deschisa intr-o zona de lucru.
sintaxa : DBF( [ <exp N> ] )
unde <exp N> reprezinta numarul zonei de lucru la care functia se refera.
Daca nu este deschisa nici o b.d. in zona de lucru
specificata, atunci va fi returnat sirul vid.
exercitiu : Sa se deschida b.d. agenda.dbf in doua
zone de lucru (1 si 2) si sa se inchida b.d. din zona 1.
ex. :
use agenda
use agenda in 2 again
? dbf(2)
agenda.dbf
select 1
use