Publications‎ > ‎Software reviews‎ > ‎

Velden vol wegen

Hoofdartikel van PCM 1997-10

Dit is het eerste deel van het artikel 5x Desktop Databases: voor eindgebruikers.  Zie ook het tweede deel: voor ontwikkelaars en het Database terminologiekader.

Deze keer is het in de serie PCM vergelijkingen tussen de overeenkomende onderdelen uit de nieuwste Office Suites dan de beurt aan de relationele database programma's. Corel heeft in zijn Office Professional 7 buitenbeentje Paradox 7 opgenomen. Ook Microsoft heeft Access 97 enkel een plaatsje toebedacht in Office 97 Professional Edition. Alleen Lotus doet niet moeilijk, zodat Approach 97 ook gewoon in de SmartSuite 97 Standard Box terug te vinden is.

Deze object-georienteerde bespreking richt zich op de ondersteuning die de database programma's bieden bij het werken met de verschillende soorten elementen waaruit de database is opgebouwd. Bovendien komt ook het werken met het internet ter sprake. In plaats van een poging het volledige scala aan mogelijkheden en eigenschappen globaal door te nemen, inclusief onder meer connectiviteit en snelheid, is in dit artikel dus vooral gekozen voor een benadering vanuit het perspectief van de eindgebruiker.

Voor het ontwerpen zijn vooral tabellen en de relaties daartussen van belang. Het daadwerkelijk gebruiken van de database vindt voornamelijk plaats op basis van formulieren, queries en rapporten. Voor het programmeren van gegevenscontroles en specifieke functionaliteit kan tenslotte gebruik worden gemaakt van macro's en scripts.

Microsoft Access 97, Corel Paradox 7 & Lotus Approach 97


Access 97


Van alle onderdelen in Microsoft Office 97 Professional vergt Access verreweg de meeste schijfruimte, namelijk 50 MB. Hiervan is 6 MB gereserveerd voor drie meegeleverde voorbeeld databases en 13 MB voor de online hulp.

Documentatie

Net als alle andere Office programma's beschikt ook Access nu over de knipogende Clippit, de Office Assistant. In het begin lijkt dit bewegende hulpje niet meer dan grappig, maar door de verregaande integratie met Access wordt de Assistant gaandeweg een natuurlijke tussenpersoon. In plaats van de standaard Windows dialogen worden alle boodschappen via het hulpje aan de gebruiker gepresenteerd. Ook tips kunnen spontaan opduiken. Door te klikken op de Office Assistant kan tenslotte eenvoudig worden gezocht in de online hulpbestanden.

Zoals al eerder te lezen was in vorige besprekingen van de verschillende Office Suite onderdelen, is de meegeleverde handleiding bij Microsoft Office niet ingedeeld op basis van programma's, maar op het uitvoeren van gebruikerstaken. Bij de taak van het opzetten van een inventarisatie systeem wordt zo bijvoorbeeld een rondleiding door Access verschaft. De handleiding heeft duidelijk niet tot doel alle mogelijkheden op te sommen, maar is waarschijnlijk mede daardoor wel helder van aard.

Overzicht

Het belangrijkste venster in de werkruimte van Access is het Database Window. Het bestaat uit zes pagina's van waaruit alle database objecten op dezelfde wijze benaderd kunnen worden. Ook de verregaande integratie met Windows is goed geregeld: zo is het bijvoorbeeld mogelijk om een rapportage object vanuit het Database Window naar de Windows desktop te slepen. Door daarna de aangemaakte snelverbinding te starten, wordt deze auto matisch geopend in Access.

Ook de integratie met andere Office programma's is goed. Zo kan een query object in een Word document gesleept worden om het resultaat van de query als tabel in te voegen. Ook kan een selectie in Excel bijvoorbeeld als tabel in Access geplakt worden.

Tenslotte ontbreekt natuurlijk ook in Access niet het fraaie Microsoft 97 uiterlijk inclusief alle bijbehorende toeters en bellen, zoals de zeer uitgebreide mogelijkheden om de werkbalken, sneltoetsen en menu's van de werkruimte naar eigen smaak aan te passen. Het is kortom zeer prettig werken in Access.

Ontwerpen

Database

In Microsoft Access worden alle database objecten bewaard in één MDB-bestand. Dit heeft tot gevolg dat de database onderdelen alleen vanuit het Database Window in Access zichtbaar zijn. Voordeel is weer dat de integratie tussen de onderdelen erg goed is.

De Database Wizard biedt 22 database sjablonen. Een prettig detail is dat de nieuwe database eventueel ook gevuld kan worden met voorbeeldgegevens, wat nu eenmaal de beste manier is om aan te geven hoe de database gebruikt kan worden.

Tabellen

In de Table Design View van Access kan de tabelstructuur gewijzigd worden. Access biedt meerdere manieren om een tabel aan te maken. Standaard is de Datasheet View geselecteerd, waarin direct gegevens kunnen worden ingevoerd. Nogal raar, want het is in deze View niet eens mogelijk om datatypen voor de velden te definieren. Het zou daarom duidelijker zijn indien de Datasheet View optie gewoon was weggelaten.

Met de Table Wizard kan de nieuwe tabel worden opgesteld door velden te kiezen uit de verzameling sjabloon tabellen. Voordat de tabel wordt toegevoegd aan de database kunnen onder meer de hoofdsleutel en eventuele relaties met andere tabellen nog worden toegekend. Eventueel kan ook nog meteen een formulier worden gegenereerd waarmee de gegevens kunnen worden ingevuld.

Met de Import Wizard en de Link Table opties kunnen tabellen worden aangemaakt in de Access database op basis van reeds bestaande tabellen in andere databases. De Import Wizard kopieert alle gegevens eenmalig naar de Access database en er wordt geen relatie met de brondatabase gelegd. De Link Table optie legt daarentegen slechts een link naar de brondatabase en kan via een venster in de Access database direct op de externe database werken. Zeer goed!

Wijzigingen aan de tabelstructuur kunnen worden uitgevoerd in de zeer gebruiksvriendelijke Table Design View. Zowel de vensterbreedte als de kolombreedte kan worden aangepast zodat altijd alle informatie te zien is. Veld-specifieke informatie is instelbaar in de twee eigenschappen pagina’s die zich onder het velddefinitie-rooster bevinden.

Relaties

