Sunteți pe pagina 1din 31

COLEGIUL NAIONAL CALISTRAT HOGA TECUCI

Atestat la informatic
Gestiune firma de taxiuri

Mai 2015
Visual Fox Professional

Profesor coordonator
Ionescu Gabriela

Elev
Neacu Bogdan

Clasa a XII-a C

Contents
Capitolul I - Introducere.............................................................................................. 3
1.Denumirea temei.................................................................................................. 3
2.Enunul temei....................................................................................................... 3
3.Motivaia lucrrii................................................................................................... 3
Capitolul II - Analiz.................................................................................................... 4
1.Descrierea activitatii analizate.............................................................................4
2. Prezentarea coleciilor de date............................................................................4
3. Prezentarea suportului teoretic...........................................................................5
Capitolul III - Arhitectura sistemului............................................................................9
1. Modelul conceptual al datelor.............................................................................9
2. Implementarea aplicaiei................................................................................... 10
3. Prezentarea programelor................................................................................... 11
Interogri.................................................................................................................. 25
Capitolul IV- Listare program.................................................................................... 26
Bibliografie............................................................................................................... 26

Capitolul I - Introducere

1.Denumirea temei
Gestiune firma de taxiuri

2.Enunul temei
Se va elabora un sistem informatic care s realizeze evidenta unei firme de
taxiuri folosind Visual FoxPro.
Aplicaia va conine :
-meniu
-formulare pentru actualizarea bazei de date
-interogri

3.Motivaia lucrrii
Lucrarea a fost elaborata cu scopul de a tine evidenta unei firme de taxiuri.

Capitolul II - Analiz

1.Descrierea activitatii analizate


Evidenta unui dealer auto se realizeaz prin manipularea unor
informaii despre date_firma (cod_d, cod_fiscal, nume, adresa, oras, telefon,
lei_km), angajati (cod_a, nume, prenume, telefon, functie, salariu), masini
(cod_m, nume, numar_inmatriculare, km, an_fabr).

2. Prezentarea coleciilor de date

Baza de date Taxi.dbc cuprinde 3 tabele utilizate n activitatea analizat:


-tabela date_firma.dbf cuprinde 7 cmpuri cu informatii privind dispeceratele firmei;
-tabela angajati.dbf are n componen 6 cmpuri care rein informaii cu privire la
angajati;
-tabela masini.dbf curpinde 5 cmpuri care furnizeaz informaii despre masinile
firmei de taxi;

3. Prezentarea suportului teoretic

Pentru manipularea informaiei in cadrul activitii realizate au fost


folosite urmtoarele tipuri de date:
-tipul numeric, cu subtipul integer folosit pentru reprezentarea numerelor
ntregi;
-tipul alfanumeric, care are ca subtip irul de caractere (character)
delimitat de doua apostrofuri sau ghilimele i a crui lungime maxim este
de 254 de caractere;

Baza de date relaionala este formata dintr-unul sau mai multe tabele
ntre care s-au stabilit legturi (relaii). Relaia dintre doua tabele este o
legtur dintre un cmp sau un ansamblu de cmpuri dintr-un tabel (cheia
primar) i cmpurile corespunztoare dintr-un alt tabel (cheia secundar).
Exist mai multe tipuri de relaii determinate de conectivitile maxime ale
entitilor ale cror nregistrri se afl n tabele ntre care s-a stabilit o
legtur printr-o asociere. n aplicaia analizat s-a utilizat tipul de legtur 1
la n (1:n) adica o nregistrare din primul tabel este legat la mai multe
nregistrari din al doilea tabel.

Actualizarea tabelului se poate face prin:


Adugarea de noi nregistrri:
-adugarea de nregistrri la sfritul tabelului prin intermediul comenzii
append
-adugarea unei nregistrri vide : append blank
-adugarea nregistrrilor dintr-un alt tabel:
append from <nume_tabel> [fields <lista_campuri>] [for <cl>];
-inserarea n interiorul tabelului:
5

insert [before] [blank];

tergerea nregistrrilor:
-tergere logica : delete [<domeniu>] [for <cll>] [while <cl2>];
-refacerea nregistrrilor sterse logic :
recall [<domeniu>] [for <cll>] [while <cl2>];
-tergerea fizica: pack;
-tergerea fizica a tuturor nregistrrilor : zap;

