Scrigroup - Documente si articole

     

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


Visual Fox Pro - SQL

sql



+ Font mai mare | - Font mai mic



Visual Fox Pro - SQL

Ne propune realizarea unui proiect care sa contina cateva interogari SQL. Pentru aceasta am creat patru table de tip free table, adica nu apartin unei baze de date.



Tabela CLIENTI

Nume camp

Semnificatie

Tip camp

Lungime

codcl

codul clientului

numeric

dencl

numele clientului

char

adresa

adresa

char

codpost

cod postal

numeric

codfisc

cod fiscal

char

Tabela FACTURI

Nume camp

Semnificatie

Tip camp

Lungime

nrfact

numarul facturii

numeric

codcl

codul clientului

numeric

datafact

data facturarii

data

valoare

valoarea facturii

numeric

valtva

numeric


Tabela LINIIFACT

nrfact

numarul facturii

numeric

linie

numarul liniei

numeric

codpr

codul produsului

numeric

cantitate

cantitatea

numeric

pretunit

pret unitar

numeric

Tabela PRODUSE

codpr

codul produsului

numeric

denpr

denumire produs

char

um

unitatea de masura

char

grupa

grupa produsului

char

proctva

procent tva

numeric

Interogari SQL

Cream un formular pe care il numim "menu" el va contine 18 butoane de tip Button Command.

Si acum interogarile.

1. Care sunt toate facturile?

Solutie :

Primul buton numit Afisare facturi care contine comanda "Select * from facturi"

2. Care este valoarea TVA deductibila aferenta valorii fiecarei facturi.?

Solutie: Adaugam un nou buton numit Calculare TVA care contine comanda "Update facturi set valtva=valoare*19/119"

3. Urmatorul buton numit Adugare Client contine comanda do form adaugare.scx, care deschide formularul Adaugare client, formular care contine 5 controloare de tip text box.

Primul text box este legat de campul codcl al tabelei CLIENTI cu ajutorul proprietatii ControlSource prin variabila c; al doilea text box este legat de campul denclient prin variabila d; s.a.m.d . Formularul contine de asemenea 5 controloare de tip Label prin care facem mai lizibil formularul. Am adaugat si un buton de tip command button care contine urmatoarele comenzi: " Insert into clienti(codcl, denclient, adresa, codpost, codfisc); value(val(c), d, a,val(cp) , cf)

c=''

d=''

a=''

cp=''

cf=''

Thisform.refresh()"

Se observa ca pentru text box 1 si text box 4 trebuie sa facem o conversie din tip caracter in tip numeric. La fel procedam si cu formularul adaugare_facturi.

4. Care sunt, codul fiscal, denumirea si codul fiscal al tuturor clientilor?

Solutie:

Adaugam un buton de tip command button Cod, denumire, cod fiscal care contine urmatoarea comanda : Select; codcl, denclient, codfisc from clienti

5. Care este valoarea totala a facturilor?

Solutie:

Adaugam un buton de tip command button Valoare Totala care contine urmatoarea comanda " Select sum(valoare) as val_tot from facturi".

6. Care este valoarea maxima a facturilor ?

Solutie:

" select max(valoare) as valoare_max from facturi"

7. Care este valoarea totala, maxima si minima a unei facturi?

Solutie:

Am creat un formular pe care l-am numit val_factura, care contine un controlor de tip text box, un buton de tip button command. Text box-ul este legat de tabela facturi cu ajutorul proprietatii ControlSource prin variabila n. Pe formularul menu am adaugat un buton care contine comanda : "do form val_factura.scx".

8. Care sunt facturile a caror valoare este mai mare de cat valoarea 1000?

Solutie:

Adaugam un buton care sa contina comanda: select * from facturi where valoare>1000

9. Care sunt produsele aferente facturii 5005, avand cantitatile mai mari decat 300?

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

"select * from liniifact;

where nrfact=5005 and cantitate>300

10. Care dintre facturi apartin clientului care are codul clientului egal cu 101, sa se ordoneze dupa numarul facturii?

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

Select facturi.codcl,facturi.nrfact,clienti.codcl;

from facturi inner join clienti on facturi.codcl=clienti.codcl;

where clienti.codcl=101;

order by facturi.nrfact

11. Ne propunem afisarea numerelor facturilor in mod distinct.

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

select Distinct(nrfact)as facturi from liniifact

12. Care sunt clientii care au in componenta numelor grupul de cuvinte "ent"?

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

select * from clienti where denclient like '%'+'ent'+'%'

13. Urmatorul buton contine o comanda do form cauta.scx prin care se deschide un formular cauta cu ajutorul caruia putem sa cautam, fara a fi necesar sa scriem in codul sursa.

Butonul formularului cauta contine urmatoarea comanda: select * from clienti;

where lower(denclient) like '%'+lower(alltrim(n))+'%'

n=''

thisform.refresh()

14. Care sunt facturile care valoarea TVA-ului cuprinsa intre valorile 90 si 200 ?

Solutie:

Adaugam un buton care sa contina urmatoarea comanda: "select * from facturi;

where valtva between 90 and 200

15. Care sunt toate produsele ?, sa se ordoneze dupa grupa.

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

select * from PRODUSE order by GRUPA

16. Cate linii are fiecare factura?

Solutie:

Adaugam un buton care sa contina urmatoarea comanda:

select count(NRFACT) as nr_Facturi, nrfact;

from liniifact;

group by nrfact

17. La cati clienti distincti s-au emis facturi?

Adaugam un buton care sa contina urmatoarea comanda:

Select count (Distinct codcl) from facturi



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


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