In het Relationships Window van Access is ook de soort relatie tussen tabellen duidelijk af te lezen. Ook het Relationships Window in Access is zeer gebruikersvriendelijk. De verplaatsbare objecten in het venster bevatten zowel de naam van de tabel als de daarin gedefinieerde veldnamen. Een relatie kan eenvoudig worden toegevoegd door een veld te verslepen naar een ander veld. Hierop wordt de Relationships dialoog gepresenteerd waarin het relatietype en de geldende integriteitsregels kunnen worden gekozen, waarna A ccess deze verbinding toevoegt aan de grafische weergave in het venster. Makkelijker kan het haast niet.

Juist omdat het Relationships Window zo overzichtelijk is en verhelderend werkt, is het gemis van een afdrukmogelijkheid van deze visuele weergave van de database structuur echter des te groter.

Gebruiken

Formulieren

In de Form Design View van Access wordt een formulier ontworpen met behulp van de Toolbox en het Properties Window. Ook het aanmaken van formulieren kan in Access op een groot aantal manieren gebeuren. Standaard is de Design View geselecteerd, waarmee eenvoudigweg een leeg formulier wordt aangemaakt. Het formulier dient vervolgens te worden vormgegeven door grafische objecten toe te voegen, zoals bijvoorbeeld edit controls, labels, tabbladen en OLE objecten. Door het definieren van verbindingen tussen deze grafische objecten en de records in de onderliggende gegevensbronnen kunnen de gegevens zichtbaar worden gemaakt op het formulier. Met de Field List optie kan een formulier echter nóg eenvoudiger worden klaargestoomd door simpelweg de velden van het lijstje naar het formulier te verslepen.

Toch kan het soms efficienter zijn om de Form Wizard te gebruiken. De velden waaruit het formulier zal bestaan mogen zich in meerdere tabellen bevinden. Ook kunnen relaties worden gelegd tussen de tabellen, zodat het formulier bijvoorbeeld kan bestaan uit een hoofdformulier en een onderformulier voor het weergeven van één-op-meer relaties.

Bij de drie AutoForm opties is enkel de te gebruiken tabel in te stellen. Dit levert vervolgens zeer eenvoudige formulieren op waarin alle tabelvelden zijn opgeno men. Met de Chart Wizard kan een formulier met een grafiek worden aangemaakt. Zodra de velden zijn gekozen voor de assen van de grafiek, kan uit 20 grafiektypes gekozen worden. De PivotTable Wizard kan tenslotte een formulier genereren met een Microsoft Excel PivotTable, waarmee interactief gegevens kunnen worden samengevat.

Rapporten

Ook in de Report Design View van Access wordt een rapport ontworpen door de page header, detail en footer in te vullen. De Report Wizard biedt zeer uitgebreide rapportage mogelijkheden. Bovendien is ruim voorzien in voorbeelden. Met de Label Wizard kunnen tenslotte eenvoudig etiketten in een groot aantal formaten worden afgedrukt. Met de rapportage mogelijkheden zit het kortom wel goed in Access.

Queries

In de Query Design View van Access kunnen kolommen vanuit het relatiescherm in het query resultaat worden opgenomen. De SQL Editor op de achtergrond is kleurloos. Bij het aanmaken van een query is standaard is de Design View modus geselecteerd. Dit venster bestaat uit twee delen, waarin de bovenste helft gereserveerd is voor een tabel- en query overzicht inclusief de daarbij behorende velden. Door een veld te dubbelklikken wordt het toegevoegd aan de query definitie in het onderste deel van het scherm. In dit onderste deel kan per veld het selectie criterium en de sorteringsvolgorde worden opgegeven. Echt gebruiksvriendelijk is het ontwerpen van een query echter niet in Design View. Zo o ntbreekt bijvoorbeeld een data type indicatie. De visuele weergave kan echter wel een uitkomst zijn bij het opzetten van complexe queries waarbij tabelrelaties een rol spelen.

In veel gevallen kan het efficient zijn om de query rechtstreeks in SQL in te voeren, ware het niet dat de SQL View niet eens de vergelijking met Notepad succesvol kan doorstaan. Een SQL editor met syntaxkleuring zou voor veel gevorderde gebruikers dan ook een zeer welkome aanvulling zijn.

Met de CrossTab Query Wizard kunnen compacte samenvattingen gegenereerd worden van twee soorten informatie, zoals bijvoorbeeld verkopers en produkten, op een spreadsheet-achtige manier. Grootste pluspunt bij het gebruik van deze wizard is dat tijdens het selecteren van kolommen en rijen de gevolgen in de kruistabel zijn te zien. De Find Duplicates Query Wizard maakt het gemakkelijker om een query te definieren met een ingebedde query om dubbele waarden te vinden. De Find Unmatched Query Wizard vereenvoudigt het opzetten van een query waarbij een relatie tussen tabellen gedefinieerd moet worden. Om bijvoorbeeld te zoeken naar verkopers die geen produkten hebben verkocht, moet dan gekeken worden naar verkopers die niet een order op hun naam hebben staan. De Simple Query Wizard is tenslotte inderdaad alleen voor zeer eenvoudige zoekopdrachten te gebruiken.

Implementeren

Macro's

In de Macro Design View van Access kunnen eenvoudig nieuwe commando's worden samengesteld. Het Macro Window heeft dezelfde opzet als het Table Design Window. Wanneer een voorgedefinieerde actie wordt geselecteerd in het bovenste deel van het venster, verschijnt in het onderste deel een lijst waar de benodigde argumenten voor deze actie kunnen worden ingevuld. Bovendien verschijnt rechtsonder in het venster ook nog eens een beschrijving van het geselecteerde argument. Tenslotte is ook de online hulp zeer uitgebreid en van veel voorbeelden voorzien. Alleen een opname mogelijkheid zou het aanmaken van macro's in Access 97 nóg eenvoudiger kunnen maken.

Modules

In de Macro Design View van Access kunnen eenvoudig nieuwe commando's worden samengesteld. In het bekende Visual Basic Code Window kan de resterende benodigde functionaliteit worden geimplementeerd. Een module in Access kan het best gezien worden als een apart tekstbestand waarin functies, procedures en declaraties geimplementeerd zijn. In werkelijkheid echter worden ook modules in de Access database opgeslagen, zodat het niet mogelijk is deze buiten Access te openen.

