background image

OpenOffice.org oraz DBMS kontra 

Access

Adam Krasuski

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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