MIKRO KNJIGA

Access 2000 Priručnik za programere

Poglavlje 1

1

Šta je novo
u Accessu 2000

 

Pošto čitate ovu knjigu, znači da ste verovatno već ubeđeni da je Microsoftov Access 2000 (koji ćemo nadalje zvati Access 2000) odgovarajuća platforma za vaš posao projektanta aplikacija. Najverovatnije ste u pravu. Microsoft je napravio ozbiljno, složeno i moćno razvojno okruženje za aplikacije baze podataka koje treba da rade na samostalnim ili na umreženim računarima.

U ovom poglavlju razmotrićemo istoriju Accessa i ukratko ćemo opisati nove mogućnosti Accessa 2000, a naročito one koje se odnose na programiranje aplikacija za profesionalnu namenu.

napomena

Access se može koristiti i u samostalnim i u višekorisničkim (deljenim) okruženjima. U ovoj knjizi izraz višekorisnički upotrebljavamo u smislu korišćenja Accessa u okruženju s više korisnika koji pristupaju deljenim resursima. Baza podataka u višekorisničkom Access okruženju može da bude mašina baze podataka Jet, Microsoft Data Engine (MSDE), SQL Server ili možda Oracle. Osim toga, višekorisnički Access na sličan način obuhvata i Internet i intranet. Ova knjiga je usredsređena na korišćenje Accessa na nivou firme, a ne pojedinca.

 

Kratka istorija Accessa

Access je proširio vidike mnogih projektanata aplikacija. To je bio jedan od prvih relacionih proizvoda za Windows 3 platforme, a bio je svakako prvi koji je zadovoljavao potrebe projektanata aplikacija, kako po firmama, tako i samostalnih. Osim lakoće s kojom je omogućavao savladavanje početnih koraka, Access 1 je znatno uprostio i pravljenje jednostavnih aplikacija. Ipak, projektanti su nailazili na izvesna ograničenja čim bi u svojim aplikacijama dosegli određen stepen složenosti. Na primer, ozbiljno ograničenje predstavljala je činjenica da baza podataka nije mogla da bude veća od 128 MB. Access 1.1 je povećao maksimalnu veličinu na 1 GB, a uklonio je još neka ograničenja. Pa ipak, i dalje su nedostajale mnoge profesionalne mogućnosti. Na primer, programerima koji su navikli na gotovo potpunu fleksibilnost Visual Basica smetala je nemogućnost Accessa da u toku rada aplikacije menja vrednosti svojstava kontrolnih objekata i obrazaca. S druge strane, pošto od Accessa nije bilo jednostavnijeg načina da se podaci prikazuju na obrascima ili učitavaju s njih, projektanti aplikacija su ipak pronalazili načine da zaobiđu ograničenja Accessa 1.1

Access 2 je projektantima ponudio značajna poboljšanja. Iako se to odnosilo i na krajnje korisnike, veliki korak unapred u poređenju sa verzijom 1.1 predstavljala su poboljšanja u oblasti projektovanja aplikacija. Profesionalnom programeru Access 2 je doneo nove mogućnosti u gotovo svim elementima ovog proizvoda, među kojima su bile i sledeće:

Access 95 je bio veliki poduhvat. I Access i Jet preneti su sa 16-bitnog na 32-bitni Windows. Jezik Access Basic i integrisano razvojno okruženje zamenjeni su jezikom Visual Basic for Applications (VBA) i njegovim unapređenim razvojnim okruženjem. Dodata su i mnogobrojna poboljšanja, između ostalog i sledeća:

U poređenju sa Accessom 95, Access 97 je predstavljao promenu manjeg obima. Pa ipak, i on je doneo veći broj novih mogućnosti, kao i poboljšanja već postojećih. Promene su bile sledeće:

Access 2000 - najbolji Access koji se dosad pojavio

Access 2000 je novo, znatno prošireno i poboljšano izdanje. Broj važnih poboljšanja je zadivljujući. Najznačajnija među njima mogu se svrstati u pet osnovnih kategorija:

U narednim odeljcima nabrajamo najvažnije izmene, grupisane po osnovnim kategorijama.

Pristup podacima u Accessu 2000

