Вы находитесь на странице: 1из 40

Lucrarea de laborator N1 (2 ore)

Тема: Среда Access 97.


Цель: Изучение структуры экрана Access 97.
Работа с окном БД.
Access 97 представляет систему управления БД и обеспечивает
хранение и манипулирование данными согласно потребностям пользователя.
Access 97 изготовлен фирмой Microsoft, которое работает под Windows 95,98
şi NT.
Загрузка среды Access 97 осуществляется следующими путями:
♦ при нажатии двойного щелчка на пиктограмме Access 97 на Рабочем столе;
♦ при выборе в главном меню ОС Windows: Start/Programs/Microsoft Access;
♦ запуска меню Start/Run;
♦ при выборе в окне папки любого файла с расширением " .mdb".
Окно Access 97 представляет собой окно ОС Windows, которое состоит из
следующих компонентов:
• панель заголовка:
• панель главного меню;
• панель инструментов;
• панель состояния;
• рабочая область;
• линия прокрутки.
С помощью каждого компонента экрана Access 97 можно выполнить
определенные действия. Выход из среды Access 97 возможен следующим
образом:
– с помощью нажатия кнопки на панели заголовка X окна Access 97;
– с помощью выбора File/Exit;
– с помощью нажатия сочетания клавиш Alt+F4.
Среда Access 97 состоит из объектов. Каждый объект содержит список своих
свойств. Изменяя значения свойств этих объектов, изменяем их характеристики.
Суть работы Access 97 состоит в генерировании (создании) объектов, изменении
их свойств и удалении ненужных объектов. Среда Access 97 предлагает
следующие типы объектов:
• база данных (DataBase);;
• таблицы (Tables); (записи и поля)
• запросы (Queries);
• формы (Forms);
• отчёты (Reports);
• макросы (Macros);
• модули (Modules).

Объект База данных содержит в себе остальные объекты. Как правило БД


является независимой от других БД, а объекты одной БД не связаны с объектами
других БД.
База данных это информация, собранная из различных источников в файле
Access и организованная соответствующим образом для облегчения доступа к
ней.
Таблицы это информация, расположенная в строках и столбцах в табличной
форме.
Записи (горизонтальные) строки данных в таблицах. Каждая запись
представляет собой элемент связанных данных (например, в базе данных
подписчиков журнала каждая запись содержит сведения о подписчике).
Поля (вертикальные) столбцы данных в таблицах. Каждое поле представляет
собой элемент, зарезервированный для данных определенного типа (например, в
базе данных подписчиков журнала поле может содержать адреса).
Запрос – способ получения данных из таблицы в соответствии с заданным
критерием. По запросам можно просматривать поля сразу нескольких таблиц или
элементы одной записи.
Формы – формы используются для отображения таблиц или запросов в
удобном для чтения формате. В формах может отображаться информация из
нескольких таблиц или запросов. Формы отображают только одну запись и часто
наиболее удобны при работе с данными.
Отчеты – отчеты используются для отображения данных таблицы или запроса
в удобном для вас формате (с номерами страниц и заголовками). Отчеты не
могут редактироваться, но могут содержать данные из нескольких таблиц или
форм.
Таблицы, запросы, формы и отчеты являются «объектами», т.е. ими можно
управлять и выбирать в Access.
Все объекты БД находятся в определенной папке с расширением "mdb".
Для создания БД поступаем следующим образом:
– выбираем меню File/New Database в панели главного меню;
– нажимаем на кнопку на панели инструментов.
В результате создании новой БД открывается окно БД. Окно БД строится

Tema: Mediul Access 97. Tehnici elementare. Scopul: Studierea structurii


ecranului Access 97. Însuşirea tehnicilor de încărcare-ieşire din mediu. Lucrul
cu fereastra bazei de date.
Access 97 reprezintă un sistem de gestionare a bazelor de date (SGBD) şi asigură
un mediu de memorare şi manipulare a datelor conform necesităţilor utilizatorului.
Access 97 e un produs Microsoft care anulează sub Windows 95,98 şi NT.
Pentru încărcarea mediului Access 97 putem alege una din următoarele alternative:
• aplicarea unui dublu-clic (de) pe referinţa MS Access 97 de pe Desktop-ul
Windows:
• antrenarea meniului Start/Programs/Microsoft Access;
• utilizarea subpunctului Start/Run;
• aplicarea unui "de" pe orice fişier cu extensia " .mdb".
Fereastra mediului Access 97 reprezintă o fereastră Windows, care constă din
următoarele părţi componente:
• bara de titlu:
• bara de meniuri:
• bara de instrumente;
• bara de stare;
• zona de lucru.
Fiecare din părţile componente ale ecranului Access 97 sunt gestionate conform
tehnicilor Windows. Ieşirea din mediul Access 97 poate fi efectuată conform uneia din
posibilităţile:
• închiderea ferestrei Access 97, apăsând pe butonul X;
• antrenarea meniului File/Exit;
• apăsarea Alt+F4.
Mediul Access 97 este structurat în obiecte. Fiecare obiect deţine o listă de
proprietăţi. Schimbând valorile acestor proprietăţi se pot schimba caracteristicile
obiectului. În fond lucrul în mediul Access 97 constă în generarea de obiecte,
schimbarea proprietăţilor lor şi ştergerea obiectelor devenite inutile. Mediul Access 97
asigură următoarele tipuri de obiecte:
• baza de date (DataBase);
• tabele (Tables);
• interogări (Queries);
• formulare (Forms);
• rapoarte (Reports);
• comenzi macro (Macros);
• modules (Modules).
Obiectul "Bază de date" reuneşte toate părţile componente ale unui proiect tabele,
interogări, formulare, rapoarte etc. De obicei baza de date este independentă şi nu
depinde de alte baze de date, iar obiectele unei baze de date nu fac legătură, în
general, cu obiectele altei baze de date.
Toate obiectele bazei de date: tabele, interogări etc. sunt înglobate într-un singur
fişier cu extensia "mdb". Pentru a crea o bază de date procedăm conform unuia din
punctele următoare:
• antrenăm meniul File/New Database de pe bara de meniuri;
• acţionăm butonul de pe bara de instrumente.
In rezultatul creării unei baze de date se deschide fereastra bazei de date (BD).
Fereastra BD se situează în câmpul operabil şi conţine următoarele pagini:
• Tables, care asigură vizualizarea şi lucrul cu tabele;
• Queries, care asigură vizualizarea şi lucrul cu interogările;
• Forms, care asigură vizualizarea şi lucrul cu formularele;
• Reports, care asigură vizualizarea şi lucrul cu rapoartele;
• Macros, care asigură vizualizarea şi lucrul cu comenzile macro;
• Modules, care asigură vizualizarea şi lucrul cu modulele, programe scrise în
limbajul Visual Basic for aplications (VBA).
Un clic pe eticheta paginii e suficient pentru a o activa. În partea dreaptă a ferestrei
sunt trei butoane care asigură lucrul propriu zis cu obiectele bazei de date: Open,
Design şi New.
Butonul Open deschide obiectul, care este indicat de cursorul ferestrei. Este
echivalent cu actualizarea obiectului într-o formă restabilită.
Butonul Design deschide obiectul în regimul de proiectare. În acest regim pot fi
modificate proprietăţile obiectului.
Butonul New contribuie la crearea unui nou obiect, tipul căruia este
determinat de pagina activă.
Pentru a lucra efectiv cu fereastra BD e necesar de a însuşi următoarele
recomandări:
• deschiderea oricărui obiect se poate face printr-un "dc";
• pentru a obţine accesul la comenzile rapide aplicaţi un clic-dreapta pe obiect;
• pentru a redenumi obiectul aplicam un clic pe numele obiectului
• utilizaţi meniul Edit pentru operaţiile de duplicare-lipire ale obiectelor utilizînd zona
Clipboard.
Baza de date (BD) în calitate de obiect are proprietăţile sale. Pentru a obţine lista
proprietăţilor BD trebuie de aplicat un clic-dreapta pe bara de titlu a ferestrei BD.
O BD poate fi salvată antrenând meniul File/Close, printr-o simplă închidere a
ferestrei BD, Ctrl+F4 şi Ctrl+W.
Ştergerea obiectelor BD se efectuează prin selectarea lor în fereastra Database şi
acţionarea tastei Del.
Deschiderea unei BD se face: - File / Open Database.

Însărcinările:
1. Încărcaţi şi ieşiţi din mediul MS Access 97, folosind toate modalităţile posibile.
2. Creaţi un dosar personal pe discul D: unde vor fi BD Access 97.
3. Deschideţi baza de date Northwind.
4. Schimbaţi paginile (obiect) ferestrei BD.
5 Cu ajutorul meniului View obţineţi diferite moduri de afişare a informaţiei.
6. Din fiecare obiect deschideţi câte un element. Apoi închideţi ferestrele obţinute.
7. Creaţi o BD personală cu numele Auto.
8. Cu ajutorul meniului Edit asiguraţi transferul unor elemente din BD "Northwînd" în
baza de date Auto. Redenumiţi unele elemente.
9. Salvaţi baza de date Auto pe discul D: în dosarul propriu.
10. Redeschideţi BD Auto şi excludeţi toate elementele inserate.
11. Memoraţi BD Auto (fără obiecte) pe discul D: în dosarul propriu.
12 Ieşiţi din Access 97.

Lucrarea de laborator N2 (4 ore)


Тема: Проектирование и изменение структуры таблицы для БД.
Цель: Овладевание поектированием БД

Tema: Proiectarea şi modificarea structurii tabelelor unei baze de date.


Scopul: Însuşirea proiectării tabelelor.

În cadrul lucrării precedente aţi creat BD Auto.mdb. Ea poate conţine tabelele ca


obiecte. Pentru a crea tabele mai întâi trebuie de deschis BD, care va conţine aceste
tabele.
Pentru a deschide BD putem antrena meniul File/Open Database indicând baza de
date necesară.
Pentru a crea un tabel nou procedăm astfel:
1. În fereastra BD acţionăm eticheta Tables;
2. În fereastra BD apăsăm butonul New;
3. Alegem modul Design View şi apăsăm butonul OK.
În rezultat apare o fereastră, care conţine toate elementele necesare definirii unui
tabel. Tabelele sunt elementul cheie al unei BD, deoarece în tabele sunt stocate datele.
Tabelele constau din coloane care se numesc câmpuri şi din rânduri ce se numesc
înregistrări. Fiecare coloană poate memoriza un anumit tip de date dinainte prestabilit.
Numărul de câmpuri şi tipul lor este obiectul unei acţiuni deliberative şi diferă de la caz
la caz. Numărul de înregistrări ale unui tabel depinde exclusiv de volumul de date
stocate în tabel şi este limitat numai de spaţiul de memorie disponibil.
Access 97 asigură următoarele tipuri de date pentru câmpuri:
Text – asigura memorarea în câmp a şirurilor de caractere.
Se cere precizarea lungimii şirului, care poate varia de la 1:255.
Memo – permite memorarea unei informaţii textuale de maximum 64 kb.
Practic este vorba de nişte fişiere asociate înregistrărilor
Number – asigură memorarea datelor numerice. Practic constă din cîteva subtipuri:
Byte – valori pozitive întregi de la 1 : 255
Integer – numere întregi ce pot fi memorate în doi octeţi.
Long Integer – numere întregi ce pot fi memorate în 4 octeţi.
Single – numere în virgulă mobila de maximum 7 cifre semnificative.
Double – numere în virgulă mobilă de maximum 14 cifre semnificative.
Date/Time – asigură - stocarea datelor calendaristice în forma unor numere, în
virgulă mobilă de 8 octeţi; iar ora e reprezentată ca fracţiune dintr-o zi.
Currency – permite memorarea datelor de tip monetar reprezentând valori întregi
de până la 15 cifre şi valori zecimale de până la sutimi de cenţi.
Auto Number – asigură generarea de numere întregi pozitive cu incrementare
automată. Ele pot fi secvenţiale sau aleatorii.
Dimensiunea acestor numere este prestabilită la 4 octeţi. Numerele se folosesc pentru
a identificarea univocă a înregistrărilor.
Yes/No – tipul permite memorarea datelor cu caracter logic în formă de
True/False echivalente lui Da sau Nu.
Obiect Ole – tipul de date permite memorarea datelor furnizate de serverele OLE:
documente, sunete, ilustraţii etc.

