1 Interogarea bazelor de date...............................................................................................2 1.1 Selectarea coloanelor unei tabele...............................................................................2 1.2 Selectare liniilor unei tabele ce satisfac anumite criterii...........................................8 1.3 Crearea unui formular de interogare n modul Design View.....................................9 1. !eniurile unei interog"ri.........................................................................................1 1. .1 !eniurile unei interog"ri in modul Design View.............................................1# 1. .2 !eniurile unei interog"ri n modul Datas$eet View.........................................1% 1.# Sortarea &i filtrarea liniilor tabelei rezultat..............................................................1' 1.% Condi(ii com)use.....................................................................................................18 1.' Crearea de interog"ri cu )arametri...........................................................................23 1.8 *euniunea tabelelor.................................................................................................2% 1.9 +tilizarea func(iilor de agregare S,- n interog"ri.................................................2' 1.1. *e)rezentarea datelor agregate ............................................................................33 1.11 /ormatarea tabelei rezultat.................................................................................... 3 1.12 0robleme )ro)use.................................................................................................. 1.13 Intreb"ri de control................................................................................................ %
In intre)rindere e;ist" trei de)artamente5 Informatica5 Su))ort5 Documentare. Dumele lor se 6a introduce cu o caset" combinat" 2Combo Go;4. Vom e;em)lifica crearea unui formular cores)unz"tor unei instruc(iuni S7-7C8 )entru selectarea cBm)urilor ID>9DE5 D+!7>9DE9F985 D08>9DE &i S9->1*9. /ormularul cores)unz"tor instruc(iuni S7-7C8 de mai sus se creaz" astfel< 1. se afi&az" fereastra Database din /igura 35 n care se selecteaz" n )artea stBng" o)(iunea &ueries5 2. clic )e o)(iunea Create 'uer( b( using wizard din )artea drea)t" &i se afi&az" caseta a)lica(iei Sim)le ,uer3Hizard din /igura A se )oate selecta aceea&i o)(iune dintr=o caset" afi&at" cu clic )e meniul Insert &uer(5 sau cu clic )e butonul "ew al barei de instrumente a ferestrei Database5
3. la )asul I se selecteaz" coloanele ce 6or a)"rea n interogare. Caseta cu list" Tables 1 &ueries con(ine toate tabelele bazei de dateA se selecteaz" tabela dorit" din lista Tables 1 &ueries &i n lista !.ailable Field se afi&az" coloanele tabelei5 ca n /igura
#. Se mut" n lista -elected Fields coloanele ce 6or a)"rea n formularA mutarea se face cu butoanele &i . Gutonul mut" cBm)ul selectat5 butonul transfer" cBm)urile n sens in6ers. mut" toate cBm)urile. Gutoane &i *ezultatul )asului I este ar"tat n /igura #5
#. la )asul II se alege ti)ul interog"rii Detail 5shows e.er( /ield o/ e.er( record6A cu aceast" o)(iune se afi&az" fiecare cBm) din fiecare linie a tabeleiA clic )e butonul "e3t ce afi&az" caseta din /igura '5
%. la )asul III se alege titlul interog"riiA se )oate trece la e;ecu(ia cererii )rin selectarea o)(iunii O*en the 'uer( to .iew in/or8ation 5 sau se )oate modifica )roiectarea ei )rin selectarea o)(iunii 9odi/( the 'uer( design. 0entru e;ecu(ia interog"rii clic )e butonul Finish &i se afi&az" tabela rezultat din /igura 8.
9)lica(ia 9ccess genereaz" o instruc(iune S7-7C8 )e baza formularului )roiectat. 9ceast" instruc(iune se )oate afi&a cu clic )e o)(iunea -&; View a unuia din meniurile conte;tuale ale formularului sau a meniului View din 8abelul 1 &i 8abelul 3. Instruc(iunea S,- )entru interogarea )roiectat" este ar"tat" n /igura 9. '
Vom e;em)lifica crearea unui formular cores)unzBnd instruc(iunii S7-7C8 ID>9DE5 D+!7>9DE9F985 D08>9DE5 S9->1*9 /*1! 0*1I7C8>9DE9F98 HI7*7 D+!7>D709*89!7D8 N OInformaticaPA Crearea formularului cores)unz"tor acestei instruc(iuni S7-7C8 se face n urm"torii )a&i< 1. se afi&az" fereastra DatabaseA n )artea stBng"5 se selecteaz" o)(iunea &ueriesA n )artea drea)t" se afi&az" o)(iunile e;istente5 Create 'uer( b( using wizard &i Create 'uer( in Design .iew &i interog"rile 2,ueries4 e;istente5 6ezi /igura 1.5
2. clic )e o)(iunea Create 'uer( in Design View care afi&az" caseta S$ow 8able din /igura 11 &i fereastra de )roiectare a unei interog"ri din /igura 12. Cele dou" ferestre se )ot afi&a &i n alte feluri cu clic )e butonul Design din bara de instrumente a casetei Database5 un clic )e butonul "ew al barei de instrumente a casetei Database sau cu clic )e meniul Insert &uer( afi&az" caseta de dialog Dew ,uer3 din /igura 13A un
clic )e o)(iunea Design View afi&az" caseta S$ow 8able din /igura 11 &i fereastra de )roiectare din /igura 125 butonul -how Table5 5 &i comanda &uer( -how Table afi&az" caseta S$ow 8able din /igura 115 cu tabelele bazei de date utilizate n interogare.
1.
3. sec(iunea Tables a casetei S$ow 8ables din /igura 11 afi&az" toate tabelele din baza de dateA se selecteaz" tabela dorit"5 n cazul nostru tabela 0*1I7C8>9DE9F98A clic )e butonul !dd &i a)oi )e butonul CloseA n acest moment tabela se afi&az" n )artea de sus a formularului Select ,uer3 ca n /igura 1 5 sub forma unei casete ti) list" cu coloanele tabelei. 0rimul element din list" este CA el cores)unde select"rii tuturor coloanelor tabelei. In )artea de :os se introduc clauzele cores)unz"toare instruc(iunii S7-7C8< coloanele ce 6or fi selectate n linia Field5 numele tabelei din clauza /*1! n linia 8able5 condi(iile de selectare din clauza HI7*7 n liniile Criteria &i or &i ordonarea liniilor selectate din clauza 1*D7* GJ n linia -ort.
11
1. se com)leteaz" celulele liniei Field cu numele coloanelor tabelei ce trebuie selectate 2clauza S7-7C84A )entru a com)leta o celul" a liniei Field cu numele unei coloane din tabel" 2un atribut45 se )oate )roceda n dou" feluri< clic )e o celul" a liniei Field din /igura 1 2ea 6a fi o coloan" din tabela rezultat45 &i se afi&az" o list" cu coloanele tabelei ca n /igura 1#A clic )e coloana dorit"5 2elementul din list"4A dac" am selectat mai multe tabele5 lista con(ine coloanele tuturor tabelelor selectate5 sub forma nume>tabela.nume>coloanaA )rimul element din lista coloanelor unei tabele are forma nume>tabelaC5 n cazul nostru 0*1I7C8>9DE9F98CA dac" 6rem s" select"m toate coloanele tabelei res)ecti6e5 clic )e acest elementA un alt mod de a com)leta o celul" a liniei Field cu o coloan" a tabelei este de a selecta coloana dorit" din caseta cu numele tabelei afi&at" deasu)ra formularului5 n cazul nostru 0*1I7C8>9DE9F98A se trage coloana selectat" cu butonul stBng al mousului a)"sat deasu)ra unei celule a liniei Field5
2. linia Table din formular se com)leteaz" automat cu numele tabelei5 3. )entru a introduce modul de sortare al liniilor 2clauza 1*D7* GJ45 clic )e celula cores)unz"toare a liniei -ortA se afi&az" lista din /igura 1%5 din care se alege o)(iunea dorit"5
12
. n linia -how se marc$eaz" coloanele ce 6or fi 6izibile5 ca n /igura 1'5 #. n linia Criteria se introduc condi(iile de selectare )entru fiecare coloan" din clauza HI7*7A )entru fiecare coloan" )utem a6ea o condi(ie com)us"5 format" din dou" condi(ii legate )rin o)eratorul orA n acest caz )rima condi(ie se introduce )e linia Criteria5 a doua )e linia orA du)" cum se 6a 6edea mai :os5 condi(iile se )ot introduce direct sau se )ot crea cu a)lica(ia 7;)ression Guilder5 %. se com)leteaz" toate coloanele dorite &i se ob(ine formularul din /igura 1'.
0entru a sal6a formularul creat se utilizeaz" o)(iunile -a.e &i -a.e !s ale meniului File sau clic )e butonul de nc$idere a ferestrei formularului. 0entru a &terge o coloan" din interogare se selecteaz" coloana &i clic )e meniul Edit Delete sau se a)as" tasta Delete. Gutonul Run5 5 al barei de instrumente sau comanda &uer( Run )roduc e;ecu(ia cererii. 0entru e;em)lul de mai sus tabela rezultat este cea din /igura 18.
13
In )artea de :os a tabelei rezultat e;ist" un cursor )entru na6igare )rintre liniile selectate. Instruc(iunea S7-7C8 generat" de 9ccess din formularul )roiectat se )oate afi&a cu clic )e o)(iunea -&; View a unuia din meniurile conte;tuale ale formularului sau a meniului View din 8abelul 1 &i 8abelul 3 sau cu clic )e o)(iunea -&; View din lista View5 6ezi /igura 2..
a4meniul View
Gara de meniuri &i barele de instrumente n 6ederea Design sunt ar"tate n /igura 21.
!eniul &uer( are o)(iuni )entru crearea formularului de )roiectare dorit. Gutonul &uer( T(*e? ? al barei de meniu n 6ederea Design5 afi&az" lista ,uer3 83)e cu aceste o)(iuni5 6ezi /igura 22.
1#
a4 meniul ,uer3 Semnifica(ia acestor o)(iuni este cea din 8abelul 2. 1)(iune
Figura %%. 9eniul &uer( 0i lista &uer( T(*e cu o*+iunile de creare a unui /or8ular de interogare.
7;erci(iu. Se 6a desc$ide )rima interogare5 )roiectat" cu a)lica(ia 6r":itor5 n modul Design &i se 6a com)ara formularul generat de 6r":itor cu cel )roiectat )entru a doua interogare. Se 6or com)ara a)oi cele dou" instruc(iuni S7-7C8 generate de 9ccess n cazul celor dou" interog"ri.
!eniul View &i meniul conte;tual al formularului n 6ederea Datas$eet sunt ar"tate n 8abelul 3. 1)(iunile Design View5 Datasheet View &i -&; View ale acestor meniuri
1%
)ermit trecerea n modul 0roiectare 2Design45 /ormular 2Datas$eet45 res)ecti6 afi&az" instruc(iunea S,- generat" de 9ccess )e baza formularului de )roiectare. 9lte o)(iuni )ermit sortarea datelor tabelei rezultat.
a4 meniul View
0entru a afi&a tabela rezultat se )rocedeaz" n unul din urm"toarele moduri se trece n modul Datas$eet View cu clic )e o)(iunea Datasheet View din unul din meniurile afi&ate n 8abelul 15 6ezi &i /igura 2.5 se trece n 6ederea Design &i clic )e butonul *un5 meniul &uer( Run. al barei de instrumente sau )e
1'
0entru a inde)"rta filtrul creat clic )e butonul al barei de instrumente. 0entru a selecta linii ce nce) cu acela&i caracter5 se selecteaz" acest )rim caracter ntr=o celul" &i se )rocedeaz" ca mai sus. 0entru a selecta liniile ce con(in un &ir de caractere5 se selecteaz" acest sub&ir ntr=o celul" &i se )rocedeaz" ca mai sus. Ca e;em)lu5 )entru a sorta cBm)ul ID>9DE al tabelei rezultat a interog"rii )recedente n ordine descresc"toare se selecteaz" o celul" cu clic &i clic )e butonul cel din /igura 2 . . *ezultatul este
Figura %,. Tabela rezultat a cererii din Figura 17 cu c>8*ul ID !"# sortat @n ordine descrectoare.
18
Instruc(iunea S7-7C8 generat" de 9ccess din formularul creat mai sus este cea din /igura 2%
Clauza HI7*7 a instruc(iunii S7-7C8 con(ine o condi(ie care este o e;)resie boolean".
19
7;)resiile booleene sunt constituite din e;)resii rela(ionale se)arate de o)eratorii booleeni 9DD5 1* &i D18. In cazul cel mai sim)lu5 o e;)resie boolean" este constituit" dintr=o singur" e;)resie rela(ional". 7;)resiile rela(ionale sunt constituite din e;)resii aritmetice se)arate de o)eratorii rela(ionali R5 RN5 S5 SN 5 N &i RS &i o)eratorul Getween C 9nd C care testeaz" dac" o 6aloare este cu)rins" ntr=un inter6al. In unele cazuri a6em ne6oie s" com)ar"m un &ir de caractere cu elementele unei coloane care sunt &iruri de caractere5 ca n interogarea din /igura 2#. Sirurile de caractere sunt scrise ntre g$ilimele. 1 o)era(ie ce se )oate efectua asu)ra &irurilor este concatenarea. 1)eratorul de concatenare este T. 0entru a testa dac" un &ir de caractere cores)unde unui &ablon se utilizeaz" o)eratorul -IU75 6ezi o lucrare anterioar". 7;)resiile aritmetice au ca termeni numere5 atributul numeric res)ecti6 2coloana numeric" din tabel"4 &i o)eratorii aritmetici V5 =5 C &i Q )entru numere reale &i V5 =5 W &i !od )entru numere ntregi. 0riorit"(ile o)eratorilor sunt cele cunoscute. 8ermenii e;)resiilor aritmetice )ot fi gru)a(i n )aranteze rotunde. 7;em)lu. S" test"m dac" atributul S9->1*9 al tabelei 0*1I7C8>9DE9F98 din e;em)lele anterioare este cu)rins ntre 6alorile . &i %.. Condi(ia se )oate scrie n mai multe feluri< SN . 9DD RN %. SN3.V1. 9DD RN %. SN23.V1.4 9DD RN %. G78H77D . 9DD %. D18 R . 9DD D18 S %. In a doua e;)resie am folosit e;)resia 3.V1. n loc de . )entru a sublinia c" n e;)resiile rela(ionale )utem utiliza e;)resii aritmetice oricBt de com)licate. In e;)resia a treia am utilizat )aranteze rotunde. +ltima condi(ie este ar"tat" n /igura 28. 7;)resia boolean" ce re)rezint" condi(ia din clauza HI7*7 se )oate scrie direct n cBm)urile Criteria &i or sau se )oate crea cu a)lica(ia 7;)ression Guilder5 ca ntr=o lucrare anterioar". Im)licit5 n fereastra de )roiectare din /igura 28 e;ist" o singur" linie or. Se )ot ad"uga mai multe linii or cu un clic )e linia or e;istent" &i a)oi clic )e meniul Insert Rows. -iniile or se )ot &terge cu un clic )e linie &i a)oi clic )e meniul Edit Delete Rows.
2.
+neori este dificil de a scrie condi(ia5 deoarece s)a(iul din celul" este )rea mic. Se )oate afi&a o fereastr" n care s" se introduc" e;)resia cu clic )e celul"5 a)oi se a)as" tastele -hi/t D F% &i se afi&az" fereastra din /igura 29.
0entru a lansa a)lica(ia 7;)ression Guilder se )rocedeaz" astfel< 1. se afi&az" meniul conte;tual al coloanei formularului din /igura 3.5 cu un clic cu butonul dre)t )e coloana )entru care 6rem s" cre"m condi(iaA 2. clic )e o)(iunea Auild ce afi&az" caseta 7;)ression Guilder din /igura 315 6ezi &i o lucrare anterioar"5 cu care se creaz" e;)resia dorit".
21
1 alt" )osibilitate de a lansa a)lica(ia 7;)ression Guilder este cu clic )e butonul Auild5 5 al barei de instrumente5 6ezi /igura 21. In )artea din stBnga :os a casetei 7;)ression Guilder sunt afi&ate )e lBng" func(ii5 constante5 o)eratori &i tabelele5 formularele &i alte obiecte din baza de date5 ale c"ror elemente se )ot utiliza n e;)resii.
1)(iunea Table "a8es din meniul din /igura 3. afi&az" sau ascunde linia 8able din formular ce afi&az" numele tabelelor. 22
1. cre"m un formular de interogare cu a)lica(ia Create &uer( b( using Eizard 5 n care select"m cBm)urile ID>9DE5 D+!7>9DE9F985 D08>9DE &i S9->1*95 2. desc$idem fromularul creat n 6ederea &uer( Design5 ca n /igura 325 3. n cBm)ul Criteria al coloanei C1S8>1*9 introducem condi(ia Getween Kcost minim oraM 9nd Kcost ma;im oraM5 ca n /igura 32.
23
0utem controla ordinea n care sunt afi&a(i )arametrii n felul urm"tor< 1. se afi&az" caseta ,uer3 0arameters din /igura 3 cu clic )e meniul &uer( Para8eters5 2. n aceast" caseta se introduce cBte un mesa: )e rBnd5 n ordinea n care dorim s" fie afi&ateA te;tul trebuie s" fie e;act cel din fereastra de )roiectare. In coloana din drea)ta se introduce ti)ul )arametrului5 din caseta de dialog afi&at" cu clic )e celula res)ecti6".
Ca un alt e;em)lu5 6om selecta to(i anga:a(ii din tabela 0*1I7C8>9DE9F98 al c"ror nume con(ine un anumit &ir de caractere. 0rocedura este urm"toarea< 1. cre"m un formular de interogare cu a)lica(ia Create ,uer3 b3 using Hizard5 n care select"m cBm)ul D+!7>9DE9F985 2. desc$idem fromularul creat n 6ederea &uer( Design &i introducem condi(ia ca n /igura 3#. Condi(ia )entru testarea unui &ir de caractere are forma -IU7 e;)resie regulat" Du)" cum s=a ar"tat ntr=o lucrare anterioar"5 n cazul nostru e;)resia regulat" are forma XCsirCY. 9cest &ablon se construie&te ca XCY T sir T XCY5 unde sir este &irul de caractere ce 6a fi introdus ntr=o caset" de dialog. 0entru acesta condi(ia 6a fi scris" -IU7 XCY T K-itere in numeM T XCY 6ezi /igura 3#. *eamintim c" o)eratorul T concateneaz" &iruri de caractere.
-a e;ecu(ie se 6a afi&a o caset" de dialog cu mesa:ul -itere in nume5 n care 6om introduce &irul de caractere dorit. 0resu)unem c" 6rem s" select"m anga:a(ii ale c"ror nume con(in &irul XescY. -a e;ecu(ia interog"rii se afi&az" caseta de dialog din /igura 3%.
2#
2%
9D
V7DI8+*I
CI7-8+I7-I 0*1/I8>G*+8
I!01ZI8
0*1/I8>D78
Vom crea o tabel" ce reune&te liniile celor dou" tabele n felul urm"tor< 1. se afi&az" fereastra DatabaseA n )artea stBng"5 se selecteaz" o)(iunea &ueriesA n )artea drea)t" se afi&az" o)(iunile e;istente5 Create 'uer( b( using wizard &i Create 'uer( in Design .iew &i interog"rile 2,ueries4 e;istente5 2. clic )e o)(iunea Create 'uer( in Design View care afi&az" caseta S$ow 8ableA clic )e butonul Close5 3. clic )e meniul &uer( -&; -*eci/ic5 &i n submeniul afi&at5 clic )e o)(iunea Fnion5 6ezi /igura 385
. se afi&az" caseta de te;t din /igura 395 n care se introduce instruc(iunea +DI1D din /igura 395
2'
Semnifica(ia Valoarea medie Valoarea minim" Valoarea ma;im" Suma 6alorilor din coloan" Dis)ersia 9baterea medie )"tratic"
Cea mai sim)l" interogare a unei baze de date cu utilizarea acestor func(ii este a)licarea lor asu)ra unor coloane dintr=o tabel". 9cest" interogare cores)unde instruc(iunii S7-7C8 urm"toare S7-7C8 func(ie2nume>coloana>145 func(ie2nume>coloana>245 ?5 func(ie2nume>coloana>@4 /*1! nume>tabelaA In acest caz nu s=a )recizat numele coloanelor din tabela rezultat a interog"rii5 &i a)lica(ia atribuie acestor coloane ni&te nume standard. Instruc(iunea S7-7C8 are &i o form" n care )utem atribui coloanelor tabelei rezultat ce nume dorim. 9ceast" form" este S7-7C8 func(ie2nume>coloana>14 9S nume>15 func(ie2nume>coloana>24 9S nume>25 ?5 func(ie2nume>coloana>@4 9S nume>@ /*1! nume>tabelaA Vom e;em)lifica utilizarea acestor func(ii la tabela V9DZ9*I5 )roiectat" n /igura .. 8abela cu date este cea din /igura 1.
28
Vom calcula suma 6Bnz"rilor )e fiecare an. 0rocedura este urm"toarea< 1. se afi&az" fereastra de )roiectare a interog"rii din /igura 25 du)" cum s=a ar"tat mai nainte5
2. se selecteaz" )rima celul" din linia Fields cu un clic5 3. clic )e butonul Auild5 5 al barei de instrumente5 care lanseaz" a)lica(ia 7;)ression Guilder din /igura 3A se selecteaz" n fereastra stBng" o)(iunea Functions AuiltHIn Functions5 n fereastra din mi:loc se selecteaz" -&; !ggregate5 iar n fereastra din drea)ta func(ia -u8A clic )e butonul Paste &i n fereastra su)erioar" a)are e;)resia Sum2Xe;)rY4 )entru care trebuie s" com)let"m argumentul e;)r5
29
#. select"m a)oi tabela V9DZ9*I n fereastra din stBnga cu clic )e o)(iunea Tables V!"G!RIA n acest moment n fereastra din mi:loc a)ar cBm)urile tabeleiA clic )e cBm)ul V9DZ9*I>2..1 &i se genereaz" e;)resia din fereastra su)erioar" din /igura #A numele coloanei este introdus ca Knume>tabelaM.Knume>coloanaM5 adic" KV9DZ9*IM\KV9DZ9*I>2..1M5
3.
%. se re)et" )a&ii de mai sus &i )entru celelalte coloaneA linia /ield este cea din /igura %5
7;)resia din )rima celul" a liniei /ield este cea din /igura '. Dumele coloanei atribuit de a)lica(ia 7;)ression Guilder este 7;)r1.
31
Du)" cum se obser6"5 coloanele tabelei rezultat au numele 7;)r15 ?5 7;)r 5 atribuite de a)lica(ia 7;)ression Guilder. 9cest caz cores)unde )rimei forme a instruc(iunii S7-7C8 )rezentate n acest )aragraf S7-7C8 func(ie2nume>coloana>145 func(ie2nume>coloana>245 ?5 func(ie2nume>coloana>@4 /*1! nume>tabelaA !odific"m 7;)r1 n celula liniei /ield n 9D 2..15 ca n /igura 9 &i la fel numele celorlalte coloane )entru a fi mai semnificati6e. 8abela rezultat este cea din /igura #..
S7-7C8 func(ie2nume>coloana>14 9S nume>15 func(ie2nume>coloana>24 9S nume>25 ?5 func(ie2nume>coloana>@4 9S nume>@ /*1! nume>tabelaA In final5 instruc(iunea S7-7C8 este cea din /igura #1.
Introducerea datelor din cBm)ul C987E1*I7 se 6a face cu o caseta combinat" 2Combo Go;4.
33
Vrem s" afi&"m c$eltuielile sumarizate5 )e categorii &i )e trimestre ca n tabela de mai :os 8*I!7S8*+ I II III IV !ateriale ; ; ; ; 0iese ; ; ; ; +tila:e ; ; ; ;
Categoriile de c$eltuieli 6or fi afi&ate )e coloane5 trimestrele )e linii &i suma c$eltuielilor )e ti)uri de c$eltuieli &i )e trimestre n celulele tabelei. Vom crea aceast" interogare cu a)lica(ie 6r":itor. 1. se afi&az" fereastra DatabaseA n )artea stBng"5 se selecteaz" o)(iunea &ueries? 2. clic )e butonul "ew al barei de instrumente care afi&az" caseta Dew ,uer3 din /igura # A se selecteaz" o)(iunea Crosstab &uer( Eizard5 care lanseaz" a)lica(ia 6r":itor5
3. la )asul I al a)lica(iei 6r":itor se afi&az" tabelele &i interog"rile din baza de date &i se aleg cele din care se 6a crea interogarea dorit"A n cazul nostru select"m tabela CI7-8+I7-I5 6ezi /igura ##A clic )e butonul "e3t5
Figura 22. Pasul I. -e aleg tabelele 0i interogrile din care se .or selecta c>8*urile interogrii.
. la )asul II al se afi&az" cBm)urile dis)onibile &i se aleg ma;im trei ale c"ror 6alori 6or constitui antetele liniilor. In cazul nostru alegem cBm)ul 8*I!7S8*+5 6ezi /igura #%A clic )e butonul "e3t?
3#
Figura 24. Pasul II. -e aleg c>8*urile ale cror .alori .or constitui antetele liniilor.
#. la )asul III se afi&az" cBm)urile dis)onibile &i se aleg cele ale c"ror 6alori 6or constitui antetele coloanelor. In cazul nostru alegem cBm)ul C987E1*I75 6ezi /igura #'A clic )e butonul "e3t5
3%
Figura 27. Pasul III. -e aleg c>8*urile ale cror .alori .or constitui antetele coloanelor.
%. la )asul IV se afi&az" cBm)urile dis)onibile &i se aleg cele ale c"ror 6alori 6or fi afi&ate la intersec(ia liniilor &i coloanelor. 9su)ra 6alorilor acestor cBm)uri se 6a a)lica o func(ie de sumarizare din cele afi&ate n lista /unction. In cazul nostru se alege cBm)ul V9-19*7 &i func(ia de sumarizare Sum5 6ezi /igura #8. 7ste )osibil de a sumariza n )lus rezultatele fiec"rei linii ntr=un cBm) se)arat. 0entru aceasta se 6a marca butonul Jes? include row su8sA clic )e butonul "e3t5
3'
Figura 2:. Pasul IV. -e aleg c>8*urile ale cror .alori .or /i a/i0ate la intersec+ia liniilor 0i coloanelor.
'. la )asul V se alege numele interog"rii create5 6ezi /igura #9. Clic )e butonul Finish &i se afi&az" tabela rezultat din /igura %.. !en(ion"m c" tabela rezultat con(ine &i un cBm) 8otal 1f V9-19*7 ce sumarizeaz" 6alorile liniilor. 9cest cBm) a)are deoarece la )asul IV am marcat butonul Jes? include row su8s.
38
39
Vom crea acum o interogare ti) Crosstab a aceleia&i tabele CI7-8+I7-I n care categoriile de c$eltuieli 6or fi afi&ate )e linii5 trimestrele )e coloane &i suma c$eltuielilor )e ti)uri de c$eltuieli &i )e trimestre n celulele tabelei5 ca mai :os. C987E1*I7 !ateriale 0iese +tilila:e I ; ; ; II ; ; ; III ; ; ; IV ; ; ;
In consecin("5 6alorile cBm)ului C987E1*I7 6or fi antetele liniilor5 6alorile cBm)ului 8*I!7S8*+ 6or fi antetele coloanelor5 iar 6alorile cBm)ului V9-19*7 6or fi sumarizate n coloanele matricei. Ca e;erci(iu 6om crea o interogare de ti) Crosstab )roiectBnd un formular n felul urm"tor< 1. se creaz" o interogare n care se selecteaz" tabela CI7-8+I7-I5 2. clic )e meniul &uer( Crosstab &uer( 6ezi /igura 38A se afi&az" fereastra de )roiectare Crosstab ,uer3 din /igura %25
In fiecare celul" a liniei Field se )oate afi&a caseta cu cBm)urile tabelei5 din care se alege cBm)ul dorit5 ce 6a fi afi&at )e linii5 )e coloane sau sumarizat n celulele tabelei. In fiecare celul" a liniei Crosstab se )oate afi&a caseta Crosstab din /igura %3b5 n care se alege ti)ul cBm)urilor. CBm)urile ale c"ror 6alori 6or fi antetele liniilor 6or a6ea ti)ul Row Ieading5 cele ale c"ror 6alori 6or fi antetele coloanelor 6or a6ea ti)ul Colu8n Ieading. CBm)urile ce 6or fi sumarizate 6or a6ea ti)ul Value. In fiecare celul" a liniei Total se )oate afi&a caseta 8otal din /igura %3a5 n care se alege func(ia cBm)ului5 de gru)are a datelor5 de sumarizare5 etc. 0entru cBm)urile de ti) Row Ieading &i Colu8n Ieading se 6a alege #rou* A(. 0entru cBm)urile sumarizate se 6a alege func(ia de agregare dorit"5 Sum 96g5 etc.
a4 caseta 8otal
b4 caseta Crosstab
3. 6om afi&a cBm)ul C987E1*I7 )e linii5 cBm)ul 8*I!7S8*+ )e coloane &i n celulele tabelei suma cBm)urilor V9-19*7A )roiectarea interog"rii este cea din /igura % 5 1
In al doilea e;em)lu5 afi&"m cBm)ul 8*I!7S8*+ )e linie &i cBm)ul C987E1*I7 )e coloane. 0roiectarea interog"rii este ar"tat" n /igura %%. Se 6a com)ara acest formular cu cel generat mai nainte de a)lica(ia 6r":itor.
Se 6a )roiecta tabela 0*1I7C87>9DE9F98I. Se 6or defini condi(iile 1*7 SN .5 S9->1*9SN2.5 ID>0*F5 1.. RN ID>0*F RN 9995 1... RN ID>9DE RN 9999. Se 6or defini m"&ti )entru introducerea cBm)urilor ID>0*F &i ID>9DE. Dumele de)artamentelor se 6or introduce cu o caset" combinat" 2Combo Go;4. Se 6or defini formulare de interogare )entru urm"toarele cereri< s" se selecteze to(i anga:a(ii intre)rinderii5 s" se selecteze to(i cu anga:a(ii cu salariul orar mai mic sau egal cu 3# lei5 s" se selecteze to(i cu anga:a(ii cu salariul orar mai mare sau egal de 38 lei5 s" se selecteze to(i anga:a(ii din de)artamentul Informatica ce au lucrat cel )u(in 1# ore5 s" se selecteze to(i anga:a(ii ce au lucrat un num"r de ore cu)rinse ntre dou" limite ce 6or fi )arametri5
s" se selecteze to(i anga:a(ii al c"ror nume nce)e cu o liter" ce 6a fi )arametru. -a fiecare )unct se 6a scrie instruc(iunea S7-7C8 cores)unz"toare cererii. Se 6or crea formulare de afi&are a tabelelor rezultat. Codi(iile din clauza HI7*7 se 6or crea direct &i cu a)lica(ia 7;)ression Guilder. 2. /ie tabela 9DE9F98I de mai :os. Coloanele ID &i S9-9*I+ sunt de ti) numeric5 celelalte coloane sunt de ti) te;t. 9DE9F98I ID 1.. 2.. 13% 2%. 2. 3.2 32# .. D+!7 0o)escu Ionescu Vasilescu Eeorgescu Dicolae E$eorg$e Vasile 0o)a 0*7D+!7 Ioan Vasile Eeorge Dicolae Dan Dan Dicolae Eeorge /9C+-8987 !atematica 7lectrote$nica Calculatoare Istorie Calculatoare !ecanica /izica C$imie S9-9*I+ 11.. 1'.. 1 9. 82. 1%.. 1 2. 13%. 1%#.
Se 6a )roiecta tabela 9DE9F98I. Se 6or defini condi(iile de 6alidare ID SN 1..5 S9-9*I+ SN %... Se 6or crea formulare de interogare )entru urm"toarele cereri< s" se selecteze to(i anga:a(ii intre)rinderii5 s" se selecteze facult"(ile absol6ite5 s" se selecteze anga:a(ii cu salarii mai mari ca 1#..5 s" se selecteze anga:a(ii cu salarii mai mici sau egale cu 1#..5 s" se selecteze anga:a(ii ce au absol6it facult"(ile 7lectrote$nica5 !ecanica5 Calculatoare5 s" se selecteze anga:a(ii ce au absol6it alte facult"(i decBt 7lectrote$nica5 !ecanica &i Calculatoare. 3. /ie tabela SI8+98I7>/ID9DCI9*9 de mai :os cu datele contabile ale unei inter)rinderi. 8oate coloanele sunt de ti) numeric. SI8+98I7>/ID9DCI9*9 9D 2..1 2..2 2..3 2.. 2..# 2..% V7DI8+*I CI7-8+I7-I 2. 3'. '. 1. ##. #.. %2. # 8 '.# #9. %9. %2.
/ie tabela D987>C1D89GI-7 de mai :os cu datele contabile ale aceea&i intre)rinderi )e urm"torii trei ani. D987>C1D89GI-7 9D 2..' 2..8 2..9 V7DI8+*I CI7-8+I7-I '12 %'. '22 %9. %9# %9.
S" se creeze o interogare care s" calculeze reuniunea celor dou" tabele. Se 6or )roiecta cele dou" tabele &i se 6or defini condi(iile de 6alidare V7DI8+*I S .5 CI7-8+I7-I S .. . /ie tabela /9C8+*9>87-7/1DIC9 de mai :os. D+!7 0*7D+!7 D+!9*>87-7/1D V9-19*7 -+D9
CBm)urile D+!75 0*7D+!7 &i D+!9*>87-7/1D sunt de ti) te;t. CBm)urile V9-19*7 &i -+D9 sunt numerice. Se 6a )roiecta tabela /9C8+*9>87-7/1DIC9. Se 6or defini regulile de 6alidare V9-19*7 S .5 -+D9 cu)rins" ntre 1 &i 125 cBm)urile D+!7 &i 0*7D+!7 nenule. In cBm)ul D+!9*>87-7/1D numerele nce) cu )refi;ul .2#1. Se 6or introduce reguli de 6alidare &i mesa:e de eroare )entru fiecare cBm). Se 6a crea o masc" )entru numerele de telefon de forma 2....4 ...=... s" se selecteze toate facturile telefonice cu)rinse ntre dou" luni ce 6or fi )arametri.