OpenOffice.org oraz DBMS kontra
Access
Adam Krasuski
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Spis tre ci
1. Wst p ................................................................................................................................................3
2. Wprowadzenie..................................................................................................................................3
3. Instalacja oprogramowania...............................................................................................................3
3.1. Instalacja serwera baz danych...................................................................................................4
3.1.1. U ytkownicy Linuksa.......................................................................................................4
3.1.2. U ytkownicy Windows.....................................................................................................5
3.2. Instalacja rodowiska Javy.......................................................................................................5
3.2.1. U ytkownicy Linuksa.......................................................................................................5
3.2.2. U ytkownicy Windows.....................................................................................................5
3.3. Sprawdzanie poprawno ci instalacji Javy................................................................................6
3.4. Ustawianie Java dla OpenOffice.org........................................................................................6
3.5. Instalacja sterownika JDBC......................................................................................................7
4. Ustanawianie po cze do bazy danych...........................................................................................8
5. Projekt hurtowni warzywnej.............................................................................................................9
5.1. Tworzenie tabel.........................................................................................................................9
5.2. Wprowadzanie danych do tabel..............................................................................................11
5.2.1. Dodawanie i konfiguracja formularza.............................................................................11
5.2.2. Wstawianie i konfiguracja obiektów formularza............................................................13
5.2.3. Wprowadzanie i modyfikacja danych.............................................................................14
5.3. Wyszukiwanie danych oraz generowanie raportów...............................................................17
5.3.1. Tworzenie zestawie .......................................................................................................17
6. Podsumowanie................................................................................................................................20
2
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
1. Wst p
W dokumencie przedstawiono mo liwo ci wykorzystania pakietu OpenOffice.org oraz
serwera baz danych MySQL jako alternatywy dla MS Access. W przeciwie stwie do poprzednich
opracowa , które mo na znale
w Internecie, autor nie poprzesta tylko na opisie konfiguracji
po czenia OOo oraz MySQL. W opracowaniu mo na odnale
równie sposób tworzenia tabel,
wprowadzania, przegl dania oraz modyfikacji danych. Ca y interfejs do bazy danych oparty zosta
na formularzach. Umo liwia to jego wykorzystanie równie przez u ytkowników nie posiadaj cych
wiedzy w zakresie relacyjnych baz danych. Jako podstawa do opisu pos u y o wykonanie projektu
systemu zarz dzania hurtowni .
2. Wprowadzenie
Jedn z wad wymienianych na niekorzy
programu OpenOffice.org jest brak narz dzi do
obs ugi baz danych. Z opini t mo na si spotka przegl daj c ró nego rodzaju rankingi i
porównania zamieszczone na witrynach internetowych. U ytkownicy migruj cy do OOo z pakietu
MS Office doszukuj si oddzielnego modu u na wzór Accessa. Czego takiego w OOo nie ma, nie
znaczy to jednak, e jest on pozbawiony narz dzi do wspó pracy z bazami danych. Interakcja z
bazami danych zapewniona jest za pomoc obiektów formularza. Obiekty te mo na wstawi do
dokumentów tekstowych, arkuszy kalkulacyjnych oraz stron WWW.
Celem tego opisu jest pokazanie mo liwo ci funkcjonalnych pakietu OpenOffice.org jako
narz dzia do tworzenia, modyfikowania i nawigowania danymi. Jest to próba sprawdzenia czy
mo na zast pi popularnego Accessa OpenOfficem po c zonych z relacyjn baza danych. We
wcze niejszych wersjach OOo istnia y pewne trudno ci ze skonfigurowaniem po czenia z
serwerem baz danych. Wynika y one ze skomplikowanej konfiguracji w przypadku ODBC oraz
brak mo liwo ci edytowania bazy danych w przypadku JDBC. Przy tym ostatnim trzeba by o
uruchamia odpowiedni modu w którym wpisywa o si polecenia SQL lub korzysta z innego
interfejsu ni OOo. Takie rozwi zanie eliminowa o w zasadzie u ytkowników nie maj cych
podstaw pracy z DBMS-ami. Sytuacja ta uleg a poprawie po wprowadzeniu wersji 1.1. oraz po
ukazaniu si nowych sterowników do MySQL (MySQL przez swoj prostot jest chyba najcz c iej
wykorzystywanym serwerem baz danych).
Aby mo na by o porówna Accessa i OOo trzeba si te zna na tym pierwszym. Sam
osobi cie nie jestem specjalist od Accessa wi c poprosi em znajomych u ywaj cych od lat tego
programu i tworz cych w nim zaawansowane projekty (tu podzi kowania dla Marka Sa asi skiego)
o zaprezentowanie mi przyk adowego projektu wykonanego w Accessie który ja postaram si
wykona w OOo. Tworzenie tego projektu oraz jego pó niejsza obs uga opisana zosta a w
poni szym dokumencie.
3. Instalacja oprogramowania
rodowiskiem wykorzystanym do wykonania projektu by system operacyjny Linux PLD .
Dlatego te sposób instalacji oprogramowania przedstawiony zostanie zgodnie z t dystrybucj .
Przedstawiono równie skrócony opis instalacji i konfiguracji oprogramowania pod system
operacyjny Windows. Opis ten jest jednak zaczerpni ty ze r óde w internecie i nie do ko ca zosta
przeze mnie przetestowany. Wykorzystano równie w projekcie serwer baz danych MySQL. Nie
jest jednak obligatoryjne zastosowanie tego serwera. Mo na skorzysta z innego ot chocia by
równie popularnego PostgreSQL czy nawet serwerów komercyjnych. Elastyczno
w doborze
serwera jest zapewniona dzi ki wykorzystaniu interfejsu JDBC. Nie wiem jednak jak przebiega
wspó praca OOo z innymi serwerami.
3
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
3.1. Instalacja serwera baz danych
3.1.1. U ytkownicy Linuksa
Proces instalacji rozpoczniemy od zainstalowania serwera baz danych. W tym celu jako
u ytkownik root wpisujemy:
[root@mustek krasus]# poldek
a nast pnie instalujemy pakiety:
poldek> install mysql-3.23.53-1 mysql-client-3.23.53-1 mysql-
libs-3.23.53-1
Je eli posiadasz nowsze wersje pakietów ni te zamieszczone powy ej nic nie stoi na
przeszkodzie aby z nich skorzysta , sam korzysta em z wersji 4.0.
Po opuszczeniu poldka uruchamiamy skrypt inicjuj cy tabele uprawnie i dost pu w
MySQL
[root@mustek krasus]# /etc/rc.d/init.d/mysql init
a nast pnie uruchamiamy MySQL,
[root@mustek krasus]# /etc/rc.d/init.d/mysql start
Poprawno
instalacji mo na sprawdzi loguj c si do MySQL. Przed ustawieniem hase
dost pu do bazy danych wystarczy wpisa :
[root@mustek krasus]# mysql -u mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 4.0.13-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Tworzenie tabel i wprowadzanie do nich danych wykonywa b dziemy z poziomu OOo.
Jednak wymagane jest aby przed prób nawi zywania po czenia z OOo istnia a jaka baza danych
do której b dzie mo na si po czy . Dlatego teraz utworzymy przyk adow baz danych. Nie
wychodz c z MySQL wydajemy polecenie:
mysql>create database hurtownia;
Oraz nadamy u ytkownikowi krasus nieograniczone prawa w tej bazie.
mysql>grant all on hurtownia.* to krasus@localhost identified by
'secret'
mysql>grant all on hurtownia.* to krasus@127.0.0.1 identified by
'secret'
Mo emy ju wylogowa si z MySQL i kontynuowa instalacj oprogramowania.
4
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Je eli nast pi y jakie problemy z instalacj MySQL pomocy nale y szuka na stronie
www.mysql.com/documentation/index.html
. Ale równie czuj si nieskr powany pisz c
do mnie.
3.1.2. U ytkownicy Windows
Binarna wersja MySQL pod Windows zawiera kreatora instalacji który automatycznie
przeprowadzi proces instalacji. Po zako czeniu instalacji trzeba jeszcze utworzy przyk adow baz
danych. Jest to wymagane przez OOo aby po czenie wykonywa do istniej cej bazy. Nale y wi c
utworzy baz danych o przyk adowej nazwie hurtownia i nada do niej prawa dowolnie
wybranemu u ytkownikowi.
3.2. Instalacja r odowiska Javy
rodowisko Javy wymagane jest do uruchamiania programów Javy. Pliki konieczne do
instalacji mo na znale
na stronie firmy Sun. Sun, producent technologii Java
TM
udost pni pliki
instalacyjne pod adresem java.sun.com/j2se/1.4.2/download.html.
3.2.1. U ytkownicy Linuksa
Nale y pobra i zainstalowa nast puj ce lub nowsze wersje plików:
•
j2re-1_4_2-linux-i586-rpm.bin – r odowisko uruchomieniowe Javy;
•
j2sdk-1_4_2-linux-i586-rpm.bin – narz dzia developerskie.
Instalujemy rodowisko Javy wpisuj c kolejno:
[root@mustek your_download_dir]# ./j2re-1_4_2-linux-i586-rpm.bin
[root@mustek your_download_dir]# rpm -ihv j2re-1_4_2-linux-
i586.rpm
[root@mustek your_download_dir]# ./j2sdk-1_4_2-linux-i586-rpm.bin
[root@mustek your_download_dir]# rpm -ihv j2sdk-1_4_2-linux-
i586.rpm
Po instalacji nale y skonfigurowa r odowisko systemowe dodaj c zmienn
JAVA_HOME
oraz cie k do plików binarnych w pliku
$HOME/.bashrc lub globalnie w pliku /
etc/prifile.
export PATH=/usr/java/j2sdk1.4.2/bin:$PATH
export JAVA_HOME=/usr/java/j2sdk1.4.2
3.2.2. U ytkownicy Windows
Nale y zainstalowa pliki
j2re-1_4_2_02-windows-i586-p-iftw.exe
oraz
j2sdk-1_4_2_02-windows-i586-p-iftw.exe
lub nowsze. Po instalacji nale y jeszcze
ustawi zmienne rodowiskowe. W Windows 9x, ustawiamy zmienne systemowe przez
zmodyfikowanie pliku
autoexec.bat
, zlokalizowanym na dysku twardym w katalogu
g ównym. Plik ten jest wykonywany podczas startu systemu. Aby zmiany odnios y skutek, nale y
uruchomi ponownie system. Nale y otworzy plik
autoexec.bat
w edytorze tekstowym (u yj
5
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
prostego edytora, np. notepad) i doda cie k do katalogu /bin/ znajduj cego si w katalogu, gdzie
zainstalowa e JDK.
Np. je eli JDK zainstalowano w katalogu c:\jdk1.4\, nale y doda do pliku
autoexec.bat
linie:
set path=c:\jdk1.4\bin\
Trzeba by ostro nym aby nie zmieni wcze niejszych cie ek. Aby temu zapobiec dodaj
tak zdefiniowana cie k :
set path=%path%;c:\jdk1.4\bin\
W Windows NT, 2000 zmienn path nale y doda inaczej. Otwieramy Panel Sterowania
(Control Panel), System i pó niej wybieramy Environment Variabes, gdzie dodajemy nasze cie k i
do ju istniej cych zmiennej (Path), lub tworzymy nowe zmienne systemowe Path z naszymi
cie kami
1
3.3. Sprawdzanie poprawno ci instalacji Javy
W celu sprawdzenia poprawno ci zainstalowania komponentów Javy mo na napisa i
uruchomi krótki skrypt. W ulubionym edytorze tekstowym nale y wyedytowa plik Test.java
wed ug poni szego wzoru:
public class Test
{
public static void main(String[] args)
{
System.out.println("Hello world");
}
}
Nast pnie skompilowa go przy u yciu:
[prompt]$ javac Test.java
lub
C:\javac Test.java
Oraz uruchomi
[prompt]$ java Test
lub
C:\java Test
W wyniku uruchomienia programu na monitorze powinien si ukaza tekst “Hello world”.
W ten sposób mo na mie pewno , i instalacja przebieg a prawid owo.
3.4. Ustawianie Java dla OpenOffice.org
Je eli jeszcze nie zainstalowa e programu OpenOffice.org mo esz pomin
ten punkt.
Poniewa podczas instalacji instalator sam znajdzie twoje JRE i zapyta Ci tylko o potwierdzenie
ustawie . Natomiast je eli masz ju zainstalowany OOo musisz u y programu który pomo e Ci
ustawi rodowisko Javy. W tym celu przejd do katalogu w którym zosta zainstalowany program
1 Informacje zaczerpni te ze strony http://www.javasoft.pl/java/java_1.html
6
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
OpenOffice.org a nast pnie wybierz katalog program. Teraz uruchom skrypt
jvmsetup
wydaj c
komend :
[krasus@mustek program]$ ./jvmsetup
W windows wystarczy klikn dwa razy na ikonie pliku o nazwie jvmsetup.exe.
Po ukazaniu si okna dialogowego wska r cznie, klikaj c przycisk Szukaj katalog
j2sdk1.4.2.
U mnie znajduje si on w /usr/java/j2sdk.1.4.2. Zatwierd wybór naciskaj c OK. Je eli
OOo by uruchomiony nale y go zamkn i uruchomi ponownie aby zmiany odnios y skutek.
Rysunek 1. Okno ustawiania rodowiska javy w OpenOffice.org.
3.5. Instalacja sterownika JDBC
Sterownik JDBC zapewnia mo liwo
komunikowania si z baz danych. Instalacja jego
jest prosta co daje mu pewn przewag nad sterownikami ODBC. Ponadto zapewnia on mo liwo
wspó pracy programu OOo z wi ksz ilo ci baz danych, nawet komercyjnych.
Instalacja sterownika polega na pobraniu odpowiedniego pliku, rozpakowaniu oraz
ustawieniu zmiennych rodowiskowych. Najnowszy sterownik JDBC do MySQL mo na pobra ze
strony
www.mysql.com/products/connector-j/index.html
(nie mo e to by wersja ni sza ni 3.0.9
poniewa dzia anie jej jest wadliwe z OOo). Po pobraniu nale y rozpakowa plik
mysql-
connector-java-3.0.9-stable.tar.gz
lub
zip
. Najwa niejszy z rozpakowanych jest
plik
mysql-connector-java-3.0.9-stable-bin.jar
(jest to w a ciwy sterownik)
mo na go umie ci w dowolnym miejscu (katalogu) jednak ze wzgl dów porz dkowych utwórzmy
sobie katalog
/usr/java/drivers
a nast pnie przenie my tam ww. wymieniony plik. Nale y
równie wskaza OOo cie k dost pu do pliku sterownika. W tym celu uruchomiamy OOo i z
menu Narz dzia wybieramy Opcje a nast pnie rozwijamy g ówn list
OpenOffice.org i
zaznaczamy Bezpiecze stwo . W oknie tym przy zmiennej ClassPath naciskamy przycisk
Przegl daj celem wskazania cie k i sterownika. W oknie Wybierz Archiwa naciskamy Dodaj i
wskazujemy plik
mysql-connector-java-3.0.9-stable-bin.jar
. Zatwierdzamy
wybór i po ponownym uruchomieniu OOo mo emy ju nawi zywa po czenie z baz danych.
7
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Rysunek 2. Okna dialogowe ustawiania zmiennej ClassPath
4. Ustanawianie po c ze do bazy danych
Uruchamiamy OOo i wybieramy, Narz dzia -> ród a danych (lub naciskamy po prostu
przycisk F4). Nast pnie klikamy prawym przyciskiem myszki w dowolnym miejscu okna
eksploratora róde danych i wybieramy Administracja r óde danych. Naciskamy przycisk Nowe
r ód o danych i ustawiamy odpowiednio:
Zak adka Ogólne
Nazwa: hurtownia
Typ bazy danych: JDBC
URL ród a danych: bez zmian
Zak adka JDBC
Klasa sterownika JDBC:
com.mysql.jdbc.Driver
URL:
jdbc:mysql://localhost/hurtownia?useHostsInPrivileges=fal
se
Nazwa u ytkownika: nazwa u ytkownika zarejestrowanego w MySQL.
Wybieramy OK aby zatwierdzi ustawienia.
8
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
5. Projekt hurtowni warzywnej
Jako t o dla pokazania mo liwo ci pracy OOo z bazami danych pos u y hipotetyczna
hurtownia warzywna. Hurtownia ma podpisane umowy z dostawcami oraz z pewn grup klientów.
Zaprojektowany system ma posiada mo liwo
dodawania do bazy nowych dostawców i klientów.
Ca o
obrotu towarem opiera si na kontroli faktur. Schemat bazy danych zapewniaj cy tak
mo liwo
jest nast puj cy rys 3.
Rysunek 3. Schemat bazy danych hurtownia.
Tabela klienci przechowuje dane klientów zaopatruj cych si w naszej hurtowni, dostawcy
dane dostawców towaru, natomiast towary zawiera produkty które oferuje nasza hurtownia. Tabele
sprzedaz oraz dostawa odpowiadaj za kontrol ruchu w naszej firmie. Ze wzgl du na to, i celem
opisu nie jest stworzenie systemu obs ugi hurtowni a zapoznanie u ytkowników z
funkcjonowaniem OOo w po c zeniu z bazami danych, schemat tabel zosta bardzo uproszczony.
Jednak chyba ka dy po zrozumieniu idei, bez problemu rozbuduje sobie min. tabel dostawcy o
adres klienta, telefon itp. oraz dostosuje schemat tabel do w asnych potrzeb.
Je eli nie wiesz do czego potrzebna jest taka ilo
tabel oraz co oznaczaj strza ki
mi dzy nimi nie musisz si przejmowa . Sposób tworzenia prostej tabeli a pó niej
formularza który b dzie pobiera i modyfikowa dane mo esz pozna l edz c opis
zawarty w punktach od 5.1 do 5.2.3
5.1. Tworzenie tabel
Oczywi cie tabele utworzymy korzystaj c z programu OOo. W tym celu po jego
uruchomieniu wybieramy menu Widok -> ród a Danych albo po prostu naciskamy klawisz F4. Po
otwarciu menu w oknie eksploratora powinny ukaza si nasze r ód a danych. Je eli wszystko
wykonali my prawid owo powinno ich by co najmniej dwa: Bibliography oraz nasza hurtownia.
Klikamy na “plusik” obok hurtowni w celu rozwini cia jej struktury. Nast pnie rozwijamy struktur
tabel. W tym momencie program powinien zapyta nas o has o dost pu do bazy danych. Po
9
Nazwa_Towaru
ID_TOW
Tabela towary
Nazwa_Klienta
ID_KLI
Tabela klienci
Nazwa_Dostawcy
ID_DST
Tabela dostawcy
ID_ZAK NR_FAKT Data ID_DST ID_TOW Ilosc
Tabeal dostawy
ID_SP
NR_FAKT Data ID_KLI ID_TOW Ilosc
Tabela sprzedaz
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
wpisaniu has a powinny ukaza si nam tabele w bazie danych hurtownia. Oczywi cie nic si nie
poka e poniewa tabel tam jeszcze nie ma. Musimy dopiero je doda .
Rysunek 4. Okno eksploratora róde danych
W tym celu klikamy prawym przyciskiem na ga zi Tabele i z rozwini tego menu
wybieramy Nowy projekt tabeli. Otworzy nam si nowe okno projektu tabel. W rodku okna
znajduj si tabela z nazwami kolumn, w kolejno ci odpowiednio: Nazwa pola, Typ pola, Opis.
S u y ona do budowy tabel w bazie danych. Rozpoczniemy od konstrukcji tabeli klienci (w ka dej
firmie klient jest najwa niejszy). Klikamy w pierwszym wierszu kolumny Nazwa pola i wpisujemy
ID_KLI. W kolumnie obok wybieramy poprzez rozwini cie typ pola i wskazujemy Small Integer
[INT](jest to typ liczb ca kowitych). Na dole okna projektu tabel w obszarze W a ciwo ci pola
wybieramy Warto
automatyczna tak. Opis tej funkcji znajduje si w oknie obok. (Funkcja ta jest
odpowiednikiem “mysqlowego” auto_increment jednak z moich do wiadcze nie za bardzo dzia a
w wersji OOo 1.1. Je eli si myl ch tnie dowiem si jak nale y jej u ywa ). Pole ID_KLI jest wg
schematu (rys. 3) identyfikatorem warto ci tabeli klienci. Aby by o nim rzeczywi cie nale y
zadeklarowa go jako klucz g ówny tabeli. W tym celu klikamy prawym przyciskiem myszki w
lewym ko cu wiersza ID_KLI (na szarym polu) i wybieramy z menu Klucz g ówny.
Pierwsz kolumn tabeli klienci mamy ju zdefiniowan . Klikamy lewym przyciskiem
myszki w wierszu poni ej i wpisujemy nazw nast pnego pola. Odpowiednio: Nazwa_klienta typ
text [VARCHAR], Opis – dowolno , W a c iwo ci pola – dowolno . Pierwsza tabela jest w
zasadzie gotowa, trzeba jeszcze j zapisa . Wybieramy przycisk zapisz i nadajemy jej nazw
klienci.
10
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Rysunek 5. Definiowanie tabeli klienci przy wykorzystaniu Menu projekt tabeli
Pozosta e tabele wykonujemy analogicznie do tabeli klienci zgodnie z rysunkiem nr 3.
Pami taj c o tym aby typ pól zaczynaj cych si od ID... by liczbowy (INT), natomiast pola data,
tabel dostawa oraz sprzedaz zdefiniowane by y jako Date.
Wa c iwy projekt tabel powinien opiera si równie o klucze obce. Np. mi dzy
kolumn ID_KLI tabeli dostawcy a kolumn ID_KLI tabeli sprzedaz powinna zachodzi
integralno
referencyjna. Ustawienie tego z poziomu OOo nie jest mo liwe. Ponadto
warto równie w c zy opcj auto_increment we wszystkich kluczach g ównych aby
si nimi nie zajmowa , co równie nie jest mo liwe z poziomu OOo. Jest jeszcze kilka
innych innych szczegó ów które nale a o by zmieni aby projekt by prawidowy ale
pozostawiam to pod rozwag przysz ych projektantów.
5.2. Wprowadzanie danych do tabel
Skoro projekt tabel mamy ju wykonany nie pozostaje nam nic innego ni je wype ni
danymi. Do tego celu stworzymy sobie specjalny interfejs aby zwyk y u ytkownik OOo nie mia
wi kszych problemów z uzupe nieniem tabel.
5.2.1. Dodawanie i konfiguracja formularza
W celu uzyskania mi ego widoku naszego interfejsu wprowadzania danych, otwieramy
nowy dokument writera a w nim wpisujemy kilka g o nych nag ówków z nazw naszej firmy oraz
rodzajem modu u (modu zarz dzania kontaktami). Zmienimy sobie t o dokumentu na jaki adny
temat i piszemy na rodku klienci. Nasz modu dodawania i zarz dzania klientami b dzie bardzo
prosty poniewa mamy tylko jedno okno formularza, ale niech tam, klientów na pewno nam nie
zabraknie.
Jak wspomniano wcze niej praca z bazami danych w pakiecie OpenOffice.org opiera si
na formularzach. Rozpoczniemy od zdefiniowania formularza. Z menu prawej listwy okna
roboczego wybieramy przycisk Formanty formularza. Pojawi si okno Funkcje formularza.
11
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Rysunek 6. Menu Funkcje formularza.
Naciskamy w nim przycisk Nawigator formularza. W nowym oknie które si pojawi o
klikamy prawym przyciskiem myszki na przycisku formularze i z rozwini tego menu wybieramy
Nowy oraz Formularz. Nowoutworzonemu formularzowi mo na nada w asn nazw formularza
np. hurt_kli (to mi akurat przysz o teraz do g owy).
Rysunek 7. Okno nawigatora formularzy.
Po zmianie nazwy klikamy prawym przyciskiem myszki na hurt_kli i wybieramy
W a ciwo ci . Prze czamy na zak adk Dane i rozwijamy pole r ód o danych . Ustawiamy ród o
danych na hurtownia. Pozosta e pola zgodnie z rysunkiem poni ej (patrz rysunek nr 8). W trakcie
konfigurowania innych pól program zapyta nas o has o dost pu do bazy danych. Po zdefiniowaniu
pól zamykamy okno W a ciwo ci formularza.
Rysunek 8. Ustawienia pól formularza.
12
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
5.2.2. Wstawianie i konfiguracja obiektów formularza
Formularz posiada kilka typów pól. S to mi dzy innymi listy wyboru, pola tekstowe, pola
liczbowe itp. Elementy te s widoczne w oknie Formanty formularza. Mo na do nich dowi zywa
polecenia SQL wynik których wy wietlany jest pó niej w danym polu. Nie trzeba jednak wpisywa
r cznie polece SQL, t rol spe nia za nas AutoPilot. Uruchamia si on zazwyczaj po wstawieniu
danego obiektu do dokumentu. Z pomoc AutoPilota mo na atwo przyporz dkowa do pola dane
wyci gni te z bazy danych.
Po takim wst pie mo na przyst pi do wstawiania pól formularza do dokumentu. Z menu
Funkcje formularza (patrz rys. 6) wybieramy przycisk Pole kombi (pole to umo liwia zarówno
odczytywanie informacji jak i ich zapis w bazie danych) i przeci gamy po dokumencie aby
utworzy obiekt. Po przeci gni ciu otworzy si okno AutoPilota. Wewn trz niego lista tabel w
bazie danych hurtownia. Wybieramy tabel klienci i naciskamy Dalej. W nast pnym oknie
AutoPilot pyta si jakie pole ma by wy wietlane w obiekcie lista wyboru. Wybieramy
Nazwa_klienta i ponownie naciskamy Dalej. W kolejnym oknie AutoPilota definiujemy czy pole
ma s u y tylko do odczytu danych czy równie do zapisu. Wybieramy do zapisu i zaznaczmy
kolumn Nazwa_klienta. Poszczególne etapy tworzenia pola kombi pokazane s na oknach poni ej
(rys. 9).
Rysunek 9. Przypisywanie danych do obiektu Pole kombi.
13
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Na tym etapie mo emy ju rozpocz
wprowadzanie danych do tabeli klienci. Nale y
jeszcze wy czy tryb projektu w menu Funkcje formularza. A potem mo na ju odda si
przyjemno ci wprowadzania du ej liczby klientów. Strona któr ja wykona em jako modu
zarz dzania kontaktami wygl da nast puj co – rysunek 10.
Rysunek 10. Formularz do zarz dzania wpisami tabeli klienci.
5.2.3. Wprowadzanie i modyfikacja danych
Aby wprowadzi nazw nowego klienta do bazy nale y klikn
w polu formularza wpisa
nazw i zatwierdzi naciskaj c Enter lub przycisk dyskietki na dolnym pasku narz dziowym okna
roboczego. Wprowadzenie kolejnego rekordu rozpoczynamy od naci ni c ia przycisku Nowy rekord
i ponownym wpisaniu nazwy w polu kombi. Usuwanie polega na wybraniu z listy “odpowiedniego
kandydata” który zbyt pó no reguluje p atno ci i naci ni ciu przycisku usu . Podobnie z
modyfikacj wpisu. Wybieramy z listy interesuj cy nas rekord i aktualizujemy. Przyciski
modyfikacji zawarto ci bazy danych przedstawione s na rysunku poni ej.
Rysunek 11. Pasek narz dziowy bazy danych.
Je eli mamy tak ogromn liczb klientów, e wyszukiwanie z listy rozwijanej jest
uci l iwe mo emy zastosowa narz dzia do wyszukiwanie rekordu lub za o y filtr. Równie te
przyciski s umieszczone na pasku narz dziowym bazy danych.
W podobny sposób tworzymy formularze do wype niania tabeli dostawcy oraz towary.
Nale y jednak zapami ta , e w przypadku gdy chcemy zamie ci formularze odwo uj ce si do
ró nych tabel w bazie danych w jednym dokumencie musimy dla ka dej tabeli stworzy oddzielny
formularz. W oknie Funkcje formularza wybieramy Nawigator formularza -> Dodaj Nowy
formularz i odpowiednio ustawi jego parametry do w a ciwej tabeli.
14
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Innego podej cia wymagaj tabele dostawy oraz sprzedaz. W tym przypadku dane w
formularzu c zone s z kilku tabel. Otwieramy nowy dokument w którym wykonamy formularz
wprowadzania danych do tabeli sprzedaz. Jak w poprzednim przypadku mo emy napisa kilka
adnych nag ówków i ustawi t o. Wstawimy równie tabel aby nasze pola formularza (a b dzie
ich tutaj znacznie wi cej ni w poprzednich dokumentach) by y równo ustawione w dokumencie.
Rozpoczynamy: Menu Funkcje formularza -> Nawigator formularza -> Dodaj nowy formularz ->
nazwa hurt_dost -> W a c iwo ci formularza -> zak adka Dane. W oknie tym analogicznie do
poprzednich tabel ustawiamy:
ród o danych:
hurtownia
Typ zawarto ci:
Tabela
Zawarto :
Dostawa
Pozosta e bez zmian.
Zamykamy okno. W dokumencie we wstawionej tabeli (pierwszy wiersz, pierwsza
kolumna) wpisujemy Nazwa dostawcy:. Klikamy w kolumnie obok. Z okna Funkcje formularza
wybieramy przycisk Pole listy i przeci gamy w tabeli. Nast pnie w nowootwartym oknie
AutoPilota wybieramy tabel dostawcy i naciskamy Dalej. W nast pnym oknie jako wy wietlane
pole wybieramy Nazwa_dostawcy i ponownie Dalej. Kolejne okno umo liwia nam c zenie tabel.
Po c zymy tabele dostawy oraz dostawcy. Celem tego po czenia jest zamiana liczbowego
identyfikatora dostawcy (ID_DST) tabeli dostawy na nazw dostawcy (Nazwa_dostawcy) tabeli
dostawcy. Je eli po c zymy te dwie tabele to zamiast identyfikatora wy wietlana b dzie w polu
formularza nazwa dostawcy. Podsumowuj c, z pola Tabela warto ci wybieramy ID_DST oraz pola
Tabela listy ID_DST i naciskamy przycisk Utwórz. Powy sze kroki ilustruje rysunek nr 12.
15
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Rysunek 12. Etapy przypisywanie danych polu Lista.
Wracamy do naszego dokumentu g ównego. W nast pnym wierszu tabeli wpisujemy
Nazwa towaru: i ustawiamy kursor w s siedniej kolumnie. Ponownie wybieramy z Menu Funkcje
formularza przycisk Pole Lista i wstawiamy go do tabeli. Nast pnie podobnie jak w przypadku
poprzednim przechodzimy przez seri okien AutoPilota ze wyborem w kroku pierwszym tabeli
towary nast pnie w drugim pola nazwa_towaru oraz w trzecim, pól ID_TOW i ID_TOW.
Kolejny wiersz tabeli jest zarezerwowany na wpisywanie numeru faktury. Wpisujemy
wi c w pierwszej kolumnie Numer Faktury: i obok wstawiamy Pole tekstowe wybrane z okna
Funkcje formularza. Tym razem jednak po wstawieniu pola AutoPilot nie zadzia a . Trzeba
samemu je zdefiniowa . Przy zaznaczonym obiekcie pole tekstowe (wstawione w tabeli) naciskamy
przycisk W a ciwo ci formantu. W otwartym oknie wybieramy zak adk Dane i wierszu Pole
danych ustawiamy kolumn NR_FAKT. Zamykamy okno.
W podobny sposób post pujemy z polem do wprowadzania daty wystawienia faktury. A
zatem: Menu Funkcje formularza -> przycisk Pole Daty -> Wstawienie pola w tabeli -> Menu
Funkcje formularza -> przycisk W a c iwo ci formantu -> zak adka Dane -> Pole Danych
ustawiamy na kolumn data.
W analogiczny sposób post pujemy z polem ilo . Po wprowadzeniu wszystkich pól
mo emy wy czy w oknie Funkcje formularza tryb projektu i zobaczy efekty. Formularz
sporz dzony przeze mnie wygl da nast puj co.
16
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
Rysunek 13. Formularz wprowadzania faktur dostawy towaru.
W jaki sposób teraz nale y wprowadza dane do bazy? Z listy wyboru Nazwa dostawcy
wybieramy dostawc który przywióz nam towar (zak adam, e ta tabela oraz tabela towary zosta y
wcze niej wype nione) Z nazwa produktu wybieramy towar jaki zosta dostarczony. Wpisujemy
numer faktury, dat je eli jest inna ni dzisiejsza oraz wype niamy pole Ilo
towaru.
Zatwierdzamy wprowadzone dane i tyle.
Pozostaje jeszcze wykonanie w analogiczny sposób formularza do wprowadzania faktur ze
sprzeda y i mo na otwiera hurtowni .
5.3. Wyszukiwanie danych oraz generowanie raportów
Jak ju wprowadzimy troch faktur oraz sprzedamy troch towaru warto by by o si
pokusi o pewne podsumowania. Sprawdzi obroty naszej firmy oraz ustali strategicznych
klientów. OpenOffice.org posiada gotowe narz dzia tworzenia ró nego rodzaju zestawie oraz
raportów.
5.3.1. Tworzenie zestawie
Chcemy zobaczy jaki towar najlepiej schodzi oraz jaki klient najwi cej od nas zakupi .
Do sporz dzenia tego zestawienia pos u ymy si kwerend . W dowolnym dokumencie writera
otwieramy ród a danych (F4). Rozwijamy ród o hurtownia i klikamy prawym przyciskiem
myszki na Kwerendy. Z rozwini tego menu wybieramy Nowy projekt kwerendy. Do projektowania
kwerend OOo posiada specjalne menu. W tym menu klikamy dwa razy przycisk Dodaj tabel ...
znajduj cy si na pasku narz dziowym. W oknie Dodaj tabel zaznaczamy sprzedaz a nast pnie
17
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
przycisk Dodaj. Czynno powtarzamy dla tabel klienci oraz towary. Rysunek 14 przedstawia menu
dodawania tabel.
Rysunek 14. Dodawanie tabel w projekcie kwerendy
Wstawione tabele nale y jeszcze po czy zale no ciami referencyjnymi. W tym celu
nale y przeci gn
pole ID_KLI tabeli sprzedaz na ID_KLI tabeli klienci. W ten sam sposób
po czy równie ID_TOW tabel sprzedaz i towary. Teraz ju mo na rozpocz
konstruowanie
kwerend.
1 Wyszukiwanie ilo ci oraz rodzaju sprzedanego towaru.
1.2 Graficzny projekt kwerendy
• W wierszu Pole wybra kolumn ID_TOW tabeli sprzedaz;
• W wierszu Funkcje wybra Grupowanie;
• w nast pnej kolumnie wiersza Pole wybra kolumn ilosc tabeli sprzedaz;
• w wierszu Funkcje wybra Suma;
• W wierszu Pole wybra kolumn Nazwa_towaru tabeli towary;
• Zapisa kwerend .
1.3 Wpisanie polecenia SQL
• Klikn na pasku narz dziowym przycisk wy cz tryb projektu;
• W oknie na dole wpisa :
SELECT TOWARY.NAZWA_TOWARU, SUM(ILOSC) AS
ILOSC FROM SPRZEDAZ, TOWARY WHERE TOWARY.ID_TOW =
SPRZEDAZ.ID_TOW GROUP BY SPRZEDAZ.ID_TOW
18
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
• Zapisa kwerend .
2 Nazwa klienta, rodzaj towaru oraz ilo
2.2 Graficzny projekt kwerendy
• W wierszu Pole wybra kolumn Nazwa_klienta tabeli klienci;
• W wierszu Funkcje wybra Grupowanie;
• W kolumnie obok, w wierszu Pole wybra Nazwa_towaru tabeli towary;
• Wiersz Funkcje ustawi na Grupowanie;
• Kolumna trzecia w wierszu Pole; wybra ilosc tabeli sprzedaz;
• Wiersz Funkcje ustawi na Suma;
• Zapisa kwerend .
2.3 Wpisanie polecenia SQL
• Klikn na pasku narz dziowym przycisk wy cz tryb projektu;
• Wpisa w okienku komend SQL:
SELECT KLIENCI.NAZWA_KLIENTA,
TOWARY.NAZWA_TOWARU, SUM(ILOSC) AS ILOSC FROM KLIENCI,
TOWARY, SPRZEDAZ WHERE TOWARY.ID_TOW=SPRZEDAZ.ID_TOW AND
KLIENCI.ID_KLI=SPRZEDAZ.ID_KLI GROUP BY NAZWA_KLIENTA,
NAZWA_TOWARU
• Zapisa kwerend .
3 Sprawdzanie ilo ci towaru w magazynie
3.2 Wpisanie polecenia SQL
• Klikn na pasku narz dziowym przycisk wy cz tryb projektu;
• Wpisa w oknie komend SQL:
SELECT TOWARY.NAZWA_TOW, SUM
(DOSTAWA.ILOSC)-SUM(SPRZEDAZ.ILOSC) AS ILOSC_W_MAGAZYNIE
FROM
TOWARY,
SPRZEDAZ,
DOSTAWA
WHERE
TOWARY.ID_TOW=SPRZEDAZ.ID_TOW
AND
TOWARY.ID_TOW=DOSTAWA.ID_TOW GROUP BY SPRZEDAZ.ID_TOW
• Zapisa kwerend .
Mamy zdefiniowanych kilka kwerend mo emy generowa zestawienia i raporty. Z menu
plik wybieramy AutoPilot -> Formularz. W oknie Wybierz baz danych wybieramy hurtownia a w
oknie Tabele i kwerend np. Ilosc_w_magazynie. Wybieramy pola które maj by pokazywane
(wszystkie), naciskamy Dalej. Dobieramy wg. w asnych upodoba rozmieszczenie pól oraz ich
style in naciskamy Utwórz. Zapisujemy plik pod dowoln nazw i ju znamy ilo
poszczególnych
towarów w magazynie. Mo emy teraz wyszukiwa lub zak ada filtry aby odnale interesuj ce nas
produkty.
Wygenerujemy jeszcze raport zestawiaj cy nam ilo
oraz rodzaj towaru zakupionego
przez poszczególnych klientów. Wybieramy Menu Plik -> AutoPilot -> Raport. Baza danych jak
poprzednio - hurtownia kwerenda klienci_towary_ilosc. Wstawiamy wszystkie pola i naciskamy
Dalej. Zmieniamy etykiety pól wg. w asnych upodoba i naciskamy Dalej. Grupowa nie b dziemy
poniewa robi to ju kwerenda wi c naciskamy Dalej. Mo emy teraz posortowa dane tak jak nam
19
Krasuski A.: OpenOffice.org oraz DBMS kontra Access
odpowiada i nacisn
Dalej. Wpisujemy tytu raportu, wybieramy styl i naciskamy Dalej. W
kolejnym oknie wybieramy raport statyczny i naciskamy Utwórz. Raport gotowy.
6. Podsumowanie
Najwa niejsze za o enia projektu zosta y spe nione. Wed ug Marka Sa asi skiego s to:
•
nie dopuszcza u ytkowników do bezpo rednich operacji na tabelach bazy danych
•
oraz trzyma ich z dala od kwerend.
Poprzez odpowiednio zdefiniowane formularze mamy pewno , e u ytkownicy b d
mieli dost p tylko do tych cz c i danych do których powinni. Ponadto ten sposób organizacji
dokumentu zapewnia nam, e nawet ci z u ytkowników, którzy nie maj cy poj cia o bazach
danych b d mogli je obs ugiwa .
Kolejnym wa nym a zarazem trudnym zadaniem by o dostarczenie mo liwo ci
sprawdzania ilo ci towaru w magazynie. Nie uda o si stworzy do tej us ugi poprzez kwerend w
trybie projektu ale problem zosta pokonany przez bezpo rednie wpisanie polecenia SQL.
Jak ju kilkakrotnie wspomniano projekt nie jest dopracowany aby móg by
wykorzystany w prawdziwej firmie. Odpowiedni poziom bezpiecze stwa danych w bazie nie zosta
osi gni ty. Bardzo atwo jest usun
dane podczas pracy z polami typu kombi. Dlatego warto by
by o rozbi modu zarz dzania kontaktami na kilka podmodu ów: wprowadzania, wyszukiwania
oraz modyfikacji. Istnieje jeszcze kilka wa nych aspektów które nale y zmieni w prawid owym
projekcie. Nie mniej my l , e zosta o pokazane, i program OpenOffice.org mo e w pewnym
stopniu zast pi Accessa. W jakim, nie wiem, nie znam si na Accessie. Mi ej zabawy.
Adam Krasuski (akrasuski@sgsp.edu.pl)
20