Bij het aanmaken van een nieuwe module verschijnt het Visual Basic Code Window, een feest der herkenning voor de vele Visual Basic programmeurs. Onmisbaar bij het schrijven van Visual Basic for Applications code is de Object Browser, een speciaal hulpsysteem waar de te gebruiken object-elementen overzichtelijk op te zoeken zijn. Ook de Visual Basic debugger en het Debug Window ontbreken niet. Een uitgebreide bespreking van deze volwaardige Visual Basic omgeving was reeds te lezen in PCM 7/8.

Het sterkste punt van de Visual Basic implantatie in Access 97 is wel dat eenmaal opgedane kennis in alle Office programma’s herbruikbaar is, zelfs in de volledige Visual Basic ontwikkelomgeving. Dit maakt de drempel om database-specifieke functionaliteit in Access te implementeren aanzienlijk lager.

Internet

Met de internet ondersteuning zit het wel goed in Access. Access heeft een groot aantal voorzieningen om het werken met het internet te vereenvoudigen. De Microsoft WebBrowser Control, het hart van de Internet Explorer, is volledig geintegreerd in Access zodat binnen de eigen werkruimte over het internet gesurfd kan worden. Bovendien is er een speciale internet knoppenbalk.

Voor de internet hyperlinks heeft Access een speciaal data type. De pagina waarna de hyperlink verwijst, wordt automatisch in een nieuw venster geopend wanneer het op een formulier wordt aangeklikt. Om de pagina binnen het formulier te openen, kan de WebBrowser control op het formulier toegevoegd worden.

Tabellen en lijsten op internet pagina's kunnen zowel geimporteerd als gelinkt worden naar tabellen in Access. Andersom kunnen rapporten en formulieren bijzonder eenvoudig worden gepubliceerd op het internet. En het resultaat mag er zijn ook!

Tenslotte biedt Access de mogelijkheid om dynamische internet pagina's te publiceren. Hiervoor maakt het gebruik van de Internet Database Connector, een onderdeel van de Microsoft Internet Information Server. De toepassing van deze mogelijkheid is daarom wel enigzins beperkt, aangezien de meeste internet providers niet de Microsoft internet server gebruiken. Voor intranetten kan deze optie natuurlijk wel nuttig zijn.

Access is op het internet te vinden op http://www.microsoft.com/Access/.

Conclusie

Microsoft Access 97 biedt een aangename werkomgeving die goed geintegreerd en consistent is met andere Microsoft Office Suite programma’s. Het blinkt vooral uit bij het ontwerpen van databases en het implementeren van specifieke code daarvoor. Ook de internet voorzieningen zijn zeer uitgebreid.

Voor iedere taak is wel een wizard aanwezig, waar het meestal prettig mee werken is. Zelf queries in SQL opstellen is echter duidelijk niet de bedoeling, want aan de SQL View dient nog wel het één en ander te gebeuren. De online documentatie is tenslotte inhoudelijk goed en zeer gebruikersvriendelijk, wat mede te danken is aan de Office Assistant. Microsoft Access 97 is kortom een zeer volledige en gebruikersvriendelijke database omgeving.

Gegevens

Product: Access 97
Producent: Microsoft
Toepassing: Database omgeving bij Microsoft Offce Professional
Minimale systeemeisen: Intel 486; Windows 95 met 12 MB of Windows NT 3.51 sp5 of hoger met 16 MB en 30 MB harde schijf-ruimte
Leverancier: Microsoft
Telefoon Nederland: +31-235689189
Telefoon België: +32-27303911

Afbeeldingen

In de Table Design View van Access kan de tabelstructuur gewijzigd worden. In het Relationships Window van Access is ook de soort relatie tussen tabellen duidelijk af te lezen. In de Form Design View van Access wordt een formulier ontworpen met behulp van de Toolbox en het Properties Window. Ook in de Report Design View van Access wordt een rapport ontworpen door de page header, detail en footer in te vullen. In de Query Design View van Access kunnen kolommen vanuit het relatiescherm in het query resultaat worden opgenomen. De SQL Editor op de achtergrond is kleurloos. In de Macro Design View van Access kunnen eenvoudig nieuwe commando's worden samengesteld. In de Macro Design View van Access kunnen eenvoudig nieuwe commando's worden samengesteld. In het bekende Visual Basic Code Window kan de resterende benodigde functionaliteit worden geimplementeerd. Met de internet ondersteuning zit het wel goed in Access.

Paradox 7

Binnen Corel Office 7 Professional is het database programma Paradox 7 het buitenbeentje. Niet in de laatste plaats omdat Paradox op naam staat van Borland en dateert uit 1995. Overigens heeft Corel inmiddels de verdere ontwikkeling van Paradox overgenomen. Dit is nat uurlijk een goede zaak is voor Corel Office, want aan de integratie met Paradox moet nog gewerkt worden. Dit wordt ook direct duidelijk, aangezien Paradox een eigen setup programma heeft. Na een volledige installatie blijkt overigens niet meer dan 26 MB schijfruimte ingenomen te zijn.

Documentatie

De bijgeleverde documentatie is knap uitgebreid; een flink aantal mogelijkheden binnen Paradox wordt taaksgewijs doorgenomen. Zonder essentiele stappen vooraf bekend te veronderstellen, wordt toch een aanzienlijk niveau bereikt. De documentatie is duidelijk niet enkel als inleiding bedoeld. En indien een gebruikersvraag niet beantwoord wordt in de handleiding, dan is de kans bijzonder groot dat de uitstekende online hulp wél uitkomst kan bieden. Het enige minpunt van het online hulpsysteem is echter dat de in het menu opgenomen Quick Tour vreemd genoeg niet op de Corel Office CD-ROM opgenomen is… Slordig.

Overzicht

In Paradox zijn alle database objecten vanuit de Project Viewer benaderbaar. In dit venster kunnen behalve de Paradox objecten in de geopende database ook verwijzingen naar andere bestanden worden opgenomen. Dit hoeven zelfs geen database objecten te zijn; ook een tekst document kan bijvoorbeeld worden benaderd vanuit de Project Viewer nadat een referentie is gedefinieerd, wat vervolgens gebruikt kan worden om bijvoorbeeld de database en de bijbehorende documentatie te integreren.