Način pristupanja podacima u Accessu 2000 izmenjen je u nekoliko važnih aspekata. Access 2000 se isporučuje sa novom opcijom koja se odnosi na mašinu baze podataka, zatim sa novim modelom pristupa podacima i sa novim formatom baze podataka. Ove i druge izmene mogu se ukratko opisati na sledeći način:

  • Iako Jet Engine ostaje standardna mašina baze podataka, Access može da radi i sa novom mašinom Microsoft Data Engine (MSDE), što je verzija SQL Servera 7 koja prihvata ograničen broj istovremenih veza sa klijentima.
  • Osim pravljenja standardnih Accessovih MDB datoteka baza podataka, sada možete da pravite i ADP (Access Data Projects) datoteke (poznate i kao Access projekti). ADP datoteka je baza podataka, koja je "prazna" (ne sadrži podatke); u nju možete da smestite obrasce, izveštaje, makroe i module i da ih povežete s podacima koji se nalaze u SQL Server ili MSDE bazi podataka. To znači da isti Accessov korisnički interfejs, koji poznajete i na koji ste navikli, možete da koristite kao laganu i snažnu čeonu komponentu koja radi s podacima na SQL Serveru!
  • Access projekti sadrže dodatne stavke menija koje omogućavaju integrisanje aplikacije sa bezbednosnim merama i mogućnostima replikovanja na SQL Serveru.
  • Access je čvrsto spregnut sa ADO (ActiveX Data Objects) objektima, tj. s modelom pristupa podacima koji Microsoft preporučuje. Postojeći DAO kôd će raditi besprekorno, ali preporučljivo je da u novom kodu za pristup podacima koristite ADO objekte, jer oni obezbeđuju veću prilagodljivost i pružaju više mogućnosti.
  • Mašina baze podataka Jet radi s podacima znakovnog tipa u Unicode formatu. To znatno olakšava promenu jezika u bazi podataka, ali znači i to da je za podatke znakovnog tipa neophodan dvaput veći prostor. Zbog toga je maksimalna veličina baze podataka povećana od jednog GB na dva GB. Osim toga, Jet 4 na zahtev može i da komprimuje tekstualna polja i polja tipa Memo.
  • Osim nekadašnjeg zaključavanja podataka na nivou cele stranice, Jet sada omogućava i zaključavanje na nivou reda tabele! To znači da je odsad pesimističko zaključavanje znatno upotrebljivija opcija.
  • Jet SQL podržava više novih proširenja ANSI-92 SQL standarda, koje možete da iskoristite kada radite sa ADO objektima i Jetovim OLE DB dobavljačima podataka.
  • Jet pruža mogućnost prikazivanja liste koja sadrži imena računara i korisnika koji su trenutno povezani s bazom podataka. Možete da iskoristite Jetove mogućnosti upravljanja vezama da biste sprečili da novi korisnici uspostavljaju veze s bazom podataka; to može da bude korisno, npr. kada želite da isključite bazu podataka da biste napravili rezervne kopije njenog sadržaja.
  • Replikovanje je poboljšano u više oblasti. U starijim verzijama Accessa replikovanje je moglo da bude uzrok i sukoba i grešaka. U Jetu 4 sve se smatra sukobom, što olakšava njegovo rešavanje. Osim toga, rešavanje sukoba sada se odvija na nivou kolone, a ne na nivou tabele. To znači da se više ne smatra sukobom ako dva korisnika istovremeno menjaju sadržaje dva različita polja u istom zapisu. Jet 4 definiše tri nivoa "vidljivosti" replike, što znači da možete da formirate hijerarhije replika unutar skupa replika. Možete da pravite i specijalne replike iz kojih se zapisi ne mogu brisati. Osim toga, Jet podržava i dvosmerno replikovanje sa spajanjem podataka iz SQL Servera.
  • U ADO porodici Microsoft je obezbedio dva modela za rad sa šemama baza podataka i za replikovanje: ADOX i JRO. ADOX vam omogućava da pregledate i menjate šemu Accessa i drugih ADO dobavljača podataka, dok je JRO objektni model specifičan za Jet, koji vam omogućava da sažimate i da popravljate baze podataka, kao i da koristite mogućnosti replikovanja koje pruža Jet 4.