Lookup Wizard – Programul wizard de căutare este un tip referinţă la câmpurile


unui alt tabel. Fiecare tip enumerat mai sus este caracterizat de o listă de
proprietăţi, care precizează diferite aspecte ale tipului:

Field Size – defineşte lungimea câmpului. Această proprietate depinde de tipul


câmpului.
Format – determină modul în care vor fi afişate datele. Proprietatea poate primi şi
valori predefinite: Currency, Percent, Short Date. Formatul poate fi
personalizat prin modificare cu ajutorul unor simboluri speciale.
Input Mask – defineşte modul format în care vor fi introduse datele. Există un program
special Input Mask Wizard care acordă asistenţă pentru crearea unor
formate de intrare.
Caption – denumeşte câmpurile (coloanele), care apar în modul de afişare Datasheet
(Foaie de calcul). în caz general numele câmpului poate să difere de
denumire.
Default Value – indică valoarea prestabilită a câmpului. Depinde de tipul câmpului.
Validation Rule – defineşte o expresie logică care este evaluată de fiecare dată când
se introduce o valoare. în caz că expresia este adevărată (True),
atunci valoarea este acceptată. În caz contrar valoarea este respinsă
şi este afişat textul din Validation Text – o altă proprietate.
Validaton Text – defineşte textul aviz despre care s-a scris în proprietatea
Validation Rule Required – denotă faptul că valoarea este necesară pentru definirea
înregistrării. Se codifică Yes sau No. Este esenţial - dacă câmpul
joacă rolul de cheie străină.
Allow Zero Length – determină dacă câmpul poate conţine un şir de valori de
lungimea zero. Valoarea zero a lungimii şirului este deosebită de
valoarea nulă, când în câmpul înregistrării nu se introduce nici o
valoare. Dacă valoarea proprietăţii este fixată No, atunci ştergerea
valorii este echivalent cu valoarea nulă a câmpului.
Indexed - determină crearea indecşilor, fişiere care definesc referinţe la
înregistrările unui tabel. Cu ajutorul acestor referinţe se poate schimba
ordinea afişării înregistrărilor din tabel.
Proprietăţile sunt inserate în partea de jos a ferestrei de proiectare a tabelului
(Field Properties). Numele şi tipul câmpurilor pot fi definite în grila din partea de sus a
ferestrei în coloanele Field Name şi Data/Type respectiv. In coloana Description se
introduc comentariile (explicaţiile) câmpurilor. Lucrul în această fereastră se efectuează
astfel:
• introducerea informaţiei se face printr-un clic în interiorul casetei de text. Apare
cursorul textual (o bară verticală), care cere introducerea informaţiei;
• trecerea de la o coloană la alta se face prin acţionarea tastei Tab (Shift + Tab
înapoi) sau printr-un clic în caseta de text necesară:
• în partea stângă a grilei se află bara de selecţie amplasată vertical. Rândul curent
este marcat de un "*". Prin tragerea mouse-ului pe această bară se face selectarea
rândurilor. Ele pot fi şterse (tasta Delete) ori trimise în memoria Clipboard cu
ajutorul meniului Edit şi ulterior lipite. Inserarea de noi câmpuri se face prin
antrenarea meniului Insert/Row;
• tipul câmpului se alege dintr-o casetă-lista expandabilă printr-un clic pe denumirea
tipului dorit (lista tipurilor vezi mai sus);
• memorarea tabelului se face antrenând meniul File/Save ori prin simpla închidere a
ferestrei "Table Design".
• pentru a redefini (modifica) tabelul deja creat trebuie de apăsat pe butonul Design din
fereastra BD, poziţionând cursorul pe tabelul în cauză;
• fiecare tabel are un câmp (sau mai multe câmpuri) valorile căruia identifică în mod
univoc înregistrările. Acest câmp se numeşte cheie primară. (Primary Key)
De obicei în calitate de Primary Key se alege un câmp de tip Auto Number.
Pentru a defini Primary Key selectăm câmpul şi antrenăm meniul Edit/ Primary
Key.

Însărcinările:
Să se proiecteze un sistem de tabele, care ar reflecta evidenţa tranzacţiilor de
vânzare / cumpărare a automobilelor la o formă de comercializare a automobilelor.
Acest sistem constă din trei tabele "Catalogul de modele auto", ''Registrul clienţilor"
şi "Registrul tranzacţiilor".

I. Proiectarea tabelului "Catalogul de modele auto".


1. Proiectaţi tabelul "Catalogul de modele auto", care ar consta din următoarele
câmpuri indicate în tabelul:

N-O Numele câmpului Tipul de date Descrierea


1 Codul modelului Auto Number Codul conform registrului
2 Modelul Text Denumirea modelului
3 Puterea motorului Text Puterea motorului
4 Culoarea Text Culoarea auto
5 Numărul de uşi Number Două, trei sau patru
6 Cutia de transmisie Text Antonată sau manuală
7 Căptuşeala Text Catifea, piele, stofa etc.
8 Alte caracteristici Memo Caracteristici adăugătoare
9 Preţul fixat de uzina Currency Preţul stabilit de uzina
10 Cheltuielele de transport Currency Cheltuieli de transport
11 Pregătirea vânzare Currency Cheltuieli pentru vânzare
12 Model special Yes/No Model special

2. Utilizaţi denumirea proprietăţilor câmpurilor acestui tabel lista căruia indică:

1. Codul modelului, Auto Number, 1,