Over de sneltoets-toekenningen kunnen de meningen verdeeld zijn. Het is namelijk niet mogelijk deze aan te passen aan de persoonlijke voorkeur. In de Text Editor kan wel gekozen worden uit drie standaard configuraties: Paradox, BRIEF en Epsilon. Helaas bevat geen van allen bijvoorbeeld de Windows standaard Ctrl+Z sneltoets om de laatste actie ongedaan te maken. Een klein ongemak dat grote irritatie teweeg kan brengen…

Ontwerpen

Database

In Paradox wordt ieder database object als apart bestand in dezelfde folder op de harde schijf bewaard. Een Paradox database is dus niets meer dan een folder op de harde schijf waarin database objecten staan. Om eenvoudiger te kunnen refereren aan een database kan gebruik worden gemaakt van een alias, zodat niet het volledige pad hoeft te worden opgegeven.

De Database Expert biedt 8 database sjablonen met de meest voorkomende database structuren. Vooral de uitleg bij de database objecten in ieder sjabloon is uitstekend. Het is alleen wel even wennen dat een nieuwe database vanuit het Tools menu aangemaakt dient te worden en niet vanuit het File menu.

Tabellen

In de Restructure Dialog van Paradox kunnen alle tabelaspecten worden gedefinieerd. Paradox beschikt over een uitstekende Table Expert, die echter alleen niet is op te roepen via de New Table dialoog, wat toch wel een ongebruikelijk gebruikersinterface ontwerp is. In deze Expert kan als uitgangspunt voor de nieuwe tabel één van de 33 tabelsjablonen worden gekozen. Net als bij de Database Expert zijn de beschikbare sjablonen ingedeeld in zakelijke en persoonlijke categorieen. Door kolommen te selecteren uit eventueel meerdere sjablonen kan eenvoudig de gewenste verzameling velden worden bereikt. Ook kunnen de hoofdsleutel én eventuele sorteringsvelden opgegeven worden.

De onderliggende tabelstructuur kan benaderd worden via de Restructure dialoog. Deze dialoog is helaas niet echt gebruiksvriendelijk en overzichtelijk, maar bevat wel veel functionaliteit. Zo kunnen hier bijvoorbeeld ook ind exen worden gedefinieerd.

Relaties

In de Data Model Dialoog van Paradox zijn geen tabelvelden te zien; wel zijn de tabelrelaties duidelijk. In Paradox kunnen relaties tussen tabellen visueel gerepresenteerd worden in de Data Model dialoog. Aan de linkerkant van deze dialoog kunnen de database objecten geselecteerd worden, waarop ze toegevoegd worden aan het diagram aan de rechterkant van de dialoog. Jammer is wel dat de velden enkel zichtbaar te maken zijn door de rechtermuis knop ingedrukt te houden. Bovendien is de ruimte voor het diagram te klein en kan de grootte van de dialoog niet gewijzigd worden. Wanneer de tabellen zijn geselecteerd inclusief eventuele relaties daartussen, kan dit hulpmiddel vervolgens als uitgangspunt worden genomen bij het aanmaken van bijvoorbeeld een formulier.

Het data model kan tevens in een apart bestand bewaard worden voor hergebruik. Bovendien kan het dan worden bewerkt in de Data Model Designer. Het venster van dit hulpgereedschap is gelukkig wat flexibeler in het gebruik. Bovendien wordt automatisch het onderliggende data model getoond van een geopend formulier of rapport.

Gebruiken

Formulieren

In de zeer duidelijke Object Explorer van Paradox is de hierarchie in de formulier objecten te zien; de object details worden rechts van de hierarchie getoond. Voor het aanmaken van een formulier in Paradox is de uitstekende Form Expe rt de beste keuze. Zodra de maximaal twee onderliggende tabellen zijn gekozen kunnen de layout, de achterliggende tabellen en de te gebruiken velden daaruit worden geselecteerd. Daarna dient het uitvoer formaat te worden opgegeven zodat de Form Expert de ligging van de formulier objecten optimaal kan plaatsen, zoals bijvoorbeeld een formulier voor gebruik op SVGA schermen of liggend A4-papier. Tenslotte kan aan het formulier nog één van de vele beschikbare stijlen worden toegekend.

Echt indrukwekkend blijkt echter de hulp die Paradox biedt nadat een leeg formulier is aangemaakt. Een groot scala aan controls kan worden gebruikt bij het opmaken van het formulier. Om een edit control met de veldwaarde van het huidige record aan een formulier toe te voegen, kan bijvoorbeeld de Field Tool worden geselecteerd waarmee op het formulier wordt getekend. Hierop verschijnt de Field Expert die het erg gemakkelijk maakt om veldwaarden en veldlijsten te definieren. Zo zijn er ook Button Experts, Chart Experts en Text Experts.

Eenmaal op het formulier geplaatst kunnen de eigenschappen van de objecten in de Object Explorer worden gewijzigd. Net als in de Windows Explorer worden de formulier objecten aan de linkerkant hierarchisch weergegeven. De rechterkant van de Object Explorer is gereserveerd voor de eigenschappen, gebeurtenissen en methoden die geldig zijn voor de objecten op het formulier. Tesamen met de verzameling handige Experts is het ontwerpen van formulieren in veel gevallen dus een eenvoudige taak. Lastiger wordt het echter wanneer macro’s vereist of gewenst zijn. Dan komt namelijk ObjectPAL om de hoek kijken, dat verderop besproken wordt.

Tenslotte kan ook nog worden gekozen om op basis van de Data Model dialoog en de Design Layout dialoog een formulier te prepareren. De opgenomen tabellen in de relaties kunnen zo eenvoudig een formulierstijl worden toegekend.

Rapporten

De hierarchische opbouw van een rapport in het Report Design Window van Paradox. De Report Expert is zoveel mogelijk gebaseerd op de Form Expert. Een goede zet natuurlijk: geen leercurve en zeer veel mogelijkheden. De Label Expert ondersteunt een groot scala aan labelformaten en is eenvoudig in het gebruik. Ook hier biedt Paradox, net als bij het prepareren van formulieren, de mogelijkheid dit te doen op basis van een data model.

Queries