Pitanja u vezi sa Jetom i višekorisničkim radom razmatraju se u poglavlju 2. Zaštita podataka i ADOX opisani su u poglavlju 8. Replikovanje i JRO opisani su u poglavlju 9. Pošto su nove klijent/server mogućnosti Accessa toliko važne za višekorisničke aplikacije, posvetili smo im pet poglavlja. Projektovanje klijent/server baza podataka tema je poglavlja 3. Poglavlja 4 i 5 opisuju pravljenje SQL Server i MSDE baza podataka. Poglavlje 6 opisuje ADO u klijent/server kontekstu, dok se u poglavlju 7 razmatraju razna pitanja u vezi sa implementiranjem klijent/server sistema.

Internet i intranet mogućnosti Accessa 2000

U ovoj verziji Accessa, čarobnjak Publish to the Web zamenjen je stranicama za pristup podacima. Stranica za pristup podacima je Web stranica na kojoj, koristeći Internet Explorer 5 (ili noviji), možete da pregledate i da menjate podatke koji se nalaze u Access, SQL Server ili MSDE bazi podataka. Evo nekoliko činjenica o stranicama za pristup podacima:

  • Stranice za pristup podacima koriste mogućnosti povezivanja sa podacima na strani klijenta koje pruža IE 5.
  • Podaci na stranici za pristup podacima ugrađuju se u HTML stranicu pomoću proširenog jezika za označavanje (eXtensible Markup Language, XML).
  • Stranice za pristup podacima možete da koristite unutar MDB baze podataka, ADP projekta ili Internet Explorera 5.
  • U Access je ugrađena alatka za projektovanje stranica za pristup podacima pomoću koje možete da pravite svoje stranice.
  • Svojim stranicama možete da pridružujete skriptove napisane u VBScriptu ili u JavaScriptu. Microsoft je Accessu dodao i alatku Microsoft Script Editor (MSE), editor skriptova bogat mogućnostima koji se zasniva na programu Visual InterDev.
  • Stranice za pristup podacima možete da pravite od početka ili da za to upotrebite neku od postojećih Web stranica. U Access je ugrađen i čarobnjak koji vam omogućava da na brzinu "skrpite" stranicu.
  • U svoje stranice možete da ugrađujete i Office Web komponente. To su ActiveX kontrolni objekti koji u obliku komponenata pružaju mogućnosti Microsoftovog Excela. Postoje komponente za tabelarne proračune, za izvedene tabele i za dijagrame.
  • Stranice za pristup podacima možete da koristite za pregledanje i menjanje sadržaja zapisa, ali i za izradu izveštaja, zahvaljujući ugrađenim mogućnostima grupisanja podataka.

Osim stranica za pristup podacima, Access 2000 nudi više drugih Internet/intranet mogućnosti:

  • Standardnim Accessovim obrascima i izveštajima možete da dodajete hiperveze.
  • Hipervezama možete da manipulišete iz VBA koda.
  • Kontrolni objekat Web Browser možete da postavite na standardni Accessov obrazac da biste od njega napravili čitač Weba.
  • Pomoću komande File Export možete da izvozite Accessove tabele, upite, obrasce i izveštaje u više formata, među kojima su HTML i ASP.

Stranice za pristup podacima detaljno su opisane u poglavljima 10 i 11. Office Web komponente opisane su u poglavlju 12. Tema poglavlja 13 jesu mogućnosti Accessa u svojstvu Web klijenta. Objavljivanje Accessovih podataka u HTML i ASP formatima opisano je u poglavlju 14.

Access 2000 VBA

Accessov editor modula zamenjen je editorom iz Visual Basica 6. Ako ste dugogodišnji projektant aplikacija u Accessu, u početku će vas novo okruženje možda malo zbuniti, ali vremenom ćete naučiti da cenite prednosti novog VBA editora. Osim toga, Accessova verzija jezika VBA, VBA 6, koja sada Access dovodi na nivo Visual Basica 6, donosi nekoliko dobrodošlih novina.

Izmene su sledeće:

  • U Access 2000 ugrađen je isti VBA editor koji se ugrađuje u ostale aplikacije Microsoftovog paketa Office, kao i u druge pakete u kojima se koristi VBA.
  • Jedinstvenom lozinkom može se zaštiti VBA kôd u svim globalnim modulima i u modulima obrazaca i izveštaja. VBA kôd se više ne štiti bezbednosnim merama koje su definisane na nivou korisnika (radne grupe).
  • VBA editor radi sa objektnim modelom koji može da se programira, a podržava i COM dodatke. Dodatke koji vam pomažu pri pisanju, analiziranju i formatiranju VBA koda možete da preuzmete sa Interneta, da ih kupite ili da ih sami napravite.
  • U VBA je ugrađeno više novih funkcija, među kojima su StrRev, MonthName, Split, Join, Replace i mnoge druge.
  • Komandom Debug.Assert možete da zadajete mesta u kodu na kojima se proverava ispunjavanje određenog uslova.
  • Access podržava operator AddressOf, a moduli klase podržavaju novu rezervisanu reč Implements.