2. Modelul, Text: Field Size (Dimensiunea cîmpului):20, lndexed(indexat): Yes (No
Duplicates).
3. Puterea motorului: Field Size.
4. Culoarea: Field Size.
5. Numărul de uşi: Field Size Byte, Format Stiin(lurd, Decimal Places (Numărul de
zecimale):0, Default Value:4, Validation Rule:4 or 2 or 3 or 5, Validation Text. Acest tip
poate conţine numărul 2 sau 3 sau 4 sau 5.
6. Cutia de transmisie: Fields Size 15, Default value: Manual, Validation Rule: Manual
or Automatic, Validation Text: Acest câmp poate conţine numai Manual sau Automatic.
7. Căptuşeala: Field Size: 20, Text
8. Alte caracteristici: Câmpul de tip Memo nu necesită nici un fel de restricţii în privinţa
lungimii.
9. Preţul fixat de uzină: Format: Currency (li(inesc), Decimal Places: Auto.
10. Cheltuielele de transport: Format: (.'iti'rencyţliâlie'ic), Decimal Places: Auto.
11. Pregătirea vânzare: Format: Currency (Index), Decimal Places: Auto, Default
value:l05,
12. Model special : Format: Logic (Yes/No).

N-O Numele câmpului Tipul Field Size Altele


1 Codul modelului Auto N 1
2 Modelul Text 20 Indexat, No Duplication
3 Puterea motorului
4 Culoarea
5 Numărul de uşi Number Byte Default Value:4,
Validation Rule:4 or 2 or
3 or 5, Validation Text.
Acest tip poate conţine
numărul 2 sau 3 sau 4
sau 5
6 Cutia de transmisie 15
7 Căptuşeala Text 20
8 Alte caracteristici
9 Preţul fixat de uzina
10 Cheltuielele de transport
11 Pregătirea vânzare
12 Model special

3. Definiţi cheia primară - Primary Key pentru câmpul "Codul modelului".


4. Memoraţi tabelul definit sub numele "'Modele" .
5. Deschideţi tabelul în regimul de vizualizare. Închideţi tabelul.
6. Deschideţi tabelul în regimul de modificare / proiectare .
7. Copiaţi câmpul "Căptuşeala" în zona Clipboard
8. Excludeţi câmpul din tabel. Restabiliţi câmpul.
9. Schimbaţi denumirea câmpului în "Capitonarea".
10. Definiţi pentru câmpurile "Numărul de uşi ", "Cutia de transmisie'. "Capitonarea"
reguli de validare (Validation Rule). Care ar asigura acceptarea numai nu valorilor
indicate în coloana "Description".
11. Memoraţi tabelul modificat.
II. Proiectarea tabelului "Registrul clienţilor".
1. Proiectaţi tabelul "Registrul clienţilor". care ar consta din câmpurile indicate:

N-o Numele câmpului Tipul de date Descrierea


1 Codul clientului Auto Number Codul clientului
2 Adresarea Text Domn, doamna sau domnişoara
3 Prenumele Text
4 Patronimicul Text
5 Numele de familie Text
6 Localitatea Text Oraşul, viza de reşedinţă
7 Adresa Text Strada, blocul etc.
8 Telefon Text Numărul de telefon
9 Note Memo Note speciale despre clienţi

2. Pentru fiecare câmp definiţi proprietăţile:


• Field Size.
• Default Value.
• Indexed ("No" pentru toate câmpurile în afară de "codul clientului")
• Required.
• Caption.
3. Definiţi pentru câmpul "Codul clientului" cheia primară (Primary Key).
4. Memoraţi tabelul creat sub numele de "Clienţi".
5. Deschideţi tabelul "Clienţi" în regimul de afişare. Închideţi tabelul.

Lucrarea de laborator N3 (4 ore)


Tema: Introducerea datelor, redactarea şi formatarea tabelelor
unei BD. Relaţii.
Scopul: însuşirea introducerii datelor, redactarea şi formatarea tabelelor.
Relaţiile.
1. Însuşirea introducerii datelor, redactarea şi formatarea tabelelor.

Introducerea informaţiei într-un tabel se face în regimul Datasheet (foaie de calcul).


Pentru a instala acest regim trebuie să executăm următoarele:
1. Deschidem BD Auto;
2. Duplicăm un dublu clic pe numele tabelului în care introducem datele. Altfel,
putem selecta tabelul din fereastra BD printr-un clic şi apoi activăm (clic) butonul Open;
În rezultatul acestor acţiuni ne apare un tabel cu un număr de coloane egal cu
numărul de câmpuri definite în modul Design Numele coloanei coincide cu denumirea
câmpului din modul Design, sau dacă e cazul, cu valoarea proprietăţii Caption.
Rândurile în tabel sunt reprezentate prin casete de text. Iniţial tabelul e vid şi conţine
numai un singur rând.
În partea stângă a tabelului e prezentă bordura . In fond, pe bordură pot să apară
trei simboluri:
•  - arată rândul (înregistrarea )curentă ;
• * - indică înregistrarea vidă, unde se poate insera informaţia;
• - arată înregistrarea, care e supusă modificării (se schimbă informaţia în
casete).
Informaţia se introduce în casetă (celulă) cu casetă. Pentru aceasta se face clic cu
mouse-ul pe celula vizată sau putem activa tastatura ( Tab sau Shift+Tab).
Faptul că celula va recepta datele de la tastatură - serveşte apariţia punctului de
inserţie în interiorul ei.
După apariţia punctului de inserţie se trece la introducerea datelor de la tastatură.
Odată cu introducerea datelor creşte şi numărul rândurilor. Rândul cu marcajul "*" pe
bordură serveşte drept rând nou.

Trebuie de avut în vedere, că unele câmpuri la adăugarea de noi înregistrări au deja


date. Aceste sunt câmpurile de tipul Auto Number şi câmpurile, care au definită
proprietatea Default Value în principiu, toate aceste valori pot fi modificate, dar
modificarea câmpurilor Auto Number nu se recomandă.
Editarea conţinutului unei celule se face ca şi în cazul introducem datelor. Pentru
ştergerea conţinutului unei celule se poate apăsa tasta Backspace, iar pentru
ştergerea unui caracter se pune punctul de inserţie şi se acţionează tasta Delete.
Deplasarea în interiorul celulei se face cu tastele direcţionale:
•  - un caracter la dreapta;
•  - un caracter la stânga,
• Ctrl +  - un cuvânt la dreapta;
• Ctrl +  - un cuvânt la stânga;
• End - începutul rândului;
• Ctrl+End - la sfârşitul celulei;
• Ctrl+Home – la începutul celulei;
• Home – la începutul rândului.
Selectarea câmpului se face prin poziţionarea mouse-ului pe chenarul din stânga a
celulei (apare în formă de " + ") şi după aceasta se execută clic. Câmpul selectat se
colorează în negru). Selectarea înregistrării se face printr-un clic pe bordură. Mai multe
înregistrări pot fi selectate printr-o serie de clic-uri consecutive pe bordura înregistrărilor
vizate, ţinând apăsată tasta Ctrl. Schimbând tasta Ctrl cu Shift putem selecta
înregistrări în grup continuu. Pentru a selecta toate înregistrările facem Ctrl+A
(Edit/Select All Records).
Câmpurile sau înregistrările selectate pot fi mutate sau copiate în alte tabele sau în
cadrul aceluiaşi tabel folosind zona bufer (Clipboard). Pentru aceasta executăm:
1. Selectăm câmpurile (înregistrările);
2. Activăm Edit/Copy sau Edit/Cut (ori butoanele respective de pe bara de
instrumente);
3. Pentru alipirea fragmentului din zona bufer (Clipboard) asigurăm punctul de
inserţie în locul respectiv;
4. Activăm Edit/Paste.
Inserarea de noi înregistrări se face numai la sfârşitul tabelului. Mai departe se
procedează în mod analogic ca şi în cazul editării.

Ştergerea înregistrărilor se efectuează astfel:

1. Selectăm înregistrările ce urmează să fie şterse;


2. Apăsăm tasta Delete (Edit/Ddete sau Edit/Delete Records). Dacă înregistrarea nu
este selectată, atunci Delete se referă la câmpul curent, iar Delete Records – la
toată înregistrarea. Modul Datasheet de afişare a tabelului permite formatarea
tabelului. Prin formatarea tabelului Datasheet se subînţelege:
• modificarea fonturilor;
• modificarea lăţimii coloanelor şi înălţimii rândurilor;
• colorarea fundalului, caracterelor şi a liniilor de demarcaţie
Modificarea fonturilor se aplică (indiferent de selectare) întregului tabel. Se
efectuează cu antrenarea meniului Format/Font.
Modificarea lăţimii coloanelor se poate face prin tehnica "drag-and-drop" cu
mouse-ul trăgând linia despărţitoare dintre denumirile câmpurilor. 0 altă tehnică mai
precisă implică:
• Selectarea coloanelor, care urmează să fie redimensionate;
• activarea meniului Format/Width.
în caseta Column Width a ferestrei Column Width putem instala dimensiunea
coloanelor. Selectarea casetei cu valoarea Standard Width reinstalează valoarea
standard (iniţială), iar butonul de comandă Best Fit redimensionează lăţimea coloanei
potrivind-o pentru cea mai lungă intrare.
Modificarea înălţimii rândurilor se face identic modificării lăţimii coloanelor, dar se
selectează Format/Row Height.
Colorarea caracterelor se poate efectua, selectând culoarea respectivă din lista
expandabilă Color a ferestrei Font (Format/Font).
Colorarea fundalului a liniilor de demarcare se poate efectua cu ajutorul meniului
Format/Cells. Tehnica de definire e similară tehnicilor pentru schimbarea fonturilor.
Tabelul astfel formatat poate fi imprimat (File/Print).
Derularea înregistrărilor şi câmpurilor se face cu ajutorul barelor de defilare: în
dreapta-jos se află bara de derulare orizontală (a câmpurilor), iar în stânga - jos e
situată bara de derulare verticală (a înregistrărilor).
Pentru comoditate unele câmpuri ale tabelului în regimul Datasheet pot fi ascunse
(selectare + Format/Hide). Restabilirea se va face prin acţionarea Format/Unhide. La
fel câmpurile pot fi "Îngheţate": selectare + Format/Freeze (la "dezgheţare"-
Unfreeze) lagetarea permite fixarea poziţiei unor câmpuri, care la deplasare nu se va
schimba.
în regimul Datasheet poate fi organizată căutarea şi căutarea cu inlocuire a
informaţiei (Edit/Find şi Edit/RepIace). Câmpul în care va fi căutată informaţia se
selectează în prealabil (poate fi selectată o parte din informaţia înscrisă într-o celulă).

II. Relaţiile
Relaţiile se formează prin precizarea unei legături între un câmp dintr-un tabel şi un
câmp (câteva câmpuri) corespunzătoare dintr-un alt tabel
Relaţiile pot fi:
“. 1 : m ( one - to - many ), o valoare dintr-un câmp al unui tabel e legată de mai
multe valori dintr-un câmp dintr-un alt tabel;
• m : n ( many - to - many ), mai multe valori corespunde la mai multe valori;
• m : 1 ( many - to - one ), identică cu 1 : m, dar inversată;
• 1 : 1 ( one - to - one ), relaţie biunivocă. Crearea unei relaţii se face astfel:
1. Se antrenează meniul Tools/Relationships;
2. În fereastra obţinută se adaugă tabelele, care intră în relaţie. Tabelul din partea lui 1
sau de unde se defineşte relaţia se numeşte primar (părinte), iar tabelul legat de
primul prin relaţie se numeşte secundar (copil).
Stabilirea relaţiei se face prin intermediul tragerii (tehnica "drag-and-drop")
câmpului din primul tabel implicat în relaţie peste câmpul din tabelul al doilea. La
stabilirea relaţiei se afişează fereastra “Relationships”. Sistemul singur determină tipul
relaţiei şi o afişează. Fereastra "Relationships" conţine următoarele casete de
validare:
• Enforce Referential Integrity;
• Cascade Update Related Fields;
• Cascade Delete Relateded Records.
Prima casetă este determinantă: la selectarea ei apar accesibile şi celelalte două.
Caseta Enforce Referential Integrity (asigurarea integrităţii referenţiale) asigură faptul
că la ştergerea sau modificarea câmpului din tabelul primar se va modifica sau şterge
valorile corespunzătoare ale câmpului legat din al doilea tabel.

Însărcinări:
1. Introduceţi datele pentru tabelul ''Modele" ( 10 înregistrări ).
2. Selectaţi o parte a conţinutului celulei unui câmp. Deplasaţi-vă la începutul
conţinutului unui câmp, iar apoi la sfârşitul conţinutului.
3. Selectaţi celula unui câmp. Memoraţi în zona bufer conţinutul coloanei. Ştergeţi
conţinutul coloanei. Restabiliţi informaţia în celulă.
4. Selectaţi un grup continuu de înregistrări. Memoraţi înregistrările în zona bufer prin
decupare. Restabiliţi înregistrările decupate.
5. Selectaţi toate înregistrările. Decupaţi-le în zona bufer. Restabiliţi înregistrările din
zona bufer.
6. Formataţi tabelul "Modele" schimbând fontul, dimensiunea şriftului, culoarea
caracterului, culoarea fundalului, culoarea liniilor de demarcare, mărimea coloanelor.
7. Ascundeţi în tabelul "Modele" coloana "Codul modelului'. Restabiliţi coloana
ascunsă.
8. Îngheţaţi în tabelul "Modele" coloana "Preţul fixat de uzină" Controlaţi efectul
îngheţării.
9 Dezgheţaţi coloana.
10. Imprimaţi tabelul "Modele" în regimul Preview.
11. Introduceţi datele pentru tabelul "Clienţi" (10 înregistrări).
12. Repetaţi p. 2 - 9 pentru tabelul “Clienţi”.
13. Proiectaţi tabelul “Tranzacţii” conform următorului tabel:

N-o Numele câmpului Tipul câmpului Descrierea


1 Codul tranzacţiei Auto Number Codul tranzacţiei
2 Codul modelului Number Codul modelului
3 Codul clientului Number Codul clientului care procură modelul
4 Preţul de vânzare Currency Preţul
5 Data tranzacţiei Date/Time Data când
6 Data livrării Date/Time Data executării comenzii
7 Numărul Auto Number Numărul de m.itoniobile coniandtitti
8 Alte note Memo Comentarii, observaţii, note.

14. Definiţi o relaţie 1 : mai mulţi pentru tabelele "Modele" şi "Tranzacţii", câmpul de
legătura fiind "Codul modelului" .
15. Definiţi o relaţie 1 : mai mulţi pentru tabelele "Clienţii" şi “Tranzacţii”, câmpul de
legătură fiind "Codul clientului" .
1. Introduceţi datele în tabelul "Tranzacţii " luând în consideraţie data definită
2. Executaţi pp. 1 - 9 pentru tabelul "Tranzacţii"
3. Închideţi tabelele şi BD.
4. leşiţi din meniul Access 97.

Lucrarea de laborator N4 (10 ore)


Tema : Proiectarea cererilor (interogărilor). Interogări de
totalizare. Interogări acţiune. Scopul: însuşirea tehnicilor de proiectare
a interogărilor.

I. Proiectarea unei interogări simple ( selecţie ).


0 interogare este un obiect al BD Access 97 de rând cu tabelele-formularele,
rapoartele. In general ea permite:
• să specificaţi numai câmpurile din tabel, pe care le doriţi să le afişaţi;
• să afişaţi într-o foaie de calcul (Datasheet) câmpuri, aparţinând mai multor tabele din
BD;
• să definim ordinea de apariţie a câmpurilor în foaia de calcul, care poate fi alta decît
ordinea din tabel (tabele);
• să definiţi criteriile de filtrare a înregistrărilor,
• să sortaţi înregistrările în ordinea cerută. Pentru a crea o cerere procedăm astfel:
1. Deschidem BD;
2. Trecem în cadrul ferestrei BD la eticheta Queries;
3. Executăm clic pe butonul New;
4. Executăm clic pe opţiunea Design View ;
Opţiunea Design View deschide două ferestre: Query Design - Select Query şi
fereastra Show Tables.
Fereastra Show Tables are trei etichete: Tables (tabele). Queries(cereri), Both
(ambele), care afişează obiectele corespunzătoare. Efectuând câte un dublu clic
pe numele obiectelor le putem plasa în câmpul operabil al ferestrei Select Query.
Acelaşi efect poate fi obţinut printr-un clic pe numele obiectului şi pe butonul Add.
Butonul Close închide fereastra Show Tables (puteţi închide fereastra şi cu ajutorul
butonului X de închidere).
După aceste acţiuni în fereastra Select Query sunt plasate tabele (interogări) sau şi
tabele şi interogări, care vor furniza câmpurile pentru construirea interogării. Obiectele
din câmpul operabil al ferestrei Select Query (nişte liste cu titluri) pot fi derulate pe
verticală şi pe orizontală, pot fi mutate cu ajutorul tehnicii "drag-and-drop" a mouse-
ului.
În procesul de proiectare a interogării, unele din tabele (cereri) pot fi excluse sau
adăugate în câmpul operabil:
• clic pe tabel(cerere) iar apoi tasta Del;
• antrenarea numelui Query/Show Tables, adică apare iar fereastra
Show Tables.
Clic pe tabel(cerere), de fapt însemnează activarea lui, adică el poate furniza
câmpurile necesare.
În calitate de recipient pentru câmpurile selectate serveşte grila amplasată în partea
de jos a ferestrei.
Grila are următoarele rânduri:
• Field - amplasarea numelui câmpului selectat;
• Tables - numele tabelului(cererii) căruia îi aparţine câmpul,
• Sort - indicarea sortării valorilor câmpului;
• Show - opţiunea de afişare / neafişare a conţinutului câmpului;
“ Criteria - formularea criteriilor de selectare a înregistrărilor;
• or - definirea părţii or ( sau ) a criteriului.
Grila este împărţită în coloane şi este dotată cu bare de derulare (pe verticală şi pe
orizontală). în general, grila serveşte drept model pentru viitoarea interogare. Coloanele
grilei vor deţine câmpurile cererii. Pentru a amplasa câmpurile din tabelele(cererile)
selectate e necesar:
• un dublu clic pe titlul listei ce reprezintă tabelul(cererea) va selecta toate câmpurile
tabelului(cererii);
• un dublu clic pe rândul " * " din listă va avea acelaşi efect;
• un dublu clic pe rândul din listă cu denumirea câmpului tabelului(cererii) va transfera
câmpul în următoarea coloană liberă de pe grilă;
• câmpurile din listă pot fi selectate: clic pe primul câmp, apoi
Shift+clic pe ultimul câmp din grup sau Ctrl + clic în cazul unui grup dispersat.
Câmpurile selectate pot fi apoi "târâte" cu mouse-ul şi "aruncate" pe grilă.
Pe grilă pot fi amplasate câmpuri din diferite tabele(cereri) şi nu este obligatoriu
amplasarea tuturor câmpurilor. Ordinea câmpurilor de pe grilă va coincide cu ordinea
coloanelor din viitoarea cerere. Câmpurile se amplasează de la stânga spre dreapta. La
amplasarea câmpului pe grilă numele lui este inserat în primul rând (Field) din prima
coloană liberă. în rândul Table din aceiaşi coloană apare denumirea tabelului(cererii) ce
conţine câmpul. Dacă facem clic p. acest loc, apare un buton de listă expandabilă
(Combo list ) Apăsând pe acest buton putem alege un alt câmp pentru a fi amplasate
coloană, decât acela deja amplasat.
Rândul Sort permite sortarea valorilor câmpului: crescătoare (alfabetică ) sau
descrescătoare (invers alfabetică), Clic aplicat în acea rând generează o listă
expandabilă de două valori : Ascending (crescătoare) şi Descending
(descrescătoare). Valoarea selectată prin clic va fi plasată în rândul Sort. Sortarea este
neobligatorie. Ştergerea informaţiei din acest rând va anula sortarea. Dacă în câteva
coloane va fi instalată valoarea pentru Sort, atunci priorităţile sortării vor creşte de la
stânga la dreapta. Adică, mai întîi va fi efectuată sortarea pentru primul câmp din
stânga care conţine valoarea pentru Sort, apoi vor fi sortate câmpurile următoare etc.
Rândul Show conţine o casetă de validare, care poate fi instalată (anulată) printr-
un clic. Instalarea casetei înseamnă că câmpul respectiv va fi vizualizat in cadrul
următoarei cereri. Deselectarea casetei implică suprimarea câmpului.
După instalarea câmpurilor pe grilă ele pot fi:
• şterse prin selectare (plasarea mouse-ului în zona bordurii superioare a grilei, apoi
aplicarea de clic) şi apăsarea pe tasta Delete:
• "trase" cu mouse-ul intru-un alt loc de pe grilă (aceeaşi tehnică ca şi în punctul
precedent).
Aici poate fi terminată proiectarea unei cereri simple (de tip Select). Putem închide
fereastra Select Query. Ca şi în cazul tabelelor în fereastra numelui atribuim cererii un
nume potrivit.
Lansarea unei interogări poate fi efectuată cu ajutorul butonului Open din fereastra
BD sau apăsând butonul ! de pe bara de instrumente.

II. Proiectarea asocierilor. ???????????????


De obicei, câmpurile din tabelele(cererile) alese pentru construirea unei noi
interogări aparţin diferitor tabele. Situaţia se complică, atunci când tabelele pe baza
cărora se construieşte cererea sunt legate prin relaţii.
De exemplu, tabelul "Tranzacţie" este legat prin două relaţii de tabelele "Modele"
şi "Clienţii", implicând câmpurile "Codul modelului" şi "Codul clientului"
respectiv. Dacă vom amplasa toate trei tabele în fereastra Query Design -Select
Query, atunci în câmpul operabil al acestei ferestre tabelele vor indicate prin
intermediul a două linii.
Dacă vom constnii orice cerere implicând câmpuri din aceste trei abde întodeauna
vom obţine un rezultat univoc. Înregistrările care ••<x fi afişat^ în cadrul cererii vor
satisface egalităţilor:
Clienţii. Codul clientului = Tranzacţie. Codul clientului
şi Modele. Codul modeIului = Tranzacţie. Codul modelului
In acest sens modelul BD propus este corect. însă această situaţie au este unica
posibilă. Unele cereri presupun cu totul alt mod de combinare a înregistrărilor, decât
acel anunţat mai sus. De exemplu, interogarea "Care dintre modele nu au fost
solicitate nici odată?" nu poate fi obţinută în cadrul modelului precedent.
În Access 97 pentru a defini modul, în care înregistrările din mai multe tabele
legate prin relaţii, vor fi combinate într-o cerere se foloseşte noţiunea de asociere.
Sunt două tipuri de asocieri:
• asocieri inteme (inner), care vor afişa numai acele înregistrări ce satisfac egalităţii
câmpurilor de Iegătură (acesta e cazul nostru de mai sus);
• asocieri exteme (outer). Aceste asocieri sunt de două tipuri: ????????????
asocieri extreme de stînga şi asocieri exteme de dreapta.
Asocierea extemă de stânga va întoarce toate înregistrările din tabelul primar
(părinte) al relaţiei (în cazul nostru "Clienţii") şi numai acele înregistrări din tabelul
subordonat ("Tranzacţii") ( copil) care au câmpurile de legătură egale.
Asocierea extemă de dreapta va întoarce toate înregistrările din tabelul 'Tranzacţii"
şi numai acele înregistrări din tabelul primar Clienţii" pentru care cîmpurile
corespunzătoare de legătură sunt egale.
Definirea tipului asocierii poate fi efectuată la etapa definirii relaţiei dintre tabele
(Tools / Edit Relationships) sau la etapa proiectării cererii. în primul caz în fereastra
("Edit Relationships ") apăsăm butonul Join. Apare fereastra "Join Properties", care
are trei casete opţionale. Prima opţiune corespunde asocierii inteme, iar următoarele
două corespund 'asocierii exteme de stânga şi asocierii exteme de dreapta respectiv.
La etapa proiectării cererii redefinirea asocierii se poate face printr-un clic de dreapta pe
linia de indicare a relaţiei, alegând J — Properties.
Modul de asociere prestabilit este acel de asociere intemă.
Exemplu. Ştergând înregistrări din tabelul "Tranzacţii a tabelul "Clienţii" rămân
înregistrările corespunzătoare ale clienţilor. Să se proiecteze o cerere (asociere de
stânga) care ar afişa atât clicoţu care au legate tranzacţii, cât şi clienţii pentru care
tranzacţiile au fost şterse din tabelul "Tranzacţii".
Dacă am încerca o redefinire a asocierii inteme existente între aceste trei tabele,
am obţine un rezultat inconsistent.
De acea proiectăm mai întîi o cerere ajutătoare Ql a” următoarele câmpuri:
• Codul tranzacţiei (tabelul "Tranzacţii");
• Codul modelului (tabelul "Modele");
• Modelul (tabelul "Modele");
• Preţul de vânzare (tabelul "Modele");
• Data tranzacţiei (tabelul "Tranzacţii");
• Codul clientului (tabelul "Tranzacţii");
Tabelele "Modele" şi “Tranzacţii” sunt legate prin câmpul "Codul modelului" cu
o asociere intemă.
Acum proiectăm cererea noastră pe baza tabelului "Clienţii" şi a cererii Ql cu
următoarele câmpuri:
• Codul clientului (tabelul "Clienţii");
• Numele clientului (tabelul "Clienţii");
• Modelul ( cererea Ql);
• Preţul modelului ( cererea Ql);
• Data tranzacţiei( cererea Ql);
La amplasarea în câmpul operabil al ferestrei Select Query a tabelului "Clienţii" şi
a cererei Ql nu există o relaţie de asociere între ele, de acea o definim în mod obişnuit
prin tragerea câmpului "Codul clientului ' din tabelul "Clienţii" peste câmpul "Codul
clientului" din cererea Ql .
Printr-un clic de dreapta pe linia de legătură şi selectarea punctului Join
Properties- putem defini o asociere de stânga. Afişaţi rezultatul cererii şi redefiniţi tipul
de asociere (externă de dreapta). Examinaţi rezultatele.
III. Criterii şi câmpuri calculabile.
Criteriile de selecţie sunt nişte expresii logice definite peste valorile câmpurilor unui
tabel sau ale unei interogări. Expresia logică & creează în rândul Criteria de pe grila
ferestrei Design Query - Sttect Query. Un operand al expresiei îl constituie valoarea
câmpului abdutui (cererii) definit în coloana grilei, ce conţine expresia logică.
De exemplu, dacă în coloana "Preţul de vânzare" a cererii va fi a seral ">1000 ",
atunci vor fi afişate numai înregistrările care conţin 3 coloana "Preţul de vânzare"
valori mai mari ca 1000. în rândul Criteria pot fi inserate câteva expresii logice (în
coloane diferite ). In acest caz înregistrările vor fi selectate prin calcularea conjuncţiei
logice ( operaţia And ) a tuturor expresiilor logice din coloanele cereri. Dacă măcar o
expresie va fi falsă pentru toate valorile câmpului, în care este inserat criteriul, atunci
cererea va fi vidă (nu va conţine înregistrări).
De exemplu, în coloana "Preţul de vânzare" este inserat ">1000", iar m coloana
"Data tranzacţiei" - "<=Date( )-10". Cererea rezultantă va afişa înregistrările pentru
care în câmpurile respective valorile vor satisface criteriile inserate în rândul Criteria în
mod simultan.
Rândul or de pe grilă permite definirea a unui subcriteriu (încă o expresie logică )
legată de primul ( din rândul Criteria ) cu ajutorul operaţiei OR.
De exemplu, în coloana "Preţul de vânzare" din rândul Criteria e inserată
expresia ">1000", iar în aceiaşi coloană în or este inserată expresia "= 1000 ".
Rezultatul va fi echivalent afişării înregistrărilor, care ar avea în coloana "Preţul de
vânzare" valori mai mare sau egale cu 1000.
Operaţiile de comparare sunt următoarele:
• > - mai mare;
• < - mai mic;
• >= - mai mare sau egal;
• <= - mai mic sau egal;
• = - egal, exact;
• Like - compară cu un nume scris cu "*" (înlocuire), de exemplu, ''A *" denotă toate
valorile care încep cu A şi formează şiruri textuale;
• Between - între inclusiv, de exemplu, between 1000 And 1500;
23
• < > - diferite
Câmpurile calculate sânt coloanele din cerere valorile căruia nu sunt luate direct
din tabele, ci sunt obţinute pe baza unor e'^jMga-ai. Drept operanzi ai acestor expresii
pot servi câmpurile reale &e. tabelelor.
Pentru a defini un câmp calculat intr-o cerere putem pnxaast astfel:
• alegem o coloană liberă de pe grilă şi facem clic în caseta da rândul Field;
• scriem denumirea câmpului calculat, apoi după ":" scrK'ai
expresia conform careea se vor calcula valorile Câmpurile rsa.k din tabel ce vor
servi drept operanzi se vor încadra în parantczc*,:" ( " şi "]''
De exemplu, în tabelul "Modele" există cîmpurile "Preţul fixat de uzinâ",
"Cheltuielele de transport", " Pregâtirea vinzare' Dscs pretul minim de vînzare ar fi
suma acestor trei cîmpuri:
Preţul de vinzare : [Preţul fixat de uzinăj + [Cheltuidde de transport] +
[Pregătirea pentru vinzare] .
Dacă expresia ce defineşte valorile cîmpului calculat contme JE operand ce nu este
constantă şi nici cîmp real, atunci Access 97 S mterpretează ca parametm şi afişează
o fereastră care va reccpu valoarea. In cazul mai multor parametri are sens definirea
unei liste <te parametri cu tipul respectiv (Query/Parameters).
De exemplu, tabelul "Modele" are un cîmp "Modelul" Putar insera un criteriu -
"Ford" pentru acest cîmp. Atunci vor fi afişaîi toate modelele "Ford". Dacă am dori să
afişăm modelele "AudF ar f, trebuit să modificăm cererea înlocuind "Ford" cu "Audi".
Dacă utilizăm un parametru, de exemplu, "Automobilul", atuncs b lansarea cererii se
va cere valoarea pentru cîmpul Automobtlri deoarece astfel de cîmp in tabel nu există.
întroducînd valoarea potrivită, putem obtine în cadrul aceleaşi cereri afişarea diferrtor
tipta-de automobile-

IV. Interogări de totalizare.


Pentru a obtine o interogare de totalizare se procedeazâ ca •• cazul unei cereri de
selecţie. După ce se instaleză cîmpuriie pe grh cererii, se apasâ pe butonul de pe bara
de instrumente marcat " sau se antrenează meniul Edit/Total). Ca rfezultat în cadrul
enie. ^
aasoează un rînd - Total. Clic în caseta de text din acest rînd TTO” oacă apariţia
unei liste expandabile de oppuni:
• Count - serveşte )a numărarea înregistrărilor care au valori în ,
acestcîmp;
• Smn - serveşte la calcularea sumei valorilor din cîmpul respectiv;
? • Avg - calculează media aritimetică din acest cîmp;
• Min sau Max - afişează valoarea minimală sau maximală din acest cîmp;
• First sau Last - extrage prima sau ultima înregistrare care are valori in acest
cîmp;
• Var - calculează variaţia valorilor din acest cîmp;
• Where - este folosită pentru a folosi cîmpul în criteriile de selecţie fâră afişare.
Un loc aparte în aceastâ listă îl ocupă Group By. Opţiunea Group By
grupează după cîmpul în care sunt inserate înregistrările. Adicâ toate
înregistrările care au aceaşi valoare în acest cîmp vor fi tratate ca o sigură
inregistrare.
Dc exemplu, tragem pe grilă cîmpurile "Modelul" şi "Preţul fixJl de uzinâ".
Definim pentru prinnil cîmp în rîndul Total Group B^ lar în cîmpul al doilea
Count. Cererea de totalizare va afişa pentru fkcare nume de model numărul
înregistrărilor care contin în acest cimp acelaşi nume de model.
Pot exista grupări în grupări etc.De exemplu, tragem pe grilă ampurile
"Numele clientului", "Modelul" şi "Preţul fîxat de •ziiii". Definim pentru primele
două cîmpuri Group By, iar pentru dmpul al treiîea - Count. Cererea de
totalizare va afişa pentru ficare client număml de modele de fiecare tip
comandate de el.
In ceea ce priveşte cererile de totalizare care nu contin Group By în
coloanele grilei de definipe, apoi ele generează numai un singur rsid cu
rezultatele de totalizare: Sum, Max, Min, Avg, etc. Tehnica saci e simplă:
inserăm opţiunea necesară în coloana valorile careia iirmează să fie sumate etc.
V. Interogârile acţiune. Interogarea de tipul tabel încrucişat.
Interogarea Tabel încrucişat ( Crosstab ) are nevoie de trei ompuri. Un
cîmp este destinat fumizării titlurilor de rînduri iar altul serveşte ca sursâ pentru
titlurile coloanelor. Al treilea cîmp va fimiiza lalorile din punctele de intersecţie ale
rîndurilor şi coloanclor. Trebuie
de remarcat, că cîmpurile care fumizează titlnrile coloanelor şi rîndurilor tabelului
încmcişat trebuie să aibâ un număr limitat de valori diferite. In caz contiar, tabelul ar
degenera.
Proiectarea unui tabel încrucişat se începe cii proiectarea unei cereri de totalizare,
apoi sc antrenează meniul Query/Crosstab. Ca rezultat, pe grila ferestrei Crosstab
Query se inserează rmdul Crosstab. Acest rînd este plasat maijosde rîndul Total. La
plasarea cursorului in caseta de text din acest rînd se deschide o listă expandabilă cu
valorile:
• Row Heading pentm coloana ce va fumiza titlurile rîndurilor tabelului încmcişat;
• Column Heading, pentm colona ce va fiimiza titlurile coloanelor tabelululi incrucişat;
• Value, pentru coloana ce va fumiza valorile în puiictele de intersecţie ale coloanelor şi
rîndurilor tabelului încrucişat.
In contmuare selectăm una din valorile de mai sus pentm coloanele de pe grilă.
Trebuie de remarcat câ m prealabil trebuie de tras pe grilă acele cîmpuri din tabelul
sursă, care vor fiimiza titlurile pentru coloane şi rînduri şi valori pentru punctele de
intersecţie (în total trei).
în rîndul Total de pe grilă trebuie de inserat opţiunile Group By pcntru cîmpurile
coloanelor si rîndurilor, iar pentru valorile punctelor de intersecţie una din opţiunile Min,
Max, Sum etc. ce diferă dc Group By.
După amplasarea acestor trei cîmpuri şi setarea coloanelor de pe grilă cu valori
corespunzătoare se poate salva cererea. Dupâ salvare cerera se afişează cu butonul
Open din ferastra BD ori cu ajutorul memulm Query/Run.
De exemplu, pentru a crea un tabel încrucişat pe baza tabelului "Modele" procedăm
astfel:
1. creăm o cerere de totalizare;
2. amplasăm cîmpurile "ModeluF, "Culoarea", "Preţul fixat de uzină" în primile trei
coloane de pe grilă;
3. activăm meniul Query/Crosstab;
4. efectuâm următoarele setări: rîndul Total - Group BY pentru cîmpurile întîi şi doi,
Min pentru cîmpul al treilea.
5. rîndul Crosstab - Row Heading şi Column Heading pentru primile două cîmpuri
respectiv, Value pentru cîmpul al treilea;

26
Dopăaceasta cererea se salvează şi se afişeazâ. lnterosSrile acţiune nu afişează
înregistrările ca m cazul cererelor ac sckcţie, ci execută anumite operaţii asupra
tabelelor BD.
Interogarea Delete şterge seturi de înregistrări din tabele , care <.MKtac anumitor
criterii.
Pentru a crea o cerere Delete se crează o cerere de selectare, apoi K artrenează
meniul Query/Delete Query. Pe grila se inserează un
-hd Ddete. Dacă facem clic în rîndul Delete apare o casetâ-listă cu ioua posibilităţi:
From şi Where. From indică coloana, în care va fi
-•te^rat numele tabelului (rîndul Table) şi cîmpurile lui (rîndul Field) im care vor fi şterse
înregistrănle. Where defineşte cîmpurile hîregistrârilor ce vor fi verificate cînd se va
efectua ştergerea . Cntenile de verificare vor fi scrise în rîndul Criteria din coloana
rîspectivâ a cîmpului. Amplasarea în coloana From se face printr-un 'DC" pe astericul
("*") din lista cîmpurilor tabelului în care se face ştCTgerea. Cîmpurile din coloanele
Where se amplasează în mod ?bi?nurt ("DC" pe numele cîmpului dm listă).
De exemplu, pentru a şterge înregistrările cu codurile 1 şi .6 din îabelul "Clienţi"
(codul se află în cîmpul "codc") trebuie să mstalam pe gnlă unnătoarea informaţie:
Field : client.* fcodc
Table : client :lient
Delete : from where ...
Criteria : 1
or 6 Ştergcrea se va efectua la lansarea interogării.
(Query/Run ).
Cererea de actiune Append To adaugă noi înregistrări la un tabel dintr-un alt tabel
sau din acelaşi tabel. Pentru a crea interogarea antrenăm meniul Query/Append
Query. Pe grilă se instalează un rînd Append To în care se inserează cîmpurile din
tabelul destinaţie ce pnmesc valorile. Rîndurile Field şi Table conţin cîmpurile
tabelului ?uisâ. adică tabelul care fumizeazâ valorile. Rîndul Criteria serveşte pentm
selectarea înregistrărilr dintabelul sursă.
De exemplu, pentru a adăuga o înregistrare sau mai multe la tabclul "Tranzacţii"
facem următoarele:
• creăm o cerere de selectare (butonul New din BD);

'n
• instalăm tabelele sursă: "Clienţii" şi "Modele" (QueryVShow Table, dacă închideţi
fereastra Show Table );
• antrenăm meniul Query/Append Query ( pe grilă apare un rînd nou Append To);
• pe grilă instalăm unnătoarea informaţie:
Field : codc codm Table : client modele Sort :
-
Append To : codc codm Criteria : 1 2
în rezuftat în tabelul "Tranzacţii" va fi adăugată o înregistrare, care contine în cîmpul
codc codul 1, iar în cîmpul codm codul 2 al clientului şi modelului respectiv din tabclele
"Clienţii" şi "Modele". Codc şi codm sunt cîmpuri ce aparţin tabelului "Tranzacţii".
Faptui acesta poate fi controlat printr-un clic în rîndul Append To, unde ?e afişează o
listă a cîmpurilor tabelului "Tranzacţii". Prin selectarea potrivită putem schimba
cîmpurile din acest rînd.
Absolut în acclaşi mod acţionează o altă cerere acţiune - Update.
Cererea permite modificarea conţinutului cîmpurilor unui tabel (cerere).
Crearea cererii se face ca şi în cazul cererii Delele, numai câ în acest caz se
antrenează meniul Query/Update Query. Pe grilă se trag cîmpurile tabelului(cererii) ce
urmează să fie modificate.
De exemplu, pentm a modifica conţinutul cîmpului "Numele'' al tabelului "CIienţii"
procedăm astfel:
• creăm o cerere de selectare (butonul New din fereastra BD);
• instalăm tabelele cîmpurile cărora urmeazâ să fie modificate (Query/Show Table );
• antrenăm meniul Query/Update Query (pe grilă apare un rind nou Update To);
• tragem pe grilâ cîmpul "Numele", iar în rîndul Update To -"Ciobanu";
" în rîndul Criteria inserăm "Şontea". Grila va avea unnătorul
aspect:
Field : numele Table : clienţii Update To :
"Ciobanu" Criteria : "Şontea" or
Salvăm cererea ca de obicei. în urma executării cererii continutul cîmpului
"Numele" ("Şontea ") va fi înlocuit cu un nou oontinut ("Ciobanu"). Natural, pe grilă pot
fi trase şi alte cîmpuri din unul şi acelaşi tabel sau din alte tabele şi interogâri.
Ultima interogare - acţiune, care este frecvent folosită este interogarea Make -
Table. Această interogare creazâ un tabel din cimpurile trase pe grilă din
tabelul(cererea) sursă, aflat în zona operabilă a ferestrei Select - Query.
Proiectarea unei astfel de cereri este identică cu proiectarea altor cereri-acţiune.
Se antrenează meniul Query/Make-Table Query. Ca rezultat apare fereastra Make-
Table în care introducem parametrii:
• numele fişierului (în caseta Table Name);
• numele altei BD, dacă tabelul nu se crează în baza curentă
(Current Database). Interogarea se salvează, iar apoi se execută ori de cîte ori
este necesar.
Sarcinâ.
1 Proiectati o cerere selectivă care ar afişa clienţii şi modelele comandate de ei,
precum şi data comenzii, data livrării, preţui de vînzare.
2 Formataţi cererea proiectatâ în p.l schimbînd : fontul, dimensiunea fontului, stilul
caracterelor, culoarea fiindalului ete.
3 Proiectaţi o cerere, care ar afişa atît modelele comandate de clienţi (cu numele
clientului şi cu datele referitoare la tranzacţie ) cît şi modelelc nesolicitate de
cumpârători.
4 Adâugaţi la cererea proiectată în p.l un cîmp, care ar pennite afişarea pretului min de
vînzare egal cu suma cîmpurilor: "Preţul fîxat de uzină", "Cheltuielele de
transport", "Pregătirea vinzare".
5. Să se afişeze cel mai scump model propus de firmă clienţilor şi caracteristicile lui.
6. Să se afişeze toate modelele, care au capitonarea din piele şi sunt mai ieftine de 10
000 $.
7. Să se caJculeze preţul mediu al modelelor "Ford" cu 2 uşi şi cu 4 uşi.
8. Sâ se calculeze numărul clienţilor, comenzile cărora au fost satisfâcute.
9. Să se determine volumul vînzarilor pentru fiecare lună. Să se dctermine luna cu
volumul max al vînzărilor.
10. Să se proicteze o cerere încrucişată care ar afişa preţul mediu al modelelor cu 2 uşi
şi cu 4 uşi în dependenţă de capitonarea salonului.
11. Să se proiecteze o cerere de ştergere a tranzacţiilor care au fost executate(îndep
linite).
12. Să se proiecteze o cerere de adăugare la tabelul "Trazacţii" a unui grup de
înregistrări, dacă se ştiu clienpi ce le-au comandat.
13. Să se proiecteze o cerere care ar schimba preturile modeletor "Ford" şi "Audi".
14. Să se creeze o cerere, care ar crea un nou tabel în baza de date curentă, ce ar
conţine următoarele cîmpuri: "Numple clientului", "Numele modelului", "Data
livrării" şi "Preţul de vînzare" şi ar alege numai tranzacţiile ce au fost executate.
15. închideţiBD.
16. Icşiţi din Access 97.
Lucrarea de laborator nr.5. (8 ore)
Tcma: Formulare: proiectarea, amplasarea şi legarea cîmpurilor,
fbrmatarea. Subformulare.
Scopol: însuşirea tehnicilor de proiectare şi utilizare a fortnularelor.

1. Crearea, salvarea formularului şi amplasarea cîmpurilor.


Fonnularul este un obiect al BD, care asigură o metodă avansatâ de vizionare,
niodificare şi mtroducere a datelor.
Avantajele oferite de formular în menajarea datelor se reduc la următoarele:
• introducerea datelor în cîteva tabele simultan;
• existenţa a două moduri de afişare a mformatiei; modul Single Forin - cîte o
înregistrare de fiecare dată şi modul Continuos Form - mai multe înregistrâri deodată;
• posibilitatea formatârii (schimbârii dimensiunii, culorii, fontului) separate a fiecărui
cîmp al mregistrârii precum şi a formularului în întregime;
• posibilitatea utilizării subformularelor - structuri ierarhice de fonnulare.
Trebuie de remarcat că ultimile două modalităti sunt accesibile numai prin
mtermediul formularelor.
Pentru a crea un formular trebuie de efectuat unnătoarele:
1. în fereastra Database selectâm eticheta Form;
2. Apăsăm butonul New;
La acţionarea butonului New apare o fereastrâ New Form. Această fereastrâ
conţine o listă de regimuri de proiectare a fonnularelor:
• Design View pentru proiectarea naanuală a fonnularului;
• Form Wizard pentru proiectarea asistatâ a formularului;
• AutoForm Columnar pentru proiectarea unui formular, în care cîmpurile tabelului
(toate) sunt amplasate într-o coloană;
• AutoForm Tabular pentru proiectarea unui fonnular, în care cîmpurile (toate) sunt
amplasate într-un rînd;
• AutoForm Datasheet pentm proiectarea unui formular, care se aseamănă cu modul
Datasheet de afişare a înregistrărilor unui tabel;
• Chart Wizard şi Pivot Table Wizard sunt destinate proiectârii
diagramelor şi tabelelor de tip Excel 7.0.
In aceiaşi fereastră e situată o listă expandabilă ( Combo List) care serveşte la
legarea formularului proiectat la o sursă de informaţie în calitate de sursă de infbnnaţie
poate servi un tabel sau o interogare (cerere).
Deci, legarea mai multor tabele se realizează prin intermediul unei cereri bazate pe
mai multe tabele. Alegerea din aceastâ listă se face în mod obişnuit, adică prin
expandare şi selecţie. Legarea formularului de sursa de infonnaţie este neobligatorie.
Un formular fărâ sursă de infbrmaue poate fi folosit în calitate de casetă de dialog, de
cxemplu. în continuare vom cerceta mai departe numai regimul de proiectare Design
View dat fiind caracterul universal al acestuia.
Deci, după alegerea regimului Design View şi după activarea butonului OK dm
fereastra New Form nimerim în regimul de proiectare manual asigurat de fereastra
Form.
Fereastra conţine următoarele elemente:
• barele de derulare: pe verticală şi pe orizontală;
• două riglete, care dimensionează formulanil similare rigletelor dm Word 97;
• zona de lucru, care iniţial este reprezentată printr-o portiune a ferestrei împărtită în
patrate (grilă). Tragerea de marginea zonei duce la mărirea (micşorarea) spatiului
lucrativ;
• bara Detail, care denotă că obiectele din formular vor afişa fiecare înregistrare din
sursa de informaţie (tabel sau cerere);
• lista cîmpurilor, adică lista cîmpurilor din tabel sau din interogare care pot fi amplaste
în formular. Lista cîmpurilor este valabilă numai în cazul formularului legat de sursă.
Lista cîmpurilor poate fi amplasată cu ajutorul meniului View/Field List (în caz că ea
lipseşte);
• Trusa de instrumente, care este o barâ cu butuoane reprezentînd tipurile de obiecte
într-un formular. Aceste obiecte care pot fi amplasate în formular se numesc elemente
de control sau simplu controale. Dacă trusa este absentă ea poate fi amplasată cu
Dupâ asigurarea prezentei elementelor enumerate mai sus se poole trece la
amplasarea cîmpurilor.
Pentru amlasarea cîmpurilor procedăm astfcl:
î afişâm lista cîmpurilor (View/Field Llist);
2 tragem cîmpurile necesare în zona de lucm cu ajiitond mouse-ului. Se pot trage mai
multe cîmpuri simultan ( Shift+Clic, Ctrl+Clic, "DC" pe bara de titlu (toate cîinpurile)
a listei cîmpurilor);
Cîmpnl amplasat în zona de lucru este compus dm două ctemente: eticheta cu
dennmirea lnată din numele nativ al chnpLilui şi o casetâ de text carc va coiitine
informatia din înregistrârile tabelului S4u intcrogării legate,
Dupâ cc arn instalat cîmpurile necesare în zona de lucru a fofiniilarului pntem
salva acest fornuilar închizînd fereastra şi indicînd oumclc formularului în locul cetui
standard de Forml. Pentni a instala (activa) forniularul proiectat facem:
1 activâm meinul View/Database Objects/Forms. 1 "DC" pe numele formulanilui din
fereastra Database;sau sclectăm formulanil (clic), apoi activâm butonul Open.
Formulanil proiectat sc instalează în forma unei ferestre Windows. în interionil ferestrei
sunt amplasate cîmpurile tabelului sau mterogării reprezentate prin caseta de text (Text
Box ) şi etichete. hi interiorul ferestrei afişate pot fi şi barele de dei-ulare (verticală şi
ufizontalâ), dacâ cînipurile aniplasate nu pot n vizionate în spaţiui disponibil.
în partea de jos-stînga a ferestrei sunt situate butoanele de “tcrulare a mregistrărilor
şi o casetă de text, care contine numărul inrcgistrârii afişate. Prin plasarea cursonilui în
interiorul casetei se poate asigura modificarea numărului înregistrării şi, deci, implicit
ircccrea la afişarea înregistrâni cu numărul introdus.
Tot în această regiune este afişat numănil total de înregistrări. Caaţiiiutul casetelor
de text (adică cotinutul cîmpurilor legate •de accste casete) pot fi modificate m interion4
ferestrei formulanilui. Pentni aceasta se aplică un clic pe caseta vizată. Se instalează
în iiucnorul ei cursonil textual. Schimbarea ulterioară a conţinutului se fw de la
tastatură, aplicînd tastele de redactare în mod obişnuit.
Pcntru adăiigarea de noi înregistrări prin intenncdiul roriniilarului se poatc utiliza
butonnl cu "*" de pe bara de denilare a
înregistrărilor. în acest caz casetele afişate ale câmpurilor amplasatc nu conpn
informape şi se poate trece la introducerea datelor Infonnaha introdusă se
memorizează cu trecerea la o altă înregistrare Deplasarea de la o casetă de text la alta
în vederea modificăhi sau introducerii datelor se poate efectua de la tastatură cu
ajutorul tastei Tab (Shift+Tab). Saltul de la o casetă la alta se face prin apăsarea tastei
Tab. Activarea casetelor se face în ordinea în care au fost amplasate în formular. Deci,
poate exista o discrepantă între ordinea de amplasare si ordinea de selectare (activare)
a ca^etei.
II. Formatarea cîmpurilor unui formular.
Formatarea ( modificarea) formularului constă în definirea unor operapi asupra
cîmpurilor şi fundalului fonnularului în regimul Design View.
Sunt posibile următoarele grupuri de operath:
1. Deplasârile. Pentru a efectua deplasări de obiecte(cîmpuri) în cadrul fonnularului
procedăm astfel:
1. Selectăm cîmpul (grupul de cîmpuri) - clic pe cîmp (Shift+clic) şi apar mînerele
obiectului;
2. Pozitionăm mouse- ul astfel (pe cadru) ca cursoml să se transforme în mînă;
3. Tîrîm şi aruncăm cîmpul la locul dorit.
2. Stergerea. Pentro a şterge unul sau mai muKe cîmpuri se procedăm astfel:
1. Selectăm cînlpul (grupul de cîmpuri) - clic pe cîmp (Shift+clic) şi apar mînerele
obiectului.
2. Acţionăm tasta Del.
3. Adăugarea textului la formular. Pot fi adăugate tithiri, subtitluri, note explicative.
Toate aceste obiecte sunt numite generic -etichete. Pentm a adăuga obiectele
enumerate mai sus trebuie să trecem în regimul de proiectare ( butonul Design din
fereastra BD) a formularului, apoi procedăm astfel:
1. Instalăm trusa cu instruinente Toolbox (View/Toolbox);
2. Alegem din trusă butonul de text A;
3. Tragem în zona Details şi alegem poziţia unde va fi amplasat textul, eliberînd
butonul;
4. Introducem textul în caseta apărută;
5 Dacă este nevoie textul poate fi deplasat ca şi în cazul cîmpurilor
4. Modificarea marimii cîmpurilor si etichetelor. Pentru a modrfica dimensiunea
aichetelor şi cîmpurilor procedăm astfel:
1 Facem un dublu clic pe cîmp. Apar mînerele. Redimensionăm cîmpul tragînd de
mînere.
2 Acţionăm butonul Enter pentru a fixa noua dimensiune. Pentru etichete se face
acelaşi lucm.
5.Formatarea cîmpurilor si etichetelor.Instrumentele de fonnatare se află pe bara
de instrumente "Formating". Pentru a ;xecuta fonnatarea procedăm astfel:
î Selectăm cîmpul (eticheta). Dacă formatarea implică cîteva cîmpuri (etichete) atunci
selectăm tot grupul;
2 Apelăm la bara de instmmente "Formating". bara de formatare este asemănâtoare
barelor analogice din MS Excel î. MS Word. Ea permite: schimbarea fontului, alinierea,
colorarea sxtului, colorarea fimdalului obiectului, adăugarea chenarelor, adâugarea
efectelor speciale.
Pentru schimbarea fimdalului formularului procedăm astfel:
1 Selectâm fundalul formulamlui efectuînd un clic pe fundal;
2 Apelăm la bara de instrumente "Formating".
In încheiere trebuie de remarcat că prima listă expandabilă de pe -ara de instrumente
indică obiectul selectat. Cu alte cuvinte toate wraţiile lansate de pe bara "Formating"
vor viza obiectele selectate. 6.Deplasarea de la obiect la obiect. Deplasarea de la
obiect la :buxt într-un formuiar se face:
• Tastînd tasta Tab (după acele ceasomicului);
• Tastînd Shift+Tab (în ordine inversă).
Pot să apară probleme după rearanjarea cîmpurilor, în unna iqiîasârilor etc.,
deoarece cîmpurile (etichetele) păstreazâ ordinea 3-îcalâ de amplasare.
Peotru a redefini ordinea deplasării de la obiect la obiect se acaonează meniul
View/Tab Order. In rezultat apare fereastra Tab OrJer, în care rearanjarea se face prin
tragerea cîmpului cu mouse-ul.
Trd>uie de remarcat că ordinea deplasării de la un obiect la altul ievine esenpală în
regimul de afişare a formularului, cînd se cere J^roducerea datelor.
7. Zonele antetului si a subsolului. Pentm a vizualiza aceste zone trebuie de
activat meniul View/Page Header/Footer şi View/Form Header/Footer.
în regimul de proiectare în aceste zone poate fi introdusă informaţia care va fi afişată
la începutul formiilarului, la sfîrşitul formularului, sau la începutul ori sfîrşitul paginilor
foiTnulamlui atunci cînd fon-nulanil constă din mai multe pagini. Dimensiunea accstor
pagini poate fi ajustată prin deplasarea barelor respective în regimul de proiectare
Design a foriTiutarului.

III. Crearea unor obiecte speciale de introducere a datelor.


. Obiectele speciale numite controale aduc îmbunătăţiri considerabiie
formularului:
• Micşorează cantitatea de date care unnează să fie introdusâ;
• Micşorează probabilitatea apariţiei erorilor. Vom analiza cum pot fi instalate:
• Caseta listă - oferă o listă din care se face o alegere;
• Caseta combo - este o listă expandabilă;
• Caseta de opţiuni - oferă o listă de opţiuni din care se alege
nurnai una.
Pentru crearea controalelor se fblosesc inagicienii Wizard. Formulanil în care se
amplasează controalele trebuie să fie în regimul de proiectare Design.
Pentru a crea o listă expandabilă procedăm astfel:
1. Selectăm butonul Control Wizard (baghetă magică de pe tmsa de instrumente
Toolbox.
2. Executăm clic pe butoni]! List Box_sau List Combo.
3. Tragem în zona de lucru Details butonul selectat şi-1 anincăm în '
locul unde vrem instalarea controlului. Se declanşează
inagicianul Wizard.
De exemplu, pentru a completa tabelul "Tranzactii" este nevoie ca codm din acest
tabel să coincidă cu codm din tabelul "Modele" Este dificil să consuttăm concomitent
ambele tabele, deaceea este oportun să creăm uii formular legat cu tabelul
"Tranzacţii", iar pentru a consulta tabelul "Modele" amplasăm un control special
(Combo List sau tistă simplă). Pentru accasta declanşăm ffîagicianul (Wizard) cum a
fost scris mai sus.
Se alege la etapele magicianului:
36
• Y want the Combo Box to lookup ..
• Tabclul - "Modele"
• La întrebarea: Wich field contain...
• alegem : codin şi "Modele"
• Ajiistăm dimensuinile controlului
• La optiunca "Store that value... ' alcgcm cîmpul codin din
tabelul "Tranzacţii".
Trecerea 1a fiecare din ctapcle dc mai sns cste asigurată dc butonul Next.
întoarcerea la ctapa precedentă - dc butoiiul Back. Butonul Finish termină procesul de
dcfmire.
în mod analog poate f) generata şi cascta de optiuni.

IV. Subformulare.
în Access 97 im fonnular poare fi afişat în cadru) altui formular. Dacă între aceste
fonmilare este definită o rclatie de la unul la mai mulţi (1:m) atunci ultimul formular se
numcştc subfonnuiar, iar priinut formiilar poartă denumirea de formular principal..
De obicei, formularul principal sc afişează în modul Single Form. iar snbformularul
în modnl Datasheet.
Dacă este dcfinit 1111 subformular, atunci la afişarea unei inregistrări în foriniilarul
principal snnt afişate toate înregistrările lecate dc înregistrarca dată (relatia 1:m).
Pentni a crea un formular cu subformular sc procedează astfel:
• se crează fonnularul principal prin una din metodcle expuse mai sus $e se salvează
în baza de date;
• se crează forinularul, carc va jnca rolul de subformular şi, deasemenea, se salveazâ
în baza de date. Trebuie de remarcat că între tabelele legate de aceste formulare
trebuie să cxiste o relaţie 1:m;
• sc deschide fonnularul principal în regimul Design View şi se
trage numele subformulamlni din fereastra BD peste formularul
principal.
Trebuie de remarcat, că sistemul Access 97 controlează cîmpurile de legătură
dintre tabclele legate de formularele irnplicate în relaţia fonnular-subfonTtu lar
Există două proprietăţi ale siibforinulan.iliii care aşteaptă numele cimpului dc
legătură: LinkChildFields (pentru cîmpul dc legătură din
subformular) şi LinkMasterFields( pentru cîmpul de legâturâ din formularul principal).
Accste proprietăti pot fi vizualizate în cadrul afişării proprietăţilor formularului conform
uneia din metodelc expusc mai sus. Trebuie de spus că completarea valorilor acestor
proprităţi are loc în mod automat.
Incă o remarcă ţine de faptul că atunci cîrid cste crcat SLibformularul nu trebuie să
fie inclus în lista cînipurilor (Field List) cîmpul dc legătură, deoarece el există de acum
în forrnularul principal.
în cazul cînd subfonnularul este corect proiectat el aparc sub forma nnui dreptunghi
alb în fonwilaml principal. Fonmilaml principal trebuie să fic în modul Design View.
Dreptunghiul apămt poate fi redemensionat, selectat, ştrers. Deci, el se inanifestă ca un
control obişnuit.
Cu aceasta se tennină proiectarea subformulanilui.
Afişarea formularuhn care contine subfbrmiilar se face în mod obişnuit. In rezultat se
obtine afişarea în cadrul unui fonTiular a unui aU formular, legat de formulanil dat prin
relaţia 1 :m.
în încheire trebuie de remarcat unnătorul lucru: formularul care a servit drept
protoformular pentru siibfomiular rămîne în BD. El nu trebui şters, dcoarecc aceasta ar
duce la ştergerea subformulan.ilui, Deci, practic în formularul principal există doar o
rcferintă la formularul care e luat drept subformular.
-^
Sarcină.
1. Să se creeze un formular care ar afişa preţul maximal al automobilelor vîndute,
gmpate după modele.
2. Sa se calculeze într-un fonnular sunia obtinutn în urma vînzării auto Audi cu 4 uşi,
culoare neagră în primul scmestru.
3. In cadrul unui formular să se afişeze difcrenta maximală dintre pretul de uzină şi
preţul de comercializare a automobilelor vîndute de mărcilc Ford şi Audi.
4. Să se creeze un formular care ar afişa modele cumpărate de fiecare client şi suma
încasată de pe urrria vînzării pentni fiecare trimestru precum şi suma totală.
5. Să se crecze un formular carc ar afişa în subsol modelul cu cele
IYI"”I fM'ari /"•n^ltii if-"”n rlf” -i/m'yirfs ci r'n r'fl iiTai tmrp nroi tr^tii
<”- Să se amplascze într-un formular o listâ expandabilâ (Combo
List) carc ar servi la întroducerea culorilor modelclor de
automobile. 7 Să se amplaseze într-un formular un gnip de butoane de
optiuni(0ption Groop) care ar introduce valonle "automată" şi
"manuală" pentru cîmpul "cutia de transmisie" din tabelul
"Modele". ît Să sc crcuzc 1111 formnlar cu siibformiilar care ar afişa
automobilele vîndute, gnipate pe modlele.
Lucrare de laburator nr.6.