Van onder naar boven het Query By Example Window, de SQL Editor en het query resultaat in Paradox. Voordat een query kan worden aangemaakt in Paradox, dienen eerst de database objecten geselecteerd te worden waarop de query losgelaten zal worden. Dan verschijnt het Query Window, waarin een Query By Example kan worden opgesteld. Door velden in de tabelafbeelding te selecteren en condities toe te voegen, kan een voorbeeld van het gewenste resultaat worden opgegeven. Query By Example klinkt dus wel vernieuwend, maar blijkt niet veel meer te zijn dan een standaard hulpmiddel bij het opstellen van een SQL statement. Betekent Query By Example namelijk niet: "Ik heb hier wat gegevens… heb ik nog meer gegevens die hierop lijken?"…

De onderliggende SQL statement van de Query By Example kan overigens ook in het goede SQL Editor Window worden geopend. Het is echter niet mogelijk om queries van de SQL Editor weer in te lezen in het Query Window. Eén van de betere ei genschappen is wel dat de syntaxkleuring volledig instelbaar is. Minder is alleen weer dat het wijzigen van instellingen wel eens angstaanjagende foutmeldingen kan veroorzaken en bovendien niet altijd het gewenste resultaat oplevert.

Implementeren

Scripts

ObjectPAL programmeren in de Script Editor van Paradox. De beschikbare functionaliteit kan worden opgezocht in de ObjectPAL Quick Lookup dialoog. Paradox kent geen visuele macro voorziening waarmee eenvoudige acties kunnen worden uitgevoerd. In plaats daarvan beschikt het over ObjectPAL, de object-georienteerde Paradox Application Language. Dit is een visuele programmeertaal die zelfs gecompileerd wordt, zodat een hoge uitvoeringssnelheid bereikt kan worden. Ook een debugger is aanwezig. Zelfs toegang tot de Windows API ontbreekt niet.

ObjectPAL code kan bijvoorbeeld met een button op een formulier worden geassocieerd. Het is ook mogelijk om ObjectPAL code onafhankelijk van een formulier als Script Object te bewaren, zodat de functionaliteit direct vanuit de Project Viewer kan worden uitgevoerd. De online hulp meldt overigens dat deze toepassing van ObjectPAL in andere produkten ook wel een macro wordt genoemd… Het uiteindelijke verbinden van een uitvoerbaar database object met een actie is inderdaad identiek; het aanmaken van de uit te voeren functionaliteit is in een macro voorziening echter wel veel beter geregeld.

Libraries

ObjectPAL is dus een krachtige programmeertaal. Niet alleen beschikken de Paradox database objecten over voorgedefinieerde methoden in de ObjectPAL Run-Time Library, maar bovendien kan de functionaliteit van de objecten ook nog uitgebreid worden met Custom Methods. Deze kunnen vervolgens worden bewaard in een Library Object.

Om de programmeertaak enigzins te verlichten beschikt Paradox over de ObjectPAL Quick Lookup dialoog. Hiermee kunnen de eigenschappen en methoden van de database objecten worden opgezocht en in de editor toegevoegd. Het vergt echter wel flink wat tijd en energie om ObjectPAL enigzins te leren kennen. Een eenvoudige, visuele macro voorziening zou de gebruikersvriendelijkheid van Paradox dan ook aanzienlijk verhogen.

Paradox WAS op het internet te vinden op http://www.corel.com/products/wordperfect/paradox8/index.htm.

Conclusie

Borland Paradox 7 is het buitenbeentje in Corel Office 7 Professional. Het beschikt over uitstekende Experts die vooral tijdens het ontwerpen van formulieren het werk enorm kunnen vereenvoudigen. De gebruikersinterface is op enkele punten echter te weinig flexibel, wat het werken met Paradox 7 soms minder prettig maakt. De geintegreerde programmeertaal ObjectPAL is zeer krachtig, maar heeft een aanzienlijke leerdrempel. Gelukkig bevat de online documentatie een schat aan toegankelijke informatie.

Gegevens

Product: Paradox 7
Producent: Borland
Toepassing: Database omgeving bij Corel Office 7 Professional
Minimale systeemeisen: Intel 486/25; Windows 95 met 8 MB of Windows NT en 9 MB harde schijf-ruimte
Leverancier: BorlandTelefoon Nederland en België: +31-205035100

Afbeeldingen

In de Restructure Dialog van Paradox kunnen alle tabelaspecten worden gedefinieerd. In de Data Model Dialoog van Paradox zijn geen tabelvelden te zien; wel zijn de tabelrelaties duidelijk. In de zeer duidelijke Object Explorer van Paradox is de hierarchie in de formulier objecten te zien; de object details worden rechts van de hierarchie getoond. De hierarchische opbouw van een rapport in het Report Design Window van Paradox. Van onder naar boven het Query By Example Window, de SQL Editor en het query resultaat in Paradox. ObjectPAL programmeren in de Script Editor van Paradox. De beschikbare functionaliteit kan worden opgezocht in de ObjectPAL Quick Lookup dialoog.

Approach 97

Lotus Approach 97, het database programma in Lotus SmartSuite 97, neemt ongeveer 35 MB schijfruimte in. Hiervan is dan 10 MB gereserveerd vo or de online hulpbestanden, waaronder een Guided Tour van 6 MB. Daarmee maakt het alvast een goede eerste indruk.

Documentatie

De bijgeleverde documentatie is van hoog niveau. Vrijwel alle aspecten van het werken met databases in Aproach passeren in een flink aantal hoofstukken de revue. Deze handleiding dient dan ook zowel als inleidend overzicht als naslagwerk. Bovendien is ook de online hulp erg goed, alleen bevindt het hulpvenster zich altijd bovenop alle andere vensters, wat soms wel onhandig is.

Overzicht

Een eerste blik op Approach verraadt direct enkele eigenzinnige eigenschappen; zo heeft het bijvoorbeeld een statusbalk die enkel uit een aaneenschakeling van knoppen en instellingen bestaat en een titelbalk waarin de uitleg van de commando’s getoond wordt. Ook Bubble Help, de enorme tekstballon waarin een korte icoon-omschrijving staat, valt niet te missen.

De werkruimte van een Approach database bestaat uit slechts één venster. Handig is dat mede hierdoor meerdere databases tegelijk geopend kunnen zijn in één werkruimte. Ieder venster is weer opgedeeld in een aantal pagina’s, die ieder een database object voor de gebruiker representeren. Jammer is wel dat aan de paginawijzer niet te zien is of het een formulier of een rapport betreft.