Obrasci i izveštaji Accessa 2000

Ãto se obrazaca i izveštaja tiče, Access nije doneo veliki broj novina. Promene su pretrpeli sledeći elementi:

  • Obrasci i izveštaji odsad podržavaju grupisanje i razdvajanje kontrolnih objekata.
  • Kontrolni objekti koji prikazuju tekst omogućavaju da korisnik zada vrstu okvira oko teksta, što omogućava pomeranje teksta zajedno sa objektom.
  • Na sadržaj polja za tekst i padajućih lista možete da primenjujete pravila uslovnog formatiranja.
  • Objekat tipa Recordset na kome se obrazac zasniva možete da podesite tako da bude povezan s proizvoljnim objektom tipa DAO ili ADO Recordset, odnosno odsad možete da otvorite skup podataka i da ga dodelite svojstvu Recordset obrasca. To znači da najzad možete da povežete obrazac i s drugim vrstama podataka, a ne samo s tabelom, upitom ili SQL naredbom.
  • Pošto skup podataka možete da dodelite obrascu, transakcije možete da uskladite sa promenama vrednosti podataka na obrascu.

Druga poboljšanja koja donosi Access 2000

U Access je ugrađeno i više drugih poboljšanja koja se ne mogu jasno svrstati u neku od prethodnih kategorija. To su sledeća:

  • Izmene imena objekata oduvek su bile problem za korisnike Accessa i projektante aplikacija za Access, tj. tako je bilo dosad. U slučaju izmene imena objekta, alatka Name AutoCorrect Accessa 2000 automatski usklađuje imena objekata u svim obrascima, izveštajima i upitima gde se ono pojavljuje. Ipak, postoje određena ograničenja - na primer, AutoCorrect ne ispravlja referencu u VBA kodu, niti to čini u ADP datotekama, niti u replikovanim bazama podataka - ali vam štedi vreme kada menjate imena objekata.
  • Ranije se sa Interneta mogao preuzeti dodatak za Access 97 pomoću koga su se štampale veze između tabela. Mogućnost štampanja tih veza sada je ugrađena u Access 2000. U prozoru Relationships izaberite File Print Relationships da biste odštampali veze između tabela baze podataka oko kojih ste se toliko trudili.
  • Åarobnjak Access Upsizing Wizard potpuno je integrisan u Access. Izaberite Tools Database Utilities Upsizing Wizard da biste podatke iz Accessa preneli na SQL Server.
  • Okviri za dijalog Find i Replace više nisu modalni.
  • Access nije nikada mnogo "mario" za kompatibilnost sa prethodnim verzijama. Međutim, Access 2000 prekida taj trend: izaberite Tools Database Utilities Convert Database To Prior Access Database Versions da biste bazu podataka Accessa 2000 snimili u format Accessa 97.
  • Access 2000 omogućava automatsko sažimanje i popravljanje baze podataka u istom koraku. Osim toga, postoji i opcija za automatsko sažimanje baze podataka pri zatvaranju.

Novine u paketu Microsoft Office Developer

Mnogi ljudi koji se profesionalno bave projektovanjem aplikacija poželeće da nabave razvojni paket Microsoft Office Developer (MOD). Ova verzija paketa Microsoft Office sadrži Microsoft Office 2000 Premium (koji sadrži sve što i Office Professional, plus FrontPage, Publisher i PhotoDraw), plus sledeće razvojne alatke:

Alatka Replication Manager opisana je u poglavlju 9. Upravljanje izvornim verzijama koda opisano je u poglavlju 15. Alatka Package and Deployment Wizard opisana je u poglavlju 16.

Sažetak

Access je danas vodeći program za rad sa lokalnim bazama podataka na tržištu. On sadrži pravi skup mogućnosti za projektante aplikacija koje rade samostalno i/ili u višekorisničkom okruženju. Zahvaljujući izmenama koje je Microsoft uneo u Access 2000, to je postala najbolja verzija koja se dosad pojavila.