Tenia: Prelucrarea şi reprezentarea datelor cu ajutorul


rapoartelor. Scopul: Studierea tehnicilor de lucru şi obţinere deprinderilor
practice pentru elaborarea rapoartelor în SGBD
ACCESS.
Un raport este u rcprczentare a datelor atiţată la monitor, irnprimantă sau într-iin
fişier.
In raport pot fi efccluate calculc, este posibilă gniparca şi sortarea datclor, oblinerea
totalurilor şi a siibtotalurilor pentrii griipdc du datc cruatu.
Inainte de a purccde la crearea unni raport este de dorit să vâ fixati răspuns la
urmâtoarele întrebări:
• Care este scopul crcăi ii raportiiliii?
• Ce infblTnatie şi din care tabele ale bazei dc date va. fi rcprezetitată în raport?
• Care va fi fonna de reprezentare a datelor în raport?
• Va fi în raport o gnipare de datc?
Răspunsurile clare date la aceste întrebări vă vor pennite să crcad 1111 raport
corect care va îndestula cerintele dumneavoastră.
Răspunsul la prima întrebaru va preciza scopul creării raportukii. Răspunsiil la a
dona întrebare vâ pennite să alegeli corect un tabel sau o interogare pe baza cărei vcli
crea laportrul. Răspunsul la cea de-a trcia întrebarc vă pcnnite să afişati raportul într-o
forma mai clară şi sub un aspect inai plăcut. Tot din acest răspuns va fi clar dacâ datelc
vor fi gnipate şi dacă va ti necesară calcularea subtotalurilor pe gmpe şi a totalurilor.