Approach heeft een flink aantal SmartIcon verzamelingen, beter bekend als werkbalken, waarmee acties en commando’s snel kunnen worden uitgevoerd. Bovendien kunnen deze verzamelingen per gebruiker worden aangepast. Tussen de verschillende gebruikerstaken kan worden gewisseld met de actiebalk, een speciale werkbalk, die knoppen bevat waarmee de formulieren en rapporten bekeken, gewijzigd en doorzocht kunnen worden. Overigens kan ook tussen deze verschillende toestanden worden gewisseld via één van de knoppen op de statusbalk.

Ontwerpen

Database

In Approach kan onder meer worden gewerkt met DBF-bestanden, waarin de tabelgegevens zelf staan. Formulieren, rapporten, queries en scripts worden echter in een Approach View bestand bewaard, dus ontkoppeld los van de gegevens zelf.

Een nieuwe database kan worden aangemaakt met behulp van een SmartMaster, een klinkende benaming voor een kopieergereedschap van het tabel-, formulier- en rapportagemodel van een bestaande voorbeeld database. Er zijn 13 SmartMasters voor database applicaties. De database wordt direct gegenereerd, zodat het helaas niet mogelijk is om instellingen te veranderen. Na het selecteren van een SmartMaster wordt direct het opstartscherm van de voorgebakken database applicatie getoond. Bepaald niet flexibel dus. Een pluspunt is weer dat de database ter verduidelijking in eerste instantie wordt gevuld met voorbeeldgegevens. Met behulp van een speciale knop in het hoofdmenu kunnen deze gegevens daarna weer verwijderd worden.

Tabellen

In de Field Definition Dialoog van Approach worden de tabelkolommen vastgelegd. Approach biedt maar liefst 61 SmartMaster sjablonen om nieuwe tabellen aan te maken. Dit lijkt in eerste instantie misschien veel, maar dat is het niet. Het is namelijk niet mogelijk wijzigingen aan te brengen aan de beschikbare tabellen. Bovendien is de verzameling SmartMasters niet gecategoriseerd, waardoor het nogal onduidelijk is welke voorbeeldtabel aan de wensen voldoet.

De velddefinities zijn wijzigbaar in de Field Definition dialoog. Het is wel vrij storend dat zowel de dialoog grootte als de kolombreedte niet gewijzigd kan w orden. De veld-specifieke informatie is overzichtelijk gerangschikt in twee pagina’s onderaan het venster. Op de eerste pagina is de beginwaarde van een nieuw record in te stellen en de tweede bladzijde is gereserveerd voor de validatieregels. Helaas moet echter iedere keer weer de Options knop worden ingedrukt voordat deze pagina’s te zien zijn.

Relaties

In het Join Window van Approach zijn de soorten relaties tussen tabellen niet te onderscheiden. In het Create Join Window van Approach kunnen relaties tussen tabellen worden gedefinieerd door eenvoudigweg de veldnamen te verslepen. In de bijbehorende Options dialoog kan daarna het relatie type worden gekozen. Gelukkig zijn alle objecten in het venster naar gelang te herschikken en is bovendien de grootte van het venster zelf ook aan te passen. De ondersteuning bij het opzetten van complexe database structuren is dus uitstekend. Het is zelfs mogelijk de visuele weergave af te drukken. De enige functionaliteit die het Create Join Window nu nog mist, is het ontbreken van een visuele onderscheiding in de relatie types.

Gebruiken

Formulieren

In de Form Design modus van Approach kunnen formulieren worden gemaakt met behulp van de Add Field dialoog en de Properties Dialoog. In Approach wordt een nieuw formulier altijd aangemaakt met behulp van de Form Assistant. Aan een Standard en de Column Layout kan hiermee een formulier een stijl worden toegekend en de velden in de onderliggende database die hierop dienen worden geplaatst. Formulieren waaraan meerdere tabellen ten grondslag liggen, kunnen worden aangemaakt met behulp van een repeating panel. Dit wordt gebruikt om de details in een één-op-meer relatie weer te geven.

Met de Add Field dialoog kunnen zeer eenvoudig velden aan een formulier worden toegevoegd zonder attributen te hoeven instellen. Deze toont de veldnamen in de database die op het formulier kunnen worden gesleept. Het aantal soorten objecten dat op een formulier kan worden geplaatst is overigens wel beperkt in Approach 97. Fraai is wel dat de daadwerkelijke gegevens al tijdens het ontwerpen van het formulier te zien zijn: "live-data" dus.

Via de Properties dialoog kunnen daarna de eigenschappen van het formulier object nog worden gewijzigd. Op de hier aanwezige zes pagina's kunnen zowel het uiterlijk als het gedrag van de formulier objecten zeer gemakkelijk worden ingesteld. Zo kunnen bijvoorbeeld applicatie-specifieke acties worden uitgevoerd door macro's te linken aan de formulier objecten.

Overigens moet wel worden vastgesteld dat Approach 97 van de hier besproken pakketten duidelijk de meeste tijd nodig heeft om het scherm na iedere wijziging weer te verfrissen.

Rapporten

In de Report Design modus van Approach wordt een rapport opgesteld. De Report Assistant biedt behalve de opmaakmogelijkheden van de Form Assistant ook samenvattingsmogelijkheden en totalen. Het afdrukken van etiketten en enveloppen kan gedaan worden met de uitgebreide Mailing Label Assistant en de Envelope Assistant. Deze twee hulpjes zijn namelijk niet geintegreerd met de Report Assistant.

Queries

Bij de Query By Box optie in de Find/Sort Assistant van Approach worden de verhoudingen tussen de query condities inzichtelijk gemaakt. Approach biedt een handige en zeer gebruikersvriendelijke manier om interactief een selectie op te vragen. Door eenvoudigweg de zoekstand te activeren, kunnen de voorwaarden op een lege versie van het gegevensformulier ingevuld worden. Eenvoudiger kan het niet.

Ook de Find/Sort Assistant maakt met zijn vijf typen zoekacties een goede indruk. Vooral de omschrijving in natuurlijke taal van het opgebouwde resultaat kan zeer behulpzaam zijn. Voor complexe zoekacties kan onder meer de Query By Box optie worden gebruikt. Per veld kan een conditie worden opgegeven, die vervolgens toegevoegd wordt aan de bijbehorende grafische weergave. Het voordeel hiervan is dat de onderlinge relaties tussen de condities inzichtelijk worden gemaakt. Relaties kunnen bovendien eenvoudig gewijzigd worden door de condities anders te groeperen. Helaas verschijnt alleen bij deze assistant achteraf geen omschrijving van de zoekactie in natuurlijke taal.

