Documente Academic
Documente Profesional
Documente Cultură
formulelor de calcul
Se respectă convenţia „elementul din stânga egalului preia
valoarea de la componenta din dreapta egalului”.
• Preluarea atributelor se poate realiza prin dublu click pe
denumirea atributului din obiectul sursă, prin drag and drop
asupra denumirii atributului către o coloană din grila de
proiectare sau prin selectarea denumirii atributului din lista
derulantă asociată unui câmp Field.
• Simbolul * se referă la întreaga înregistrare din obiectul sursă
respectiv. Lista derulantă include toate atributele din
obiectele sursă.
Cereri de interogare
Table: denumirea obiectului sursă.
• Rolul acestui instrument este important atunci când un atribut se
regăseşte în mai multe obiecte sursă, cu aceeaşi denumire (cheile
primare / externe, de exemplu) şi utilizatorii doresc definirea precisă a
sursei. Pentru atributele calculate, nu există obiect sursă.
Sort permite ordonarea înregistrărilor după valorile unuia sau
mai multor atribute. Sortarea se realizează crescător
(Ascending) sau descrescător (Descending), alfabetic sau
numeric, după tipul datelor atributului la care se aplică (datele
de tip Long Text sau OLE Object nu pot fi utilizate pentru
sortare).
• Dacă se aplică opţiuni de sortare pentru mai multe atribute, ordinea de
prioritizare a acestor opţiuni este de la stânga la dreapta, aşa cum
atributele sunt poziţionate în grila de proiectare.
• Fereastra de pe următorul slide afişează o parte din rezultatul interogării
pentru atributele (cu sortare implicită după primul atribut - acesta este
cheie primară):
Cereri de interogare
Field: Simbol Denumire Grupa NrOp 33303 -
Table: CONTURI CONTURI CONTURI DEBIT DEBIT
Join Properties ? X
CONTURlI DEBIT
- -
Left Column Name Right Column Name
Simbol SimbolD
- -
O 1: Only include rows where the joined fields from both tables are equal,
® 2: Indude ALL records from 'OGNTURT and only those records from 'DEBIT
where the joined fields are equal,
O 3: Indude ALL records from 'DEBIT1 and only those records from 'CONTURI'
where the joined fields are equal.
Cancel New
Cereri de interogare
Opţiunea 1 include în rezultatul interogării doar înregistrările pentru care valorile cheii
Left Column Name au corespondent în mulţimea de valori a cheii Right Column Name;
Atunci când atributele de legătură sunt chei definite ca atare, Left corespunde cheii
primare;
Opţiunea 2 afişează toate înregistrările care conţin date din tabelul Left Table Name şi
numai acele valori din Right Table Name care există. Acolo unde nu există valori
corespondente, se afişează valori nule (căsuţe goale);
Opţiunea 3 este inversul opţiunii 2. În cazul legăturilor dintre chei definite ca atare,
opţiunea 3 este identică opţiunii 1, din cauza restricţiei de integritate referenţială.
Definirea opţiunilor 2 sau 3 conduce la afişarea în zona de surse de date a unor săgeţi de la
tabelul Left către tabelul Right.
Un exemplu de aplicare a opţiunii 2 (pentru tabelele de mai jos) este redat pe slide-ul
următor.
CO NTURI DEBIT
* *
1 co
ţ Simbol ţ Sim bolD
Denumire ţ NrOp
Grupa SumaD
1\\J
Clasa
Cereri de interogare
^ QueryZ
Se poate observa că există înregistrări în care nu apar date din tabelul Right al legăturii.
Se recomandă ca orice sursă de date dintr-o interogare să participe la cel puţin o legătură.
În caz contrar, rezultatul interogării va fi format din înregistrări formate nu prin alăturarea
datelor corelate (conform legăturii), ci prin produs cartezian, ceea ce conduce la
nerespectarea corelaţiilor dintre datele preluate din surse diferite.
Cereri de interogare
5.2. Reprezentarea atributelor - atribute calculate. Formule si
funcţii (simple si de grup).
Pentru calcule, respectiv obţinerea de valori prin prelucrare, este necesar ca acestea să fie
asociate cu atribute,? la fel ca datele/atributele din modelul fizic iniţial.
5
General Lookup
Description
Format
Decimal Places
Input Mask
Caption
• Aceste proprietăţi sunt similare celor de la definirea atributelor în cadrul tabelelor, dar, aşa
cum se poate observa, nu toate proprietăţile sunt disponibile aici.
• Din lista Format, dacă se alege opţiunea Currency, rezultatul interogării este afişat astfel:
Jnterogare_1
[5 Guery2
Simbol t Denumire cc ▼ NrOp - Suma creditoare ▼
— 36 Rezerve 29 18.000.000,00 lei
106 Rezerve 38 5.102.212,50 lei
107 Rezultatul rapo 38 10.204.225,00 lei
112 Fond de partcif 38 5.102.212,50 lei
118 Alte fonduri 38 3.401.475,00 lei
121 Profit si pierdei
131 Subvenţii pentr 27 5.000.000,00 lei
162 Credite bancari
300 M aterii prime
301 M ateriale cons
321 Obiecte de inve
322 Uzura obiectek 23 2.100.000,00 lei
345 Produse finite 20 24.500.000,00 lei
Cereri de interogare
• Vom testa valorile nule ale atributului SumaC prin expresia:
Evaluare 3: IsNull([SumaC])
• Rezultatul interogării (s-a definit formatul Yes/No pentru noul atribut):
| ^ Query2
Simbol ▼ Denumire cc ▼ NrOp - Suma creditoare ▼ Evaluare_3 ▼
Rezerve 29 18.000.000,00 lei No
106 Rezerve 38 5.102.212,50 lei No
107 Rezultatul rapo 38 10.204.225,00 lei No
112 Fond de partcif 38 5.102.212,50 lei No
118 Alte fonduri 38 3.401.475,00 lei No
121 Profit si pierdei Yes
131 Subvenţii pentr 27 5.000.000,00 lei No
162 Credite bancari Yes
300 Materii prime Yes
301 Materiale cons Yes
321 Obiecte de inve Yes
322 Uzura obiectek 23 2.100.000,00 lei No
345 Produse finite 20 24.500.000,00 lei No
345 Produse finite 35 50.000.000,00 lei No
371 Mărfuri 13 6.500.000,00 lei No
401 Furnizori 10 22.750.000,00 lei No
404 Furnizori de im 25 20.740.000,00 lei No
411 Clienţi 11 15.000.000,00 lei No
• Vom înlocui valorile nule ale atributului SumaC prin expresia:
Evaluare 4: IIf(IsNull([SumaC]); 0;[SumaC])
Rezultatul interogării:
3 Query2
Sim bol t D en u m ire cc ▼ NrO p - Suma cred itoare ▼ Evaluare_3 ▼ Evaluare_4 ▼ Lungime ▼
¿ X I ; v , | i 0 6 Rezerve 29 1 8 .0 0 0 .0 0 0 ,0 0 lei No 1 8 .0 0 0 .0 0 0 ,0 0 lei 8
106 Rezerve 38 5 .1 0 2 .2 1 2 ,5 0 lei No 5 .1 0 2 .2 1 2 ,5 0 lei 9
107 Rezultatul rapo 38 1 0 .2 0 4 .2 2 5 ,0 0 lei No 1 0 .2 0 4 .2 2 5 ,0 0 lei 8
112 Fond de partcip 38 5 .1 0 2 .2 1 2 ,5 0 lei No 5 .1 0 2 .2 1 2 ,5 0 lei 9
118 Alte fo n d u ri 38 3 .4 0 1 .4 7 5 ,0 0 lei No 3 .4 0 1 .4 7 5 ,0 0 lei 7
121 Profit si pierdei Yes 0,00 lei 1
131 Subvenţii pentr 27 5 .0 0 0 .0 0 0 ,0 0 lei No 5 .0 0 0 .0 0 0 ,0 0 lei 7
162 C redite bancari Yes 0,00 lei 1
300 M a te rii prim e Yes 0,00 lei 1
301 M a te ria le cons Yes 0,00 lei 1
321 O biecte de inve Yes 0,00 lei 1
322 Uzura obiectelc 23 2 .1 0 0 .0 0 0 ,0 0 lei No 2 .1 0 0 .0 0 0 ,0 0 lei 7
345 Produse fin ite 20 2 4 .5 0 0 .0 0 0 ,0 0 lei No 2 4 .5 0 0 .0 0 0 ,0 0 lei 8
345 Produse fin ite 35 5 0 .0 0 0 .0 0 0 ,0 0 lei No 5 0 .0 0 0 .0 0 0 ,0 0 lei 8
371 M ă rfu ri 13 6 .5 0 0 .0 0 0 ,0 0 lei No 6 .5 0 0 .0 0 0 ,0 0 lei 7
401 Furnizori 10 2 2 .7 5 0 .0 0 0 ,0 0 lei No 2 2 .7 5 0 .0 0 0 ,0 0 lei 8
404 Furnizori de im 25 2 0 .7 4 0 .0 0 0 ,0 0 lei No 2 0 .7 4 0 .0 0 0 ,0 0 lei 8
• Funcţia Left(atribut,i) „extrage" un număr de i caractere din valoarea atributului atribut,
începând de la stânga. Parametrul i reprezintă un număr natural.
• Exemplu, funcţia:
Stanga: Left([SimbolC];3)
extrage primele trei caractere de la stânga din valoarea atributului SimbolC:
- pentru valorile nule, rezultatele sunt tot valori nule. Nu toate conturile au sume creditoare.
^ Query2
Simbol ▼ D enum ire cc ▼ NrOp t Suma creditoare ▼ Evaluare_3 ▼ Evaluare_4 ▼ Lungime ▼ Stanga ▼
î IM — 1 Rezerve 29 18.0 00 .0 00 ,00 lei No 18.0 00 .0 00 ,00 lei 8 106
106 Rezerve 38 5 .1 0 2.2 1 2,5 0 lei No 5 .1 0 2.2 1 2,5 0 lei 9 106
107 Rezultatul rapo 38 10.2 04 .2 25 ,00 lei No 10.2 04 .2 25 ,00 lei 8 107
112 Fond de partcif 38 5 .1 0 2.2 1 2,5 0 lei No 5 .1 0 2.2 1 2,5 0 lei 9 112
118 Alte fondu ri 38 3 .4 0 1.4 7 5,0 0 lei No 3 .4 0 1.4 7 5,0 0 lei 118
121 Profit si pierdei Yes 0,00 lei
131 Subvenţii pentr 27 5 .0 0 0.0 0 0,0 0 lei No 5 .0 0 0.0 0 0,0 0 lei 131
162 Credite bancari Yes 0,00 lei
300 M a te rii prim e Yes 0,00 lei
301 M a te ria le cons Yes 0,00 lei
321 Obiecte de inve Yes 0,00 lei
322 Uzura obiectelc 23 2 .1 0 0.0 0 0,0 0 lei No 2 .1 0 0.0 0 0,0 0 lei 322
345 Produse finite 20 2 4 .5 0 0 .0 0 0 ,0 0 lei No 2 4.5 00 .0 00 ,00 lei 8 345
345 Produse finite 35 5 0 .0 0 0 .0 0 0 ,0 0 lei No 5 0.0 00 .0 00 ,00 lei 8 345
• Funcţia Right(atribut,i) „extrage" un număr de i caractere din valoarea atributului atribut,
începând de la dreapta. Parametrul i reprezintă un număr natural.
• Exemplu, funcţia:
Dreapta: Right([SimbolC];2)
extrage primele două caractere de la dreapta din valoarea atributului SimbolC
- pentru valorile nule, rezultatele sunt tot valori nule. Nu toate conturile au sume creditoare.
5 Q u e ry 2
Simbol ▼ Denumire cc ▼ NrOp t Suma creditoare ▼ Evaluare_3 ▼ Evaluare_4 ▼ Lungime ▼ Stan ga ▼ Dreapta ▼
SE? Rezerve 29 18.000.000,00 lei No 18.000.000,00 lei 8 106 06
106 Rezerve 38 5.102.212,50 lei No 5.102.212,50 lei 9 106 06
107 Rezultatul rapo 38 10.204.225,00 lei No 10.204.225,00 lei 8 107 07
112 Fond de partcip 38 5.102.212,50 lei No 5.102.212,50 lei 9 112 12
118 Alte fonduri 38 3.401.475,00 lei No 3.401.475,00 lei 118 18
121 Profit si pierdei Ves 0,00 lei
131 Subvenţii pentr 27 5.000.000,00 lei No 5.000.000,00 lei 131 31
162 Credite bancari Yes 0,00 lei
300 Materii prime Ves 0,00 lei
301 Materiale cons Ves 0,00 lei
321 Obiecte de inve Yes 0,00 lei
322 Uzura obiectelc 23 2.100.000,00 lei No 2.100.000,00 lei 322 22
345 Produse finite 20 24.500.000,00 lei No 24.500.000,00 lei 8 345 45
345 Produse finite 35 50.000.000,00 lei No 50.000.000,00 lei 8 345 45
371 Mărfuri 13 6.500.000,00 lei No 6.500.000,00 lei 7 371 71
• Funcţia Date() returnează data sistemului.
• Se pot face operaţiuni cu intervale de timp, măsurate în zile, unde lungimea unui interval
este reprezentată prin numărul de zile din cadrul acestuia.
• Formula
Zile: Date()-[DataOp]
calculează numărul de zile scurse de la data fiecărei operaţii.
N u m ă r o p e r -- D ata O p e ra t ▼ Zile
0 2 .0 7 .2 0 1 1 3438
3 02.07.2011 3438
4 03.07.2011 3437
5 03.07.2011 3437
6 04.07.2011 3436
7 05.07.2011 3435
8 06.07.2011 3434
9 07.07.2011 3433
10 08.07.2011 3432
11 09.07.2011 3431
12 10.07.2011 3430
13 11.07.2011 3429
14 12.07.2011 3428
15 13.07.2011 3427
Cereri de interogare
• Formula
Data_viitoare:DataOp+30
calculează data zilei din calendar, peste 30 de zile calendaristice.
• Formula
D ataistoric: Data0p-30
calculează data în urmă cu 30 de zile calendaristice.
^ Q u e ry 3
Field:
Table: CREDIT
Total: Sum
Sort:
Show: 0
Criteria:
or:
Cereri de interogare
Permite determinarea rulajului creditor pentru toate conturile.
ţ SimbolC
ţl NrOp
SumaC
Ï S im bo lC — - -J_ ™ S im bo l
Ï N rO p D e n u m ire
S u m aC
G rupa
Tip
Clasa
E! 1 18.750.000,00 lei
3 75.000.000,00 lei
5 5.000.000,00 lei
24 7.500.000,00 lei
27 5.000.000,00 lei
29 18.000.000,00 lei
38 23.810.125,00 lei
2 9 5.600.000,00 lei
3 13 6.500.000,00 lei
3 20 24.500.000,00 lei
3 23 2.100.000,00 lei
3 35 50.000.000,00 lei
4 3 9.375.000,00 lei
4 6 3.000.000,00 lei
4 10 22.750.000,00 lei
4 11 15.000.000,00 lei
4 13 1.980.000,00 lei
4 18 10.980.000,00 lei
4 19 1.000.000,00 lei
Cereri de interogare
Practic, în ultima interogare, valorile sunt detaliate pe fiecare clasă şi operaţie.
Operaţiunea de detaliere (care oferă mai multe rezultate) se mai numeşte şi drilldown.
Restrângerea (care oferă mai puţine rezultate - gruparea numai după clasă) se mai
numeşte şi rollup.
Atributele care intervin în grupare pot fi preluate din surse diferite.
Ciasa ▼ RulajC t
1 153.060.125,00 lei
2 5.600.000,00 lei
3f 83.100.000,00 lei
4 259.141.975,00 lei
5[ 105.050.000,00 lei
6 20.847.750,00 lei
7 164.000.000,00 lei
Cereri de interogare
5.4. Criterii de selecţie. Parametri.
• Criteria (în grila de proiectare): criterii de selecţie (o expresie logică prin care se
verifică fiecare valoare a atributului la care se aplică, rezultatul expresiei are semnificaţie
de adevărat/fals). În rezultatul interogării sunt incluse (prin filtrare) numai înregistrările
care conţin date pentru care criteriul de selecţie este adevărat.
• Un criteriu de selecţie este format din trei elemente. Se pot aplica mai multe criterii de
selecţie într-o interogare, dar fiecare criteriu va fi construit din cele trei componente:
• Un atribut la valorile căruia se aplică;
• Un tip de criteriu (suntpatru tipuri);
• Un set de valori de referinţă, corespunzător tipului de criteriu aplicat.
• Valorile de referinţă, implicit, sunt case insensitive (nu se face diferenţa între litere
mari/mici).
• Valorile de referinţă sunt încadrate între ghilimele (textele), respectiv caractere # (datele
calendaristice). Aceste caractere speciale nu trebuie tastate de utilizator decât atunci când
pot să apară confuzii.
Cereri de interogare
1. Criterii bazate pe operatorii de comparaţie aritmetici (=, <>, <, >, <=, >=)
• Sintaxa criteriului:
Operator valoaredereferinţă
Operatorul = este implicit, prin urmare introducerea doar a unei valori de referinţă va
conduce la aplicarea automată a operatorului de egalitate.
Exemplu: să se afişeze numai înregistrările în care valoarea denominată este mai mare de
500 RON. Expresia criteriului este înscrisă în dreptul atributului de criteriu Pretfact şi se
aplică la valorile acestuia. De asemenea, s-a definit sortare doar pentru atributul de
criteriu.
CONTURI CREDIT
ţ Simbol 1 oo
ţ SimbolC
Denumire ţ NrOp
Grupa SutnaC
Tip
Clasa
Field: Simbol Grupa Denumire DenominareC: [SumaC]/ Contul: "Contul" & " " & Evaluare_1: llf([Denomin Evaluare_2: llf([Denomir
Table: CONTURI CONTURI CONTURI
Sort: 1 Ascending
Show: 0 0 0 0 0 0 0
Criteria: >500
or:
Rezultatul interogării (cea mai mică valoare a atributului criteriu este prezentată în prima
înregistrare):
Simbol » Grupa ▼ Denumire cont ▼ Denominare ▼ Contul ▼ Evaluare l ▼ Evaluare_2 ▼
112 Fond de partcipare la profit 510,22 leí Contul 112 Valoare OK Valoare medie
106 106 Rezerve 510,22 lei Contul 106 Valoare OK Valoare medie
444 444 Impozit pe salariu 600,00 lei Contul 444 Valoare OK Valoare medie
371 371 Mărfuri 650,00 lei Contul 371 Valoare OK Valoare medie
1012 101 Capital subscris varsat 750,00 lei Contul 1012 Valoare OK Valoare medie
4311 431 Contributia unitatii la asigurari sociale 750,00 lei Contul 4311 Valoare OK Valoare medie
4426 442 TVA Deductibil 781,00 lei Contul 4426 Valoare OK Valoare medie
707 707 Venituri din vanzarea mărfurilor 900,00 lei Contul 707 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 937,50 lei Contul 456 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 937,50 lei Contul 456 Valoare OK Valoare medie
5311 531 Casa 1.000,00 lei Contul 5311 Valoare OK Valoare OK
425 425 Avansuri acordate personalului 1.000,00 lei Contul 425 Valoare OK Valoare OK
5121 512 Conturi la banei in lei 1.000,00 lei Contul 5121 Valoare OK Valoare OK
107 107 Rezultatul raportat 1.020,42 lei Contul 107 Valoare OK Valoare OK
457 457 Dividende de plata 1.020,42 lei Contul 457 Valoare OK Valoare OK
411 411 Clienţi 1.098,00 lei Contul 411 Valoare OK Valoare OK
5311 531 Casa 1.500,00 lei Contul 5311 Valoare OK Valoare OK
411 411 Clienţi 1.500,00 lei Contul 411 Valoare OK Valoare OK
1011 101 Capital subscris nevarsat 1.500,00 lei Contul 1011 Valoare OK Valoare OK
5121 512 Conturi la banei in lei 1.500,00 lei Contul 5121 Valoare OK Valoare OK
4427 442 TVA Colectat 1.540,00 lei Contul 4427 Valoare OK Valoare OK
• Utilizarea operatorului implicit, cu aceeaşi valoare de referinţă, conduce la următorul
rezultat:
Simbol ▼ Grupa ▼ Denumire cont ▼ Denominare Contul ▼ E v a l u a r e l ▼ Evaluare_2 ▼
îB l 131 Subvenţii pentru investitii 500,00 lei Contul 131 Valoare OK Valoare medie
1012 101 Capital subscris varsat 500,00 lei Contul 1012 Valoare OK Valoare medie
• Operatorul Between şi operatorul (auxiliar în acest caz) And sunt cuvinte cheie. Ele
trebuie înscrise exact aşa cum sunt definite.
• Este obligatorie păstrarea spaţiilor care delimitează operatorii de parametrii definiţi de
utilizator (în acest caz, v a lo a r e d e r e fe r in ţă l şi valoare_de_referinţă_2)
• Utilizarea unui operator de tip Between asigură validarea tuturor valorilor din intervalul
închis delimitat de v a lo a r e d e r e fe r in ţă l şi valoare_de_referinţă_2. Altfel spus, sunt
validate datele care se situează între v a lo a r e d e r e fe r in ţă l şi valoare_de_referinţă_2,
inclusiv.
• Pentru criteriul:
Field Sim bol G rupa D e n u m ire D eno m in areC : [Sum aC ]/ Contul: "C ontul” & " " & Evaluare_1: llf([D e n o m ir Evaluare_2: llf([D e n o m ir
Table CONTURI CONTURI CONTURI
Sort Ascending
Show
0 0 0 0 0 0
Criteria Between 3 0 0 A nd 5 0 0 1 0
or
Cereri de interogare
Simbol ▼ Grupa ▼ Denumire cont ▼ Denominare ▼ Contul ▼ Evaluare l ▼ Evaluare_2 ▼
118 Alte fonduri 340,15 lei Contul 118 Valoare redusa Valoare redusa
131 131 Subvenţii pentru investitii 500,00 lei Contul 131 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 300,00 lei Contul 456 Valoare redusa Valoare redusa
1012 101 Capital subscris varsat 500,00 lei Contul 1012 Valoare OK Valoare medie
1041 104 Prime de emisiune sau de aport 375,00 lei Contul 1041 Valoare redusa Valoare redusa
2813 281 Amortizare maşini, utilaje instalatii 400,00 lei Contul 2813 Valoare redusa Valoare redusa
5121 512 Conturi la banei in lei 300,00 lei Contul 5121 Valoare redusa Valoare redusa
Se observă că valoarea minimă şi cea maximă se încadrează în intervalul definit prin criteriu.
Pentru criteriul:
Field: Simbol Grupa denum ire Denom inareC: [sumac]/10000 Contul: 'C o ntu l ' Si [s
Table: CONTURI CONTURI CONTURI
Sort:
Show: 0 0 0 0 0
Criteria: Between 1000 And 1500 I
or:
411 4 1 1 C lie n ţi 1 .0 9 8 ,0 0 le i C o n tu l 4 1 1
5121 5 1 2 C o n tu ri la b an t 1 .0 0 0 ,0 0 le i C o n tu l 5 1 2 1
5311 5 3 1 Casa 1 .0 0 0 ,0 0 le i C o n tu l 5 3 1 1
425 4 2 5 A v a n s u ri acorc 1 .0 0 0 ,0 0 le i C o n tu l 4 2 5
457 4 5 7 D iv id e n d e d e f 1 .0 2 0 ,4 2 le i C o n tu l 4 5 7
10 7 1 0 7 R e z u lta tu l rap t 1 .0 2 0 ,4 2 le i C o n tu l 1 0 7
Cereri de interogare
3. Criterii bazate pe operatorul In.
• Sintaxa criteriului:
In(valoarede_referinţă_1;valoare_de_referinţă_2; ... v a lo a re d e re fe rin ţă n )
Operatorul In şi parantezele rotunde sunt elemente cheie. Ele trebuie înscrise exact aşa
cum sunt definite.
Utilizarea unui criteriu de tip In asigură validarea tuturor valorilor atributului criteriu
care se regăsesc în mulţimea de valori de referinţă specificată. La aplicarea unui astfel de
criteriu, se realizează intersecţia între mulţimea valorilor atributului şi mulţimea valorilor
” 5 5 9 5
Rezultatul este:
Simbol - Grupa - Denumire a - Denominare - Contul -
îTîTB 101 Capital subscri 500,00 lei Contul 1012
456 456 Decontări cu a: 300,00 lei Contul 456
5121 512 Conturi la bani 300,00 lei Contul 5121
131 131 Subvenţii peni 500,00 lei Contul 131
Cereri de interogare
4. Criterii bazate pe operatorul Like.
• Sintaxa criteriului:
Like [wo]valoare_de_referinţă[wo]
Operatorul Like este cuvânt cheie şi se va înscrie ca atare.
Notaţia [wo] se referă la operatorii de tip wildcard care pot însoţi valoarea de referinţă.
Parantezele drepte din notaţie subliniază caracterul opţional al operatorilor.
Un operator wildcard ţine locul oricărui sau oricăror caractere şi are semnificaţia de orice
JT 5 5 5
Criteriul
Field: Simbol Grupa denumire Denom inareC: [sumac]/10000 Contul: 'C on tu l ' St [s
Table: CONTURI CONTURI CONTURI
Sort: A scending 1 v
Show: 0 0 0 0 0
Criteria: Like '; M ] K'
or:
Cereri de interogare
Conduce la următorul rezultat
Simbol ■■■ Grupa ■■■ Denumire cont Denominare » Contul ■■■ Evaluare_l -■ Evaluare_2
IB5 106 Rezerve 1.800,00 lei Contul 106 Valoare OK Valoare OK
106 106 Rezerve 510,22 lei Contul 106 Valoare OK Valoare medie
107 107 Rezultatul raportat 1.020,42 lei Contul 107 Valoare OK Valoare OK
112 112 Fond de partcipare la profit 510,22 lei Contul 112 Valoare OK Valoare medie
118 118 Alte fonduri 340,15 lei Contul 118 Valoare redusa Valoare redusa
131 131 Subvenţii pentru investitii 500,00 lei Contul 131 Valoare OK Valoare medie
322 322 Uzura obiectelor de inventar 210,00 lei Contul 322 Valoare redusa Valoare redusa
345 345 Produse finite 5.000,00 lei Contul 345 Valoare OK Valoare OK
345 345 Produse finite 2.450,00 lei Contul 345 Valoare OK Valoare OK
371 371 M ărfuri 650,00 lei Contul 371 Valoare OK Valoare medie
401 401 Furnizori 2.275,00 lei Contul 401 Valoare OK Valoare OK
404 404 Furnizori de imobilizări 2.074,00 lei Contul 404 Valoare OK Valoare OK
411 411 Clienţi 3.660,00 lei Contul 411 Valoare OK Valoare OK
411 411 Clienţi 1.500,00 lei Contul 411 Valoare OK Valoare OK
411 411 Clienţi 1.098,00 lei Contul 411 Valoare OK Valoare OK
421 421 Personal rem uneraţii datorate 3.000,00 lei Contul 421 Valoare OK Valoare OK
425 425 Avansuri acordate personalului 1.000,00 lei Contul 425 Valoare OK Valoare OK
426 426 Drepturi de personal neridicate 100,00 lei Contul 426 Valoare redusa Valoare redusa
427 427 Reţineri din rem uneratiai datorate te rtilo r 5,00 lei Contul 427 Valoare redusa Valoare redusa
441 441 Impozit pe pro fit 2.084,78 lei Contul 441 Valoare OK Valoare OK
444 444 Impozit pe salariu 600,00 lei Contul 444 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 937,50 lei Contul 456 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 937,50 lei Contul 456 Valoare OK Valoare medie
456 456 Decontări cu asociaţii privind capitalul 300,00 lei Contul 456 Valoare redusa Valoare redusa
457 457 Dividende de plata 1.020,42 lei Contul 457 Valoare OK Valoare OK
461 461 Debitori diverşi 100,00 lei Contul 461 Valoare redusa Valoare redusa
1011 101 Capital subscris nevarsat 1.500,00 lei Contul 1011 Valoare OK Valoare OK
1012 101 Capital subscris varsat 500,00 lei Contul 1012 Valoare OK Valoare medie
Sunt validate conturi al căror simbol începe cu cifrele de la 1 la 4 inclusiv - conturi din
clasele 1-4
De remarcat că valoarea de referinţă în acest caz include ea însăşi un operator wildcard.
Simbolul [] este specific şi criteriului cu parametru, care va fi prezentat în continuare.
Cereri de interogare
Parametrizare
Pentru orice tip de criteriu de selecţie, valorile de referinţă pot fi definite sub formă de
parametru.
Parametrul implică înlocuirea valorilor efective cu un mesaj definit de utilizator, scris
între paranteze drepte, care solicită, la vizualizarea rezultatelor interogării, introducerea
valorilor de referinţă efective. 5
• Alternativ: sunt validate înregistrările care conţin datele care respectă cel puţin un
criteriu de selecţie;
5 y
• Concomitent: sunt validate înregistrările care conţin datele care respectă toate criteriile
de selecţie.
5
conduc la validarea datelor care respectă cel puţin una dintre expresii:
Simbol - Grupa - Clasa - Denumire cont - Denominan - Contul -
fBE 106 1 Rezerve 510,22 lei Contul 106
106 106 1 Rezerve 1.800,00 lei Contul 106
107 107 1 Rezultatul raportat 1.020,42 lei Contul 107
112 112 1 Fond de partcipare la profit 510,22 lei Contul 112
11S 11S 1 Alte fonduri 340,15 lei Contul 11S
131 131 1 Subvenţii pentru investitii 500,00 lei Contul 131
322 322 3 Uzura obiectelor de inventar 210,00 lei Contul 322
345 345 3 Produse finite 2.450,00 lei Contul 345
345 345 3 Produse finite 5.000,00 lei Contul 345
371 371 3 Mărfuri 650,00 lei Contul 371
401 401 4 Furnizori 2.275,00 lei Contul 401
404 404 4 Furnizori de imobilizări 2.074,00 lei Contul 404
411 411 4 Clienţi 3.660,00 lei Contul 411
Cereri de interogare
• Vom analiza în continuare aplicarea de criterii pentru atribute diferite.
Criterii concomitente
Fiecare criteriu se înscrie într-o căsuţă de criteriu pe coloana atributului său, dar se are în
vedere ca toate criteriile să fie amplasate pe aceeaşi linie.
Criteriile
Field: Simbol Grupa Clasa denumire DenominareC: [sumac]/10000 Contul: 'Contul ' Bl [s
Table: CONTURI CONTURI CONTURI CONTURI
Sort: A scending
Show: 0 0 0 0 0
Criteria: 4427 Between 100 And 5'QQ I 0
or:
conduc la validarea tuturor înregistrărilor pentru contul 4427 sau în care valoarea
denominată aparţine intervalului [100,500].
Simbol * Grupa - Clasa • Denumire cont * Denominar« - Contul -
ITC 11S 1 Alte fonduri 340,15 lei Contul 118
131 131 1 Subvenţii pentru investitii 500,00 lei Contul 131
322 322 3 Uzura obiectelor de inventar 210,00 lei Contul 322
425 426 4 Drepturi de personal neridicate 100,00 lei Contul 426
456 456 4 Decontări cu asociaţii privind capitali 300,00 lei Contul 456
461 461 4 Debitori diverşi 100,00 lei Contul 461
502 502 5 Acţiuni proprii 230,00 lei Contul 502
711 711 7 Venituri din producţia stocata 250,00 lei Contul 711
765 766 7 Venituri din dobânzi 250,00 lei Contul 766
1012 101 1 Capital subscris varsat 500,00 lei Contul 1012
1041 104 1 Prime de emisiune sau de aport 375,00 lei Contul 1041
2813 231 2 Amortizare maşini, utilaje instalatii 400,00 lei Contul 2813
2815 231 2 Amortizare mijloace de transport 100,00 lei Contul 2815
4371 437 4 Contributia unitatii la fonduri de sorr 150,00 lei Contul 4371
4427 442 4 TVA Colectat 66,00 lei Contul 4427
4427 442 4 TVA Colectat 1.540,00 lei Contul 4427
4427 442 4 TVA Colectat 198,00 lei Contul 4427
5121 512 5 Conturi la banei in lei 125,00 lei Contul 5121
5121 512 5 Conturi la banei in lei 300,00 lei Contul 5121
Cereri de interogare
5.5. Interogări de acţiune.
Sunt patru tipuri de interogări de acţiune, fiecare dintre acestea
execută o acţiune predefinită asupra atributelor şi înregistrărilor.
Interogarea de tip creare tabel (Make Table Query) transformă
rezultatul unei interogări de selecţie într-un tabel.
Un beneficiu al acestei interogări este salvarea rezultatului
interogării de selecţie, la momentul executării acţiunii de creare
tabel, sub formă de tabel.
Rezultatul interogării de selecţie depinde de obiectele, atributele şi
valorile sursă şi se actualizează conform cu modificările acestora.
5
SQL SQ L View
TO Data sh eet Vi ew
S Show Table...
Parameters...
ix Delete Query
Cereri de interogare
• Se afişează fereastra Make Table
În caseta Table Name se înscrie numele noului tabel (am propus Tabel nou). Tabelul va fi
salvat fie în baza de date curentă (opţiunea Current Database), sau în altă bază de date,
ale cărei cale şi nume pot fi definite prin butonul Browse.
Crearea tabelului presupune executarea interogării: butonul Run.
Cereri de interogare
Observaţii.
Pentru toate interogările de acţiune, vizualizarea rezultatelor permite consultarea
înregistrărilor care vor f i prelucrate prin acţiunea specifică interogării. Prelucrarea
efectivă se face prin butonul Run.
Dacă opţiunea File-Options-Client Settings-Confirm-Action queries este activă,
acţionarea butonului Run conduce la afişarea unui mesaj de confirmare: You are about
to...
Afişarea acestui mesaj reprezintă confirmarea faptului că interogarea este configurată
corect din punct de vedere „tehnic”.
Orice erori ulterioare se datorează conţinutului (obiecte, atribute, valori) din baza de date
(ex. nerespectarea restricţiilor de integritate, încercarea neautorizată de a suprascrie un
tabel etc.)
• Rezultatul rulării interogării de tip creare tabel este definirea unui nou tabel, care
salvează imaginea înregistrărilor care formează rezultatul interogării de selecţie pe
baza căreia s-a definit interogarea Make Table
Cereri de interogare
Interogarea de tip adăugare (Append Query)
Permite adăugarea înregistrărilor din rezultatul unei interogări într-un tabel destinaţie.
Pentru configurarea unei astfel de interogări, este necesar ca datele sursă şi destinaţie să
respecte restricţiile de integritate:
• Să fie de acelaşi tip, dimensiune, sau caracteristicile să fie compatibile;
• Datele sursă să respecte regulile de validare pentru atributele destinaţie;
• Să nu se încalce regula de unicitate a cheii primare sau restricţia de integritate
referenţială pentru cheile externe.
Crearea unei astfel de interogări presupune:
Crearea unei interogări de selecţie care să conţină ca rezultat înregistrările care trebuie
adăugate;
Transformarea interogării în interogare de tip adăugare: butonul Append de pe bara de
instrumente sau comanda Append Query din meniul contextual al zonei pentru surse de
date în fereastra QBE, submeniul Query Type.
Cereri de interogare
• Se afişează caseta de dialog Append:
In grila de proiectare apare linia Update To, în care se va defini noua valoare.
Interogarea de mai jos permite actualizarea, în tabelul Tabel nou, a valorii denominate,
prin transformarea unităţii de măsură în mii lei (valorile iniţiale se împart la 1000):
1 ,5 4
0 ,1 9 3
Interogarea de mai sus asigură ştergerea tuturor înregistrărilor din Tabel nou
pentru contul cu simbolul 4427;
Ştergerea efectivă a înregistrărilor presupune rularea interogării (butonul Run).
Cereri de interogare
5.5. Interogări de acţiune.
• Permite analiza corelaţiei între valorile mai multor atribute, reflectată prin valori
agregate ale unui alt atribut specificat.
• Definirea interogării porneşte de la structura acesteia:
B
A C
S im bo lC - D e n u m ire con t 7 - 8 -
^ -V R ezerve 1 8 .0 0 0 .0 0 0 ,0 0 le i 5 .1 0 2 .2 1 2 ,5 0 lei
107 R e zu lta tu l ra p o rta t 1 0 .2 0 4 .2 2 5 ,0 0 lei
112 Fond d e p a rtc ip a re la p ro fit 5 .1 0 2 .2 1 2 ,5 0 lei
118 A lte fo n d u ri 3 .4 0 1 .4 7 5 ,0 0 lei
131 S u b v e n ţii p e n tru in v e s titii 5 .0 0 0 .0 0 0 ,0 0 le i
322 Uzura o b ie c te lo r d e in v e n ta r 2 .1 0 0 .0 0 0 ,0 0 le i
345 P rod use fin it e 2 4 .5 0 0 .0 0 0 ,0 0 le i 5 0 .0 0 0 .0 0 0 ,0 0 lei
371 M ă rfu ri 6 .5 0 0 .0 0 0 ,0 0 le i
4 01 F urnizori 2 2 .7 5 0 .0 0 0 ,0 0 le i
4 04 F urnizori d e im o b iliz ă ri 2 0 .7 4 0 .0 0 0 ,0 0 le i
4 1 1 C lie n ţi 2 0 .8 6 0 .0 0 0 ,0 0 le i
4 21 Person al re m u n e ra ţii d a to ra te 3 0 .0 0 0 .0 0 0 ,0 0 le i
4 25 A vansu ri a c o rd a te p e rs o n a lu lu i 1 0 .0 0 0 .0 0 0 ,0 0 le i
4 2 6 D re p tu ri d e p ers o n a l n e rid ic a te 1 .0 0 0 .0 0 0 ,0 0 le i
4 2 7 R e ţin e ri d in re m u n e ra tia i d a to ra te t e r t ilo r 5 0 .0 0 0 ,0 0 le i
4 41 Im p o z it p e p ro fit 2 0 .8 4 7 .7 5 0 ,0 0 lei
• Balanţa de verificare cu patru serii de egalităţi include:
• Soldurile iniţiale;
? ?
• Rulajele;
• Total sume;
• Solduri finale.
• Egalitatea se verifică între valorile celor patru indicatori, calculate pentru debit şi
respectiv credit.
• Pentru aplicaţia de faţă, vom porni de la o balanţă de deschidere cu solduri iniţiale 0.
/V
• În acest sens, vom defini o interogare de tip creare tabel care va construi un tabel,
Solduriinitiale, care va retine simbolul contului, luna pentru care se defineşte (prima
lună pentru care există înregistrări şi operaţiuni), soldul iniţial debitor şi soldul iniţial
creditor (aceste două atribute au valoarea 0).
CONTURI
*
? Simbol
Denumire
Grupa
Tip.
Clasa
or:
• La trecerea către un nou an (N+1), se poate alege una dintre soluţiile:
• Păstrarea bazei de date pentru anul curent (N) şi generarea unei baze de date separate, complet
funcţionale, fără alte date decât soldurile iniţiale ale conturilor pentru ianuarie N+1;
• Utilizarea, în continuare, a aceleiaşi baze de date, cu implementarea unor mecanisme specifice de
protecţie pentru datele din anul N.
• Recomandăm, din motive de fiabilitate, confidenţialitate şi securitate a datelor, prima
variantă.
_ /V
• Configuraţia tabelului SOLDURI INITIALE implică, totuşi, o problemă. In pofida
restricţiei de integritate între el însuşi (ca tabel secundar) şi tabelul CONTURI, pot să
apară, pe parcursul unei luni, conturi noi, care să fie înregistrate în tabelul CONTURI,
dar al căror sold iniţial să nu existe (să fie nul).
• Din această cauză, datele privind soldurile iniţiale nu se vor prelua din acest tabel, ci
dintr-o interogare, care preia soldurile valabile, iar pentru cele care sunt nule, le
înlocuieşte cu valori „0”.
• Configuraţia acestei interogări este prezentată în slide-ul următor.
Balanţa de verificare cu patru se: egalităţi
* .A. *•
1
? NrOp SimbolD
\o o
D ataO p NrOp
Descriere SumaD
NrDoc —
D ataD oc s
lEH
Field:
Table:
Simbolc
CREDIT CREDIT
i Month([dataop])
RD
RC
Simbol SIDEB SICRD RD RC TSD: [SIDEB] —[RD] TSC: [SICRD]*[RC] u d .a iiM H .iH iB g r r a iîr a iE . SFC: llf([TSC] » [TSD];[TSQ-|TSD];0)
CONTURI solduri initiale solduri initiale qRULAJE qRULAJE
0 0 0 0 0 0 0 0 0
Rapoarte
Rapoartele sunt instrumente Microsoft® Access™ care permit prezentarea rezultatelor
prelucrării datelor într-un format grafic profesional.
Un raport se bazează pe o sursă de date, care poate fi un tabel sau o cerere de
interogare.
Crearea rapoartelor se poate realiza în mai multe moduri:
• Automat: Report Wizard;
• Manual: Report Design sau Blank Report.
Vom utiliza acelaşi scenariu ca la formulare:
• Crearea raportului iniţial cu Report Wizard;
• Configurări ulterioare în modul manual Report Design.
Click pe:
• Meniul Create;
• Secţiunea Reports;
• Butonul Report Wizard.
Of b @ dm W n Form W izard
\\LL Report W izard
M o d u le
a
I N avigation T Class M o d u le
Application Table Table SharePoint Q uery Query Form Form Blank Report Report Blank M acro
1^1 Labels
Parts T Design Lists'" W izard Design Design Form l[ M o re F o rm s ' Design Report J Visual Basic
S u m m a ry O ption s
SFD 0 □ □ □
SFC 0 □ □ □
• Opţiunea Detail and Summary afişează şi valorile agregate, şi valorile iniţiale ale
atributelor.
Fereastra următoare permite definirea structurii şi orientării raportului.
Opţiunea Stepped este recomandată pentru rapoarte în care se utilizează funcţii de
grupare,
Clasa Grupa Simbol Denumire cont SIDEB SICRD RD RC TSD TSC SFD
101
1011 Capital subscris nevarsat 0 0 r00 lei ,00 lei ,00 lei ,00 lei lei
1012 Capital subscris varsat 0 0 ,00 lei ,00 lei ,00 lei ,00 lei lei
Balanţa de verificare
Clasa Grupa Simbol Denumire cont SIDEB SICRD RD RC TSD TSC SFD SFD
101
1011 Capital subscris nevarsat C 82 500.000,00 lei 15.000.000.00 lei 82.500.000,00 lei 15.000.000.00 lei 67.500.000,00 lei 0,00 lei
1012 Capital subscris varsat G 5.000.000,00 lei 87.500.000.00 lei 5.000.000,00 lei 87.500.000.00 lei 0,00 lei 82.500.000,00 lei
0,00 lei 87.500.000,00 lei 102.500.000,00 lei 87.500.000,00 lei 102.500.000,00 lei 67.500.000,00 lei 82.500.000,00 lei
104
1041 Prim e d e em isiune sau de aport 0,00 lei 3.750.000,00 lei 0,00 lei 3.750.000,00 lei 0,00 lei 3.750.000,00 lei
0,00 lei 0,00 lei 0,00 lei 3 750.000,00 lei 0,00 lei 3.750.000,00 lei 0,00 lei 3.750.000,00 lei
106
106 Rezerve C 2.500.000,00 lei 18.000.000,00 lei 2.500.000,00 lei 18.000.000,00 lei 0,00 lei 15.500.000,00 lei
0,00 lei 2.500.000,00 lei 18.000.000,00 lei 2.500.000,00 lei 18.000.000,00 lei 0,00 lei 15.500.000,00 lei
107
107 Rezultatul raportat 0 c 1.500.000,00 lei 0,00 lei 1.500.000,00 lei 0,00 lei 1.500.000,00 lei 0,00 lei
112
112 Fond d e p artcipare la profit 0 c 0,00 lei 0,00 lei 0,00 lei 0,00 lei 0,00 lei 0,00 lei
11S
11S Alte fonduri 0 c 0,00 lei 0,00 lei 0,00 lei 0,00 lei 0,00 lei 0,00 lei