0 metodă simplă de creare a raportului.


In caz că este ncccsar să crcati iin raport ce afişează valorilc tiituror înscrierilor într-
o coloanâ (valorile fiind precedate dc nnmcli;
câinpurilor), veti proccdaîn felul unnător:
1. Deschidcli fercastra bazei de date.
2. Sclectati nn tabel sau o o intorogarc pentn.i care doriti sâ
obtincd acest raport. 3 In iiieiiiul lnsert selectati AutoReport.
40
Dupâ o perioadă scurtă pe monitor va fi afişat un raport cu ..aacteristicele
descrise mai sus. Salvati raportul obtinut.
Dacă doriţi să schimbati aspectxil raportului vă deplasaţi pe ^aeiiKi Report din
fereastra Database şi acţionaţi butonul Design. Va :- Afişat regimul de proiectare a
raportului. Puteti în antetul raportului
-.2 afişati denumirea lui, deasemenea îl pirteti formata pentru a-i inibunâtâti
aspectul (Formatarea raportuhii se face la fel ca şi 'wniatarea formularelor).
L'n raport similar puteţi sâ obţineţi şi în regimul de proiectare a
-.iportului. Pentm aceasta:
in fereastra bazei de date activaţi pagina Report apoi:
1 Acţionaţi butonul New.
2 In fereastra NewReport selectaţi regimul DesignView.
3 Din iista derulantă selectap tabelul sau interogarea pe baza cărei dorip să creati
raportul şi actionaţi Ok.
4 Dacă lista câmpurilor tabelului (interogării) nu cste afişată actionati butonul FieldList
din bara instrumentelor standard.
5 Efectuaţi dublu clic pe listă pentru a selecta toate câmpurile şi cu
un drag le deplasaţi în zona Detail a ferestrei de proiectare. •' Formatati raportul
obtinut şi salvati-1.
Alte metode de creare a rapoartelor.
Dacă este afişată fereastra NewReport observaţi, că sunt oferite ioaă metode de
creare a rapoartelor nestandarde: metoda de proiectare Tui&ială (DesignView) şi
metoda creării rapoartelor folosind \ râJrtorul de rapoarte" (ReportWizard), precum şi
câteva optiuni de ^-îare a rapoartelor de tip standard:
AntoReportColumnar (Raport într-o singură coloană)
AutoReportTabular (Tabelar)
Chart Wizard (Crearea diagramelor)
Label Wizard (Crearea etichetelor poştale)
Crearea unui raport In regimul Report Wizard. Crearea raportului în regimul
Report Wizard o vom demonstra :f-iBtr-an exemplu concret. Dupâ cum s-a
menponat mai sus trebuie să
-t. fixăm răspunsuri la un şir de întrebări pentru a obpne un raport
-iJTCCt-

41
1. Care este scopul creării raportului? Obpnerea infbrmaţiei pentru fiecare localitate în
parte, despre modelele comandate, pretul lor şi reduceri. Deasemenea pentru pentru
fiecare localitate să fic afişată suma banilor încasati de la vânzări şi reduceri
maximale de preţ.
2. Pentru crearea acestui raport din tabelele "Registrul Clientilor" şi "Catalog de
automobile" vom obţine o interogare ce va conţine următoarelc câmpuri:
• Localitatea (Registrul Clienţilor)
• ModeI(Catalog de automobile)
• Preţ (Câmp calculat) =[Preţ]+[Chelt de transpHPreg. pentm vânzare]
• Reduceri (Catalog de automobile)
3. In raport va fi o grupare de date după câmpul Localitate cu totalizâri de tipul Sum
pentru câmpul calculat Preţ şi de tipul Max pentru câmpul Reduceri.
4. Datele vor fi reprezentate sub formă de tabel cu coloanele:
Localitatea Model Preţ Reduceri
Acum veti purcede la crearea raportului. Pentru aceasta:
1. Obţineţi o interogare cu câmpurile fixate în punctul 2 şi salvaţi-o
2. în fcreastra Database actionati pe Report, ăpoi butonul de comandă New.
3. în fereastra NewReport selectaţi opţiunea ReportWizard, în caseta derulantă
selectaţi interogarea creată pentru obtinerea raportului, apoi acţionaţi butonul de
comandă Ok.
4. în fereastra ReportWizard din domeniul Available Fields treceti câmpurile ce vor
participa în raport în domeniul Selected Fields şi acţionaţi butonul de comandă Next.
5. In fereastra apărutâ veţi fixa câmpul după care se va efectua gruparea informatiei
(transferaţi câmpul Localitatea în domeniul din dreapta) şi acţionap Next.
6. La acest pas fixaţi câmpurile dupa care se va sorta informaţia m fiecare grupă (fixaţi
sortatrea după câmpul model). Actionând butonul Summary Options veţi fixa
totalurile care se vor afişa pentm fiecare grupă şi tipul lor. Pentru câmpul Preţ veţi fixa
fimcţia Sum, pentru Reduceri veţi fixa fancţia Max (Totalurile în ReportWizard se pot
obţine numai pentm câmpurile

42
numerice). După selectarea opnunilor de totahzare acţionap Ok,
apoi butonul Next. ~ La acest pas fixati tipul de reprezentare a raportului şi
orientarea
pe pagină, apoi acţionaţi butonul Next. 8- Fixaţi stilul de reprezentare a raportului
selectând unul din lista
propusă, apoi Next. 9. Inserati denumirea raportului creat şi modul de vizualizare,
apoi
acţionaţi butonul Finish.
Raportul este creat. Cercetati raportul obpnut. Răsfoiţi paginile raportului şi luaţi
aminte de aranjarea informapei în raport. Treceţi în regimul de proiectare şi modificare
a raportului (DesignView) şi analizaţi modul cum este proiectat raportul obtinut, pentm
a înţelege cum se aranjează controalele în raport.

Proiectarea rapoartelor în regimul DesignView.


Pentru deschiderea fereastrei de proiectare a rapoartelor ^ om urma Database /
Report / New / DesignView.
0 variantă a ferestrei de proiectare a raportului poate conţine iinnâtoarele domenii:
• Antetul raportului - este ataşat la începutul raportului
• Antetnl de pagină - este situat la începutul fiecărei pagini şi după antetul raportului
• Antetul de gmpă - este situat maintea primei însrieri a fiecârei grupe
• Domeniul de date - reflectă fiecare înscriere din raport
• Subsolul de grupă - este situat după domeniul de date a ultimei înscrieri din fiecare
grupă
• Subsolul de pagină - este situat în partea de jos a fiecărei grupe
• Subsolul raportului - este situat la sfârşrtol raportului
Prczenţa domeniilor de mai sus nu este obligatorie în toate irapoanele Vom
deschide acele domenii care ne sunt necesare pentru
-aportul concret.
Fie, că trebuie să proiectăm un raport, care vâ contine următoarea
^îJnnaţie:
LocaJitatea. Modelul, Numele, Prenumele, Data comenzii. Infonnaţia unnând a fi
afişată pentm fiecare localitate în parte cu
-;..:^hin. care ne-ar indica pentm fiecare model în parte numârul de
43
antomobile comandate în fiecare localitate, apoi la sfârşit să fie indicat numărul de
automobile comandate pe întreaga ţară.
Pentru a realiza acest raport creaţi o cerere ce va conţine câmpurile:
Localitatea, Model, Nume, Prenume, Data comenzii şi salvaţi-o. După aceasta:
1. în fereastra Database deschideti pagina Report, acţionati butonul New, iar în
fereastra NewDatabase selectaţi regimul DesignView şi selectaţi cererea pentru
crearea raportului
2. în meniul View activap PageHeader/Footer şi ReportHeader/Footer
(subsolurile de pagină şi raport).
3. în antetul raportuhu inseraţi o casetă textuală, unde veţi scrie denumirea raportului,
iar din meniul Insert acţionând comanda Date and Time fixaţi data şi timpul creării
acestui raport.
4. In subsolul de pagină fixati numerotarea paginilor (Meniul Insert comanda
PageNumbers).
5. In antetul de pagină afişati în casete textuale denumirile coloanelor raportului:
' Localitatea Modelul Numele Prenumele Data comenzii Yom efectua gruparea după
câmpurile Localitatea şi Model. Pentru aceasta în meniul View. acponap comanda
Sorting and Grouping. în fereastra deschisă fixap câmpurile Localitatea ţi Model,
după care se va efectua gmparea şi opţiunile de sortare (ascending, descending). Tot
aici fixaţi proprietâţile grupurilor:
• Group Header - afişarea antetului de grupă
• Group Footer - afişarea subsolului de gmpă
• Group On - opţiunile de grupare
• Group Interval - lungimea intervalului de grupare
• Keep Together - tipul aranjârii informaţiei din gmpă
1. în antetul grupei Localitatea plasaţi controlul Localitatea Eticheta o stergej-i.
2. în antetul grupei Model plasati controlul Model. Eticheta o gtergeţi.
3. InzonaDetail plasaţi controalcle
Nume Prenume Data comenzii (fâră etichete) 6. In subsolul grupei Localitatea
plasap două controale în care introduceţi câmpuii calculabile:
='Total pe'&[Localitatea]
=Count([Model]) în subsolul gnipci Localitatea plasali un control calcnlabil carc
••.a afişa totalul global. Scricti:
în ctichctă - 'Total pe ţară'
în control - =Coiint(|IVÎodel|) carc va afişa numănil dc modele cc'mandatc 7
Formatali raportul (Formatnrca sc facc la fcl ca şi formatarca
formularclor).
). Nunierotarea în.scrierilor în domeniul de date (Detail)
Puntn.i a niimcrota înscricrile în gnipă sau în întrcg raportul proccdati astfel:
Adăugaţi m domeniul dc datc un câmp nelcgat. 1 Dcschideli fercastra pcntn-i
fixarca proprictălilor accstui câmp.
Pe pagina Dat.i în zona Control Sourse întroduccli =•1
Pe pagina Data în zona Riinning Sum fixati opliunca dorită:
• Over Group - ninnerotatiaîn cadnit gnipci
• Over All - innnerotaţia în cadrul întrcgnlui raport

Construirea diagramelor
Pentru a putca face o analiză a datclor aflate într-un tabel dc "mltc ori estc comod dc
a le rcprczcnta în formă dc diagramă. In cazul constn.iirii diagramclor datele trebuie să
fic pregătite într-un mod ?pccial Este de dprit de a mărgini vokimul de informatie
oglindită în jiagramă, în caz contrar va fi greu de a o întclege.
Dacă datclc pentni diagramâ sunt prcgătite, adică aveli o
-n'crogare sau 11111 tabcl cc conlin acestc datc puteti crea diagrama. P-ntni accasta
trebuic să urmali următorii paşi:
i Selcctali foaia Report/Ncw/CliartWizard. Z AIegcţi tabeliil sau interogarea ce continc
datcle, apoi acţionali
butonul Ok. ? In fcrcastra de dialog apărută selectati câmpurilc carc conţin
informaţia pentru diagramă. Actionati butonul Next. 4 Indicati tipul
diagramei şi actionati butonul Next
•' In următoarea fcreastră avcli posibilitatea să determinati campurilcvalorilc căror vor
fi afişatc pe axelc dc coordonatc. Aceasta sc cfectucază trăgând dcinimirile
câmpurilor pc axelc dc coordonatc în domcniile cvidentiate. Tot aici acţionând
bntonul

4^
Preview Chart puteti vedea cum va arăta diagrama. Actionaţi Next. 6. Dati denumire
diagramei şi acţionati butonul Finiş

Pe ecran va apărea diagrama dorită.


Să construim aciun o diagrama pentru inforniatia din baza de date Auto:
1. Creaţi o interogare de totalizare cu unnatoarcle câmpuri:
Modelul,Banii incasaţi(la vânzărilc acestui model). Numiti interogarea "Pentru
diagramă".
2. Report/New/Chart Wizard
3. Selectati interogarea "Pentru diagramâ" şi actionati butonul Ok. 4' Urmati paşii 1-6
din descrierea de mai sus. 5. Treceţi în regimul Design şi fixati pozitia dorită a
diagramci obţirmte.

Sarcina.
1. Creaţi un raport într-o singură coloană folosind optiunea AutoReport: Columnar.
2. Creati un raport într-o singură coloană folosind optiunea DesignView.
3. Creaţi un raport tabelar folosind optiunea AutoReport: Tabular.
4. Creaţi un raport tabelar folosind opţiunea DesignWiew.
5. Creaţi un raport de gmpare şi totalizare folosind opliunea ReportWizard.
6. Creaţi un raport de gmpare şi totalizare folosind optiunea DesignWiew. Numerotati
înscrierile în cadnil fiecaui gnip.
7. Creaţi cîteva tipuri de diagrame folosind infonnalia din BD Auto cu optiunea Chart
Wizard.

Вам также может понравиться