Met de SQL Assistant kan een verbinding worden gemaakt met een SQL of ODBC data bron. Vervolgens dient een SQL formulering te worden samengesteld waarna het resultaat geopend wordt in Approach. Helaas is er geen ingebouwde SQL editor beschikbaar. Overigens nam het aantal foutmeldingen bij het gebruik van deze SQL Asssistant aanzienlijk toe.

Implementeren

Macro's

In de Define Macro Dialoog van Approach kunnen eenvoudig macro’s worden opgesteld. In de Macros dialoog kunnen macro's onder meer aangemaakt, gewijzigd en uitgevoerd worden. Een nieuwe macro kan eenvoudig samengesteld worden in de Define Macro dialoog. Nadat eerst één van de voorgedefinieerde acties geselecteerd is in het bovenste deel van het venster, kunnen vervolgens de bij het commando behorende opties worden ingesteld in het onderste deel van het venster. Het opstellen van macro's in Apporach hoeft kortom niet geleerd te worden; dat gaat namelijk vanzelf.

En toch kan het nóg makkelijker. Met het Record Transcript commando kunnen zowel macro's als LotusScript procedures worden aangemaakt door de gewenste functionaliteit op te nemen door ze eenvoudigweg vóór te doen. Nóg makkelijker kan echt niet.

Scripts

Tijdens een debugsessie in de Script Editor van Approach zijn alle variabelen te bekijken. Behalve de Record Transcript mogelijkheid biedt Approach nóg een eenvoudige manier om kennis te maken LotusScript, de object-georienteerde programmeertaal van alle applicaties in Lotus SmartSuite 97. De Macros dialoog bevat namelijk een knop waarmee macro's omgezet kunnen worden naar een LotusScript procedure.

Hierop verschijnt de Script Editor, het invoervenster van de geintegreerde ontwikkelomgeving van LotusScript. Het onderste deel van het scherm bestaat uit vier pagina's waarop ondermeer de LotusScript elementen, zoals constanten en procedures, bekeken kunnen worden. Natuurlijk ontbreekt ook de geintegreerde debugger nie t, inclusief een bijbehorend variabelen venster. Een volwaardige ontwikkelomgeving dus.

Hoewel scripts standaard bewaard worden in het Approach bestand waarvoor ze zijn aangemaakt, is het ook mogelijk deze als aparte tekstbestanden of gecompileerde scriptobjecten op te slaan.

Internet

Het resultaat van de Internet SmartMaster in Approach. Approach biedt ook nog een aantal mogelijkheden die het werken met het internet eenvoudiger maken. Het bevat zelfs een Internet SmartMaster applicatie inclusief een voorbeeld database met 500 adressen. Deze SmartMaster illustreert hoe een internet pagina op een formulier kan worden getoond met behulp van de bijgeleverde WebTrek OCX Browser.

Approach is op het internet te vinden op http://www.software.ibm.com/data/db2/db2lotus/workdata/work-03.html.

Een Approach bestand kan eenvoudig worden geopend vanaf een internet locatie. Ook is het niet moeilijk om Approach bestanden te bewaren op het internet. Tenslotte biedt Apporach ook de mogelijkheid om formulieren en rapporten te bewaren als internet pagina’s. Approach belooft ieder record als aparte pagina te publiceren. Dit is een mooi idee, maar na talrijke pogingen bleek deze belofte helaas niet waargemaakt te worden.

Conclusie

Lotus Approach 97 biedt een uitgebreide werkomgeving die met name voor eindgebruikers van databases enkele sterke punten in zich heeft. Een goed voorbeeld hiervan is de intuitieve manier waarop eenvoudige zoekopdrachten kunnen worden opgegeven door voorwaarden in te vullen op het gegevens formu lier. Ook de macro voorzieningen zijn bijzonder gebruikersvriendelijk.

Voor gevorderde eindgebruikers en ontwikkelaars die graag een zo volledig mogelijk overzicht willen hebben van de verzameling database objecten, lijkt Approach echter niet in eerste instantie bedoeld. Ook de SmartMasters en Assistants zijn niet echt uitgebreid, maar de goede documentatie maakt uiteindelijk weer veel goed.

Gegevens

Product: Approach 97
Producent: Lotus
Toepassing: Database omgeving bij Lotus SmartSuite 97
Minimale systeemeisen: PC 80486/50; Windows 95 met 8 MB of Windows NT 4.0 met 16 MB en 25 MB harde schijf-ruimte
Leverancier: Lotus
Telefoon Nederland: ?; Telefoon België: ?

Afbeeldingen

In de Field Definition Dialoog van Approach worden de tabelkolommen vastgelegd. In het Join Window van Approach zijn de soorten relaties tussen tabellen niet te onderscheiden. In de Form Design modus van Approach kunnen formulieren worden gemaakt met behulp van de Add Field dialoog en de Properties Dialoog. In de Report Design modus van Approach wordt een rapport opgesteld. Bij de Query By Box optie in de Find/Sort Assistant van Approach worden de verhoudingen tussen de query condities inzichtelijk gemaakt. In de Define Macro Dialoog van Approach kunnen eenvoudig macro’s worden opgesteld. Tijdens een debugsessie in de Script Editor van Approach zijn alle variabelen te bekijken. Het resultaat van de Internet SmartMaster in Approach.

Samenvatting

Microsoft Access 97, Borland Paradox 7 en Lotus Approach 97 bieden zeer uitgebreide database omgevingen die vooral geschikt zijn voor eindgebruikers. Voor vrijwel iedere taak hebben deze programma's wel een hulpje. De Assistants en SmartMasters van Approach zijn relatief eenvoudig, maar voldoen in het algemeen redelijk. Vanwege de talrijke Wizards in Access is het soms niet direct duidelijk wélke Wizard het beste gebruikt kan worden, maar het loont meestal wel de moeite om de juiste krachtpatser uit te kiezen. Paradox heeft daarentegen voor iedere regelmatig voorkomende taak precies één uitgebreide Expert.

Access biedt de beste ondersteuning bij het ontwerpen van de database structuur. Approach heeft de meest gebruikersvriendelijke faciliteiten voor het aanmaken van macro's. Dit is een onderdeel dat in Paradox pijnlijk gemist wordt, temeer omdat de geintegreerde ObjectPAL gewoon te moeilijk is voor eindgebruikers. De programmeeromgevingen in Access en vooral Approach hebben een minder hoge leercurve.