Modificarea nregistrrilor:
-nlocuirea valorii unui cmp cu o valoare specificat :
replace nume camp [<domeniu>] with <expresie> [for <c1l>] [while
<cl2>];
-interactiv, prin urmatoarele comenzi:
browse [fields <lista_cmpuri>] [noappend] [noedit] [nodelete];
edit [fields <lista_cmpuri>] [noappend] [noedit] [nodelete];
change [fields <lista_cmpuri>] [noappend] [noedit] [nodelete];

Consultarea tabelului pentru obinerea unor


informaii:
list/display [fields] <lista_cmpuri> [<domeniu>] [for <cll>] [while

<cl2>] [to printer \ to file <nume fisier>] [off];


list=dispay all;

Sortarea tabelului

n urma sortrii unui tabel se creeaz un nou tabel n care nregistrrile


sunt rearanjate n urma criteriului de sortare folosit. Sintaxa comenzii este :

sort to <nume_tabel> on <camp_l> [/a] [/d] [/c] [<camp_2> [/a] [/d] [/c] ...]
[ascending] [descending] [<domeniu>] [for <cll>] [while <cl2>] [fields
<lista_campuri>];

Indexarea tabelului
Sintaxa comenzii este:
index on <expresie_index> to <nume fisier.idx>\tag
<nume_eticheta> [of <nume fisier.cdx>] [for<cll>] [ascending]
[descending] [additive];

Comenzi
tabela :

de

poziionare

pe

nregistrare

din

1.dup numrul nregistrrii:


a) goto | go n | top | bottom;
b) skip [n];

2.dup un criteriu logic de cutare :


a) locate for <cll> [<domeniu>] [while <cl2>];
b) continue;

3.alte criterii:

a) reccount() - obine numrul de inregistrri din tabela;


b) recno() - obine numrul nregistrrii curente din tabela;
c) eof() - fumizeaz un rezultat logic care este .T. daca pointerul este poziionat

pe ultima nregistrare din tabela;

d) bof() - fumizeaz un rezultat logic care este .T. dac pointerul este poziionat

pe prima nregistrare din tabela;


e) found() - furnizeaz un rezultat logic care este .T. dac a avut succes operaia de

cutare.

Raportul este o colecie de informaii obinute din datele stocate in


tabelele bazei de date, prezentate utilizatorului ntr-o form ct mai clar
si mai concis. n general este conceput sub forma unui tabel avnd i
funcia de sortare i grupare a datelor. Raportul se compune din :
seciunea de date (Detail), antetul paginii (Page Header), subsolul paginii
(Page Footer), antetul raportului (Report Header/Title), subsolul raportului
(Report Footer/Summary), grupul (Group).
Raportul este memorat ntr-un fiier cu extensia .frx si se poate tipri cu
comanda:
report form <nume_fiier> [heading <exp_C>] [summary]
[<domeniu>J [for <cl1>] [while <cl2>] [to printer | to file
<nume_fisier>].

Interogarea este operaia prin care se extrag date din baza de date far s fie terse sau modificate - ce vor fi afiate ntr-un anumit format.
Folosind o interogare se pot executa urmatoarele operaii:
-combinarea nregistrrilor din mai multe tabele ntr-un singur tabel;
-selectarea numai a nregistrrilor care ndeplinesc un anumit criteriu;
-afiarea nregistrrilor n ordinea dorita;
-afiarea cmpurilor calculate.

n Visual FoxPro se poate crea o interogare :


-interactiv folosind query designer;
8

-prin limbajul SQL (instruciunea select - diferit de comanda select folosit pentru selectarea
unei zone
de lucru).
Interogarea este salvata ntr-un fiier cu extensia .qpr si se lanseaza n execuie cu comanda:
do <numejisier>.qpr

Capitolul III - Arhitectura sistemului


1. Modelul conceptual al datelor
i)Tabela date_firma:

Conine informaii despre datele dispeceratelor din firma: cod_d(N,10),


cod_fiscal(N,10),
nume(C,30), adresa(C,30), oras(C,30), telefon(N,10),
lei_km(N,10);
ii)Tabela angajai:

Conine informaii despre angajatii firmei: cod_a(N,5), nume(C,30),


prenume(C,30), telefon(N,10), functie(C,30), salariu(N,10);

iii)Tabela maini:

Conine informaii despre masini: cod_m(N,5),


numar_inmatriculare(C,9), km(N,10), an_fabr(N,10);

nume(C,

20),

2. Implementarea aplicaiei
n aplicaia analizat au fost implementate cu ajutorul formularelor
proceduri de adugare, tergere, modificare, listare, cutare, sortare,
10

interogare. Pentru fiecare dintre tabelele date_firma, angajati, masini sau efectuat: adugare date_firma, angajati, masini, modificare date_firma,
angajati, masini i tergere date_firma, angajati, masini.
De asemenea asupra tabelelor s-au executat prelucrri prin intermediul
interogrilor. Toate aceste operaii au fost incluse ntr-un meniu.

11

3. Prezentarea programelor

Adugare angajai

Butonul ADUGARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_a
valnume
valprenume
valfunctie
valtelefon
valsalariu

SET TALK OFF


valcod_a=VAL(ALLTRIM(thisform.editcod_a.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valprenume=PROPER(ALLTRIM(thisform.editprenume.Text))
valfunctie=PROPER(ALLTRIM(thisform.editfunctie.Text))
valtelefon=VAL(ALLTRIM(thisform.edittelefon.Text))
valsalariu=VAL(ALLTRIM(thisform.editsalariu.Text))
IF VAL(ALLTRIM(thisform.editcod_a.Text))=0
MESSAGEBOX("Nu ati introdus cod angajat!")

12

RETURN
ENDIF
CLOSE ALL
SELE 1
USE angajati
LOCATE FOR (valcod_a)=cod_a
IF FOUND()=.t.
MESSAGEBOX("Exista deja acest angajat!")
RETURN
ENDIF
CLOSE ALL
USE angajati
APPEND BLANK
replace cod_a WITH valcod_a
replace nume WITH PROPER(valnume)
replace prenume WITH PROPER(valprenume)
replace functie WITH PROPER(valfunctie)
replace telefon WITH valtelefon
replace salariu WITH valsalariu
MESSAGEBOX("Adaugarea a reusit!")

Butonul RESETARE (click event):


SET TALK OFF
thisform.editcod_a.Value=""
thisform.editnume.Value=""
thisform.editprenume.Value=""
thisform.editfunctie.Value=""
thisform.edittelefon.Value=""
thisform.editsalariu.Value=""

Butonul AFIARE (click event):


SET TALK OFF
USE angajati
BROWSE NOEDIT NODELETE noappend

13

Adugare date dispecerat

Butonul ADUGARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_d
valcod_fiscal
valnume
valadresa
valoras
valtelefon
vallei_km

SET TALK OFF


valcod_d=VAL(ALLTRIM(thisform.editcod_d.Text))
valcod_fiscal=VAL(ALLTRIM(thisform.editcod_fiscal.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valadresa=PROPER(ALLTRIM(thisform.editadresa.Text))
valoras=PROPER(ALLTRIM(thisform.editoras.Text))
valtelefon=VAL(ALLTRIM(thisform.edittelefon.Text))
vallei_km=VAL(ALLTRIM(thisform.editlei_km.Text))
IF VAL(ALLTRIM(thisform.editcod_d.Text))=0
MESSAGEBOX("Nu ati introdus cod dispecerat!")
RETURN
ENDIF

14

CLOSE ALL
SELE 1
USE date_firma
LOCATE FOR valcod_d=cod_d
IF FOUND()=.T.
MESSAGEBOX("Exista deja acest cod!")
RETURN
ENDIF
CLOSE ALL
USE date_firma
APPEND BLANK
replace cod_d WITH valcod_d
replace cod_fiscal WITH valcod_fiscal
replace nume WITH PROPER(valnume)
replace adresa WITH PROPER(valadresa)
replace oras WITH PROPER(valoras)
replace telefon WITH valtelefon
replace lei_km WITH vallei_km
MESSAGEBOX("Adaugare reusita!")

Butonul RESETARE(click event):


SET TALK OFF
thisform.editcod_d.Value=""
thisform.editcod_fiscal.Value=""
thisform.editnume.Value=""
thisform.editadresa.Value=""
thisform.editoras.Value=""
thisform.edittelefon.Value=""
thisform.editlei_km.Value=""

Butonul AFIARE (click event):


SET TALK OFF
USE date_firma
BROWSE NOEDIT NODELETE noappend

15

Adugare maini

Butonul ADUGARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_m
valnume
valnumar_inmatriculare
valan_fabr
valkm

SET TALK OFF


valcod_m=VAL(ALLTRIM(thisform.editcod_m.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valnumar_inmatriculare=PROPER(ALLTRIM(thisform.editnumar_inmatriculare.Text))
valan_fabr=VAL(ALLTRIM(thisform.editan_fabr.Text))
valkm=VAL(ALLTRIM(thisform.editkm.Text))
IF VAL(ALLTRIM(thisform.editcod_m.Text))=0

16

MESSAGEBOX("Nu ati introdus cod masina!")


RETURN
ENDIF
CLOSE ALL
SELE 1
USE masini
LOCATE FOR (valcod_m)=cod_m
if FOUND()=.T.
MESSAGEBOX("Exista deja aceasta masina!")
RETURN
ENDIF
CLOSE ALL
USE masini
APPEND BLANK
replace cod_m WITH VALcod_m
replace nume WITH valnume
replace numar_inmatriculare WITH valnumar_inmatriculare
replace an_fabr WITH valan_fabr
replace km WITH valkm
MEssagebox("Adaugarea s-a efectuat!")

Butonul RESETARE (click event):


SET TALK OFF
thisform.editcod_m.Value=""
thisform.editnume.Value=""
thisform.editnumar_inmatriculare.Value=""
thisform.editan_fabr.Value=""
thisform.editkm.Value=""

Butonul AFIARE(click event):


SET talk OFF
USE masini
BROWSE NOEDIT NODELETE noappend

17

Modificare angajai

Butonul de MODIFICARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_a
valnume
valprenume
valfunctie
valtelefon
valsalariu

SET TALK OFF


valcod_a=VAL(ALLTRIM(thisform.editcod_a.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valprenume=PROPER(ALLTRIM(thisform.editprenume.Text))
valfunctie=PROPER(ALLTRIM(thisform.editfunctie.Text))
valtelefon=VAL(ALLTRIM(thisform.edittelefon.Text))
valsalariu=VAL(ALLTRIM(thisform.editsalariu.Text))
IF VAL(ALLTRIM(thisform.editcod_a.Text))=0
MESSAGEBOX("Nu ati introdus cod angajat!")
RETURN
ENDIF

18

USE angajati
LOCATE FOR cod_a=valcod_a
IF FOUND()
IF LEN(ALLTRIM(valnume))<>0
replace nume WITH PROPER(valnume)
ENDIF
IF LEN(ALLTRIM(valprenume))<>0
replace prenume WITH PROPER(valprenume)
ENDIF
IF LEN(ALLTRIM(valfunctie))<>0
replace functie WITH PROPER(valfunctie)
ENDIF
IF valtelefon<>0
replace telefon WITH valtelefon
ENDIF
IF valsalariu<>0
replace salariu WITH valsalariu
ENDIF
MESSAGEBOX("Modificarea s-a efectuat!")
ELSE
MESSAGEBOX("Angajat inexistent!")
ENDIF
USE

Butonul AFIARE MODIFICARE (click event):


SET TALK OFF
valcod_a=VAL(ALLTRIM(thisform.editcod_a.Text))
SELECT * FROM angajati WHERE cod_a=valcod_a
USE

Butonul Afisare (click event):


SET TALK OFF
CLOSE ALL
USE
USE angajati
BROWSE NOEDIT NODELETE noappend
USE

Butonul Resetare (click event):


SET TALK OFF
thisform.editcod_a.Value=""
thisform.editnume.Value=""
thisform.editprenume.Value=""
thisform.editfunctie.Value=""
thisform.edittelefon.Value=""
thisform.editsalariu.Value=""

19

Modificare date dispecerat

Butonul MODIFICARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_d
valcod_fiscal
valnume
valadresa
valoras
valtelefon
vallei_km

SET TALK OFF


valcod_d=VAL(ALLTRIM(thisform.editcod_d.Text))
valcod_fiscal=VAL(ALLTRIM(thisform.editcod_fiscal.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valadresa=PROPER(ALLTRIM(thisform.editadresa.Text))
valoras=PROPER(ALLTRIM(thisform.editoras.Text))
valtelefon=VAL(ALLTRIM(thisform.edittelefon.Text))
vallei_km=VAL(ALLTRIM(thisform.editlei_km.Text))
IF VAL(ALLTRIM(thisform.editcod_d.Text))=0
MESSAGEBOX("Nu ati introdus cod dispecerat!")
RETURN
ENDIF

20

USE date_firma
LOCATE FOR cod_d=valcod_d
IF FOUND()
IF valcod_fiscal<>0
replace cod_fiscal WITH valcod_fiscal
ENDIF
IF LEN(ALLTRIM((valnume)))<>0
replace nume WITH PROPER (valnume)
ENDIF
IF LEN(ALLTRIM((valadresa)))<>0
replace adresa WITH PROPER (valadresa)
ENDIF
IF LEN(ALLTRIM((valoras)))<>0
replace oras WITH PROPER (valoras)
ENDIF
IF valtelefon<>0
replace telefon WITH valtelefon
ENDIF
IF vallei_km<>0
replace lei_km WITH vallei_km
ENDIF
MESSAGEBOX("Modificarea s-a efectuat!")
ELSE
MESSAGEBOX("Dispecerat inexistent!")
ENDIF
USE

Butonul AFIARE MODIFICARE (click event):


SET TALK OFF
valcod_d=VAL(ALLTRIM(thisform.editcod_d.Text))
SELECT * FROM date_firma WHERE cod_d=valcod_d
USE

Butonul Afisare (click event):


CLOSE all
SET talk OFF
USE date_firma
BROWSE NOEDIT NODELETE noappend

Butonul Resetare (click event):


SET TALK OFF
thisform.editcod_d.Value=""
thisform.editcod_fiscal.Value=""
thisform.editnume.Value=""
thisform.editadresa.Value=""
thisform.editoras.Value=""
thisform.edittelefon.Value=""
thisform.editlei_km.Value=""

21

Modificare maini

Butonul MODIFICARE (click event):


PRIVATE
PRIVATE
PRIVATE
PRIVATE
PRIVATE

valcod_m
valnume
valnumar_inmatriculare
valan_fabr
valkm

SET TALK OFF


valcod_m=VAL(ALLTRIM(thisform.editcod_m.Text))
valnume=PROPER(ALLTRIM(thisform.editnume.Text))
valnumar_inmatriculare=PROPER(ALLTRIM(thisform.editnumar_inmatriculare.Text))
valan_fabr=VAL(ALLTRIM(thisform.editan_fabr.Text))
valkm=VAL(ALLTRIM(thisform.editkm.Text))
IF VAL(ALLTRIM(thisform.editcod_m.Text))=0
MESSAGEBOX("Nu ati introdus cod masina!")
RETURN
ENDIF
USE masini

22

LOCATE FOR cod_m=valcod_m


IF FOUND()
IF LEN(ALLTRIM(valnume))<>0
replace nume WITH PROPER(valnume)
ENDIF
IF LEN(ALLTRIM(valnumar_inmatriculare))<>0
replace numar_inmatriculare WITH PROPER(valnumar_inmatriculare)
ENDIF
IF valan_fabr<>0
replace an_fabr WITH valan_fabr
ENDIF
IF valkm<>0
replace km WITH valkm
ENDIF
MESSAGEBOX("Modificarea s-a efectuat!")
ELSE
MESSAGEBOX("Masina inexistenta!")
ENDIF
USE

Butonul AFIARE MODIFICARE (click event):


SET TALK OFF
valcod_m=VAL(ALLTRIM(thisform.editcod_m.Text))
SELECT * FROM masini WHERE cod_m=valcod_m
USE

Butonul Afisare (click event):


SET TALK OFF
CLOSE ALL
USE
USE masini
BROWSE NOEDIT NODELETE
USE

Butonul Resetare (click event):


SET TALK OFF
thisform.editcod_m.Value=""
thisform.editnume.Value=""
thisform.editnumar_inmatriculare.Value=""
thisform.editan_fabr.Value=""
thisform.editkm.Value=""

23

tergere angajai

Butonul TERGERE (click event):


CLOSE all
SELECT 1
USE angajati
PRIVATE valcod_a
PRIVATE pozitie
SET TALK OFF
valcod_a=VAL(ALLTRIM(thisform.editcod_a.Text))
**use angajati
LOCATE FOR cod_a=valcod_a
pozitie=RECNO()
IF EOF()=.T. AND FOUND()=.F.
MESSAGEBOX("Inregistrarea de sters nu exista!")
ELSE
&&pozitie=recno()
GOTO pozitie
DELETE
PACK
MESSAGEBOX("Stergere reusita!")
ENDIF
USE

24

Butonul AFIARE (click event):


SET TALK OFF
SELECT * FROM angajati
USE

Butonul RESETARE (click event):


SET TALK OFF
thisform.editcod_a.Value=""
CLOSE DATA

Butonul CUTARE (click event):


SET TALK OFF
IF VAL(ALLTRIM(thisform.editcod_a.Text))=0
MESSAGEBOX("Nu ati introdus cod angajat!")
RETURN
ENDIF
valcod_a=VAL(ALLTRIM(thisform.editcod_a.Text))
SELECT * FROM angajati WHERE cod_a=valcod_a
USE

tergere date dispecerat

25

Butonul TERGERE (click event):


SELECT 1
USE date_firma
PRIVATE valcod_d
PRIVATE pozitie
SET TALK OFF
valcod_d=VAL(ALLTRIM(thisform.editcod_d.Text))
**use date_firma
LOCATE FOR cod_d=valcod_d
pozitie=RECNO()
IF EOF()=.T. AND FOUND()=.F.
MESSAGEBOX("Inregistrarea de sters nu exista!")
ELSE
&&pozitie=recno()
GOTO pozitie
DELETE
PACK
MESSAGEBOX("Stergere reusita!")
ENDIF
USE

Butonul CUTARE (click event):


SET TALK OFF
IF VAL(ALLTRIM(thisform.editcod_d.Text))=0
MESSAGEBOX("Nu ati introdus codul dispeceratului!")
RETURN
ENDIF
valcod_d=VAL(ALLTRIM(thisform.editcod_d.Text))
SELECT * FROM date_firma WHERE cod_d=valcod_d
use

Butonul AFIARE (click event):


SET TALK OFF
SELECT * FROM date_firma
USE

Butonul RESETARE (click event):


SET TALK OFF
thisform.editcod_d.Value=""
CLOSE DATA

tergere maini
26

Butonul TERGERE(click event):


CLOSE ALL
SELECT 1
USE masini
PRIVATE valcod_m
PRIVATE pozitie
SET TALK OFF
valcod_m=VAL(ALLTRIM(thisform.editcod_m.Text))
**use masini
LOCATE FOR cod_m=valcod_m
pozitie=RECNO()
IF EOF()=.T. AND FOUND()=.F.
MESSAGEBOX("Inregistrarea de sters nu exista!")
ELSE
&&pozitie=recno()
GOTO pozitie
DELETE
PACK
MESSAGEBOX("Stergere reusita!")
ENDIF
USE

Butonul AFIARE (click event):


SET TALK OFF
SELECT * FROM masini
USE

Butonul RESETARE (click event):


27

SET TALK OFF


thisform.editcod_m.Value=""
CLOSE DATA

Butonul CUTARE (click event):


CLOSE ALL
SET TALK OFF
IF VAL(ALLTRIM(thisform.editcod_m.Text))=0
MESSAGEBOX("Nu ati introdus cod masina!")
RETURN
ENDIF
valcod_m=VAL(ALLTRIM(thisform.editcod_m.Text))
SELECT * FROM masini WHERE cod_m=valcod_m
USE

28

Interogri

29

Capitolul IV- Listare program

Print Screens

30

Bibliografie

Manual de Informatica - SGBD - Sisteme


de Gestiune a Bazelor de Date- Mariana
Milosescu, Editura Didactica si
Pedagogica
Baze de date in Visual FoxPro-Mariana
Milosescu, Editura Teora

31

S-ar putea să vă placă și