In het Database Window van Access en de Project Viewer van Paradox kan eenvoudig een overzicht worden verkregen van de onderdelen waaruit de database is opgebouwd. Een database in Approach lijkt naar de gebruiker toe enkel uit een verzameling aanzichten op de gegevens te bestaan.

Tussen deze drie programma's zijn op veel onderdelen overeenkomsten te vinden in het werken met de verschillende database objecten. Alleen voor het opstellen van queries heeft ieder pakket een eigen oplossing bedacht. Query Design View, Query By Example en Query By Box zijn drie pogingen om eenvoud en uitdrukkingskracht op een gebruikersvriendelijke manier te combineren, maar het ei van Columbus lijkt nog niet gevonden te zijn. Paradox biedt het beste alternatief voor gevorderde gebruikers door een volwaardige SQL editor te integreren. Approach heeft een speciale zoekmodus die voor eenvoudige zoekopdrachten bijzonder handig is.

Access heeft het internet innig omarmd en ook in Approach is het internet bepaald geen onbekende. Het reeds twee jaar oude Paradox stamt echter nog uit de tijd dat het werken met het internet nog níet geintegreerd diende te zijn binnen de applicatie en heeft dan ook geen mogelijkheden op dit gebied.

Al met al biedt Microsoft Access 97 de meest complete database omgeving. Het kent geen slechte onderdelen, al is er nog wel voldoende ruimte voor verbeteringen. Dit maakt het geschikt voor zowel beginnende als gevorderde gebruikers. Borland Paradox 7 is op een aanta l punten bijzonder goed, maar het is alleen niet volledig. Vooral wat verder gevorderde gebruikers kunnen zich er echter prima thuis in voelen. Lotus Approach 97 lijkt zich tenslotte voornamelijk te richten op eindgebruikers.

Op punten

Waarderingsoverzicht

Kader

Kader: Desktop Databases

Ontwerpen

Database

Een database is een georganiseerde verzameling gegevens. Het belangrijkste kenmerk is wel dat de gegevens en de presentatie daarvan dynamisch benaderbaar zijn. Ook is de benodigde informatie eenvoudig en zeer snel opvraagbaar. Bovendien kan de integriteit van de gegevens afgedwongen worden door regels en controles te definieren.

Een database bestaat uit een aantal soorten objecten. Zo worden de gegevens bewaard in tabellen waartussen relaties kunnen worden gedefinieerd, het bekijken en bijwerken van de gegevens vindt plaats op formulieren, voor het opvragen van gegevens kunnen query objecten worden gebruikt en met rapporten kunnen onder meer analyses worden afgedrukt.

Tabellen

Een tabel bestaat uit een verzameling rijen en kolommen waarin de database gegevens worden bewaard. Een rij is opgebouwd uit een groep gerelateerde kolommen. Iedere kolom is een informatie veld waarop restricties en controles kunnen worden gedefinieerd. Zo kunnen beperkingen worden gesteld aan het datatype en de mogelijke waarden van de informatie.

In een goed database ontwerp zijn de tabellen bovendien zó gedefinieerd dat geen enkel gegeven meerdere keren wordt opgeslagen. Dit betekent dat er dan altijd een kolom of combinatie van kolommen moet zijn die voor iedere willekeurige rij een unieke waarde oplevert. Dit kan afgedwongen worden door voor deze kolom de hoofdsleutel te definieren.

Om snel gegevens te doorzoeken en te sorteren, kunnen indexen worden gedefinieerd op bepaalde kolommen. Een index bevat enkel een geordende versie van de kolomgegevens in de tabel en een referentie naar de fysieke rij. Hiervoor kan de hoofdsleutel weer gebruikt worden.

Relaties

In de praktijk bestaat een database vrijwel altijd uit meerdere tabellen. Om de samenhang en consistentie tussen de tabellen te verzekeren dienen relaties te worden gedefinieerd. Een relatie, link of join is een verbinding tussen twee tabellen op basis van gelijksoortige kolommen.

Er bestaan drie typen relaties. De meest voorkomende is de één-op-meer relatie, waarin een rij in de eerste tabel tegelijkertijd geassocieerd kan zijn met meerdere rijen in de andere tabel. Een één-op-één relatie komt minder vaak voor, maar kan nodig zijn om veiligheidsredenen of om de snelheid van de database te verhogen. Tenslotte bestaat een meer-op-meer relatie uit twee één-op-meer relaties met een tussentabel.

Gebruiken

Formulieren

Met een formulier kunnen database gegevens worden gepresenteerd en bewerkt op het computerscherm. Het verschaft een gebruikersvriendelijk aanzicht op de gegevens in één of meer tabellen. Bovendien kunnen formulieren worden gebruikt als applicatie menu en dialogen voor gebruikersinvoer. Kortom, met formulieren kan de complete gebruikersinterface voor de database gemaakt worden.

Rapporten

Met een rapportage kunnen database gegevens gepresenteerd worden in afdrukformaat. Aangezien een rapportage als een speciaal formulier gezien kan worden, is het niet zo verrassend dat het aanmaken ervan grote overeenkomsten vertoont met het opmaken van een formulier.

Queries

Met een query kunnen gegevens eenvoudig interactief worden opgezocht, bekeken, gewijzigd en geanalyseerd worden. Het loont vaak de moeite om veelgebruikte queries expliciet op te stellen als database object, mede omdat dit hergebruik en daardoor de onderhoudbaarheid van de database bevordert.

Implementeren

Macro's

Een macro bestaat uit één of meer eenvoudige acties waarmee regelmatig terugkerende handelingen uitgevoerd kunnen worden. Als belangrijk kenmerk van een macro kan gezien worden dat deze bestaat uit een aaneenschakeling van voorgedefinieerde acties. De uitdrukkingskracht van een macro is daarom per definitie beperkt, wat natuurlijk als pluspunt heeft dat de leerdrempel bijzonder laag is.

Procedures

Een module, script, library of programma is een logische eenheid van declaraties, procedures en functies die gedefinieerd zijn in een programmeertaal. Hiermee kan onder meer op maat gesneden functionaliteit aan de database worden toegevoegd die niet eenvoudig uitgedrukt kan worden met behulp van een serie voorgedefinieerde acties.