Dick Grooters Raadhuisstraat 296 5683 GM Best tel: 0499-392579 e-mail:
[email protected]
Database maken met workshops Wat is en database Onderdelen van een database Tabellen Query’s Formulieren Rapporten Macro’s en procedures Het Database managementsysteem Een nieuwe database openen Tabellen Waarom meerdere tabellen Welke tabellen nodig Maken van een tabel Het koppelen van tabellen Gegevens invoeren Rechtstreeks in tabel Met invoerformulier Menuformulier Keuzemenu met knoppen Query’s Soorten query’s Rapporten Macro’s en procedures Workshops Workshop 1 t/m 17 voor het bouwen van een compleet werkend adressensysteem voor meerdere groepen adressen met uitgebreide selectie mogelijkheden voor het maken van lijsten, etiketten en enveloppen. Leesadvies: Dit is geen leesboekje, maar een doe-boekje. Voer de workshops uit terwijl u leest.
1
Wat is een database Een database is een verzameling gelijksoortige gegevens. Vroeger werden deze gegevens veelal opgeslagen op kaarten in kaartenbakken. Sinds we werken met computers slaan we de gegevens op in tabellen, waarbij gelijksoortige gegevens bij elkaar in een tabel staan. Een database-managementsysteem is een computersysteem waarmee de gegevens in de database kunnen worden bewerkt en verwerkt en bruikbaar gemaakt voor de doelen waarvoor de gegevens zijn bijeengebracht. Zo’n database-managementsysteem bestaat veelal niet alleen uit tabellen maar omvat ook query’s, formulieren, rapporten en programmatekst.
Tabellen Een tabel bevat een aantal velden. In elk van die velden wordt één bepaald gegeven vastgelegd, bijvoorbeeld een naam of een postcode of een telefoonnummer. Een aantal bij elkaar behorende velden vormt een zogenaamd record. In zo’n record staan dan bijvoorbeeld naam en adresgegevens van één persoon. Een tabel bestaat dan uit een (groot) aantal records die dan tezamen bijvoorbeeld een ledenbestand van een vereniging vormen. In een database kunnen één of meerdere tabellen voorkomen.
Formulieren Formulieren worden in een databasesysteem gebruikt voor verschillende doelen. Men kan bijvoorbeeld een formulier inrichten als welkomstpagina van een systeem. Ook kan een formulier worden gebruikt om met behulp van knoppen een menu te maken om door middel van een enkele klik met de muis op een knop een bepaalde functie, bijvoorbeeld een overzicht afdrukken, in werking te stellen. Ook kunnen formulieren worden gebruikt voor het invoeren van gegevens in één of meerdere tabellen, of om gegevens in één of meerdere tabellen op te zoeken en op het scherm te zetten.
2
Query’s Query’s worden gebruikt om gegevens uit één of meerdere tabellen te selecteren (selectiequery’s) of te bewerken (actiequery’s). Een query bevat dus een aantal velden uit een of meerdere tabellen. In query’s van Access kunnen ook Expressievelden worden gemaakt die b.v. vaste gegevens kunnen bevatten of bewerkte gegevens uit bestaande velden. Per veld kan een criterium worden opgegeven waaraan de gewenste gegevens moeten voldoen, b.v. een geboortedatum die ligt tussen twee op te geven data, of postcodes die groter zijn dan de opgegeven postcode. Er wordt altijd gestart met een selectiequery, die dan zonodig later kan worden gewijzigd in een toevoegquery, een verwijderquery of een bijwerkquery. De meest gecompliceerde query is een kruistabelquery. In de workshops komen er verschillende aan de orde.
Rapporten Rapporten worden gebruikt om gegevens uit de database te presenteren met een fraaie opmaak. Ook het afdrukken van etiketten wordt gedaan met een rapport evenals bijvoorbeeld acceptgiro’s.
Macro’s en procedures Macro’s en procedures worden gebruikt om met behulp van de programmeertaal VBA (Visual Basic for Applications) speciale taken te laten uitvoeren. Zo kan bijvoorbeeld een controle op de geldigheid van een lidnummer of een bankrekeningnummer met een procedure worden gecontroleerd. Ook kan worden geregeld dat met enkele programmaregels bij het afdrukken van etiketten de keuze wordt voorgelegd welk soort etiketten wordt gebruikt. Het zal duidelijk zijn dat dit meer het werk voor gevorderden is.
Het Database managementsysteem. Er zijn verschillende database managementsystemen. Het bekendste is waarschijnlijk Access, dat onderdeel uitmaakt van het uitgebreide Microsoft Office pakket. Het is echter ook afzonderlijk te koop, maar is een duur programma. Vroeger (in het DOS-tijdperk) 3
was Dbase het bekendste database-managementsysteem. In het OpenOffice pakket zit ook een databasesysteem (Base), maar dat heeft nog niet de mogelijkheden die Access biedt. De workshops leiden tot een volledig werkzaam Adresregistratiesysteem waarmee lijsten, etiketten en enveloppen kunnen worden afgedrukt voor groepen adressen op basis van een kenmerk, od gemaakte selecties.De workshops worden stap voor stap beschreven.
Een nieuwe database openen. Een nieuw project begint altijd met het openen van een nieuwe lege database. Nadat u de nieuwe database hebt geopend en een naam gegeven verschijnt het databasevenster. In dit databasevenster kunt u kiezen voor tabellen, query’s, formulieren, rapporten of macro’s. U zult misschien denken: hé, ik mis de programmacode. In een Access database is de programmacode opgenomen in de formulieren, rapporten en macro’s. U kunt nu beginnen met het maken van nieuwe tabellen, formulieren, query’s of rapporten.
Tabellen. Een tabel is een verzameling bij elkaar behorende gegevens. Elke tabel bevat een of meerdere records en elk record bestaat uit een aantal velden. Elk veld bevat een bepaald gegeven. Dit kan een nummer of getal zijn, of tekst of een datum.
Waarom meerdere tabellen Meestal worden in een database meerdere tabellen gebruikt. Dat wordt gedaan om te voorkomen dat dezelfde gegevens meerdere keren opgeslagen moeten worden. In een factureringssysteem bijvoorbeeld worden meestal de volgende tabellen gebruikt: • Een tabel met gegevens van de artikelen die geleverd en gefactureerd kunnen worden. • Een tabel met gegevens van de klanten waaraan gefactureerd wordt.
4
•
Een tabel met gegevens van het bedrijf dat de facturen maakt.
Welke tabellen zijn nodig? Welke tabellen nodig zijn hangt helemaal af van wat men met het database systeem wil doen. Zoals hierboven is aangegeven is voor een factureringssysteem een andere set tabellen nodig dan bijvoorbeeld voor een ledenadministratie. Voor een adressenregistratiesysteem zoals we met deze workshops gaan maken wordt gewerkt met drie tabellen n.l. o Een tabel met de gegevens van de relatie. o Een tabel met de kenmerken. Het maken van een tabel Zoals we in onderstaande workshops zullen zien komen bij het maken van tabellen de volgende zaken aan de orde: Welke gegevens worden in welke tabel opgenomen. Welke relaties zijn er tussen de tabellen Wat is de unieke sleutel van de tabel Welk soort gegeven bevat elk veld (veldeigenschappen) Aan welke eisen moeten de verschillende gegevens voldoen (gegevensvalidatie)
Het koppelen van tabellen Als de relaties tussen de tabellen is vastgesteld kunnen de tabellen aan elkaar gekoppeld worden. Zo kan b.v. in een factureringssysteem de tabel klantgegevens worden gekoppeld aan de tabel facturen met behulp van het veld klantnummer dat in beide tabellen voorkomt. Het is niet nodig dat de namen van de te koppelen velden gelijk zijn. In ons Adressen systeem worden de tabellen Kenmerk en Namen gekoppeld met de kenmerkcode.
5
Gegevens invoeren. Directe invoer Als een tabel is gemaakt dan is het mogelijk deze te openen en daarin rechtstreeks gegevens in te voeren. Invoer d.m.v. Invoerformulier Beter is het om dat door middel van een invoerformulier te doen, omdat dat beter te beveiligen is tegen ongewenste invoer. Bovendien is het dan mogelijk om te werken met keuzelijsten of met standaardwaarden, waardoor de invoer beter gestuurd kan worden. We zullen daar later voorbeelden van zien.
Menuformulier Een ander soort formulier is een menuformulier. Dit is een formulier waarop een of meerdere knoppen zijn geplaatst waarmee diverse soorten opdrachten in werking kunnen worden gesteld zoals het openen van een invoerformulier, het afdrukken van een lijst, het uitvoeren van een query enz. enz. Ook hiervan zien we later voorbeelden.
Query’s Zoals hierboven beschreven bestaan er meerdere soorten query’s.
Rapporten Rapporten zijn voor de uitvoer van gegevens. Ze kunnen op het scherm worden getoond of afgedrukt.
Programmacode/macro’s Programmacode wordt dikwijls automatisch gemaakt als we b.v. een knop met een bepaalde functie op een formulier maken. Soms is het handig handmatig code te schrijven. Daarvoor is kennis van VBA noodzakelijk, hoewel in de help-bestanden van Access veel voorbeelden worden gegeven. 6
Workshop1 een database openen Start Access Kies als u Access 2003 hebt voor Nieuw bestand Kies Lege Access database Klik op OK Vul de naam Adressen0 in Kies de map Mijn Documenten, klik zonodig op Nieuwe map; vul de naam in van de nieuwe map:Adressen, vul als naam voor de nieuwe database in Adressen0. De keuze van de map is belangrijk in verband met de later te maken backup knop met bijbehorende procedure, omdat in deze procedure moet worden aangegeven waar de backup moet worden opgeslagen. Klik op Maken U ziet nu het databasevenster waarin u kunt kiezen uit Tabellen, Query’s, Formulieren, Rapporten, Pagina’s, Macro’s, en Modules Ook ziet u een menu met vele mogelijkheden, o.a. Extra en daaronder Opties. Dit laten we voorlopig allemaal ongemoeid.
Workshop 2 Een tabel maken Als u niet reeds Access heeft geopend en het databasevenster ziet, start u Access en kiest voor Bestaand bestand openen , kiest vervolgens uit de lijst Adressen0 en klikt op OK U ziet nu het databasevenster. (zie bovenstaande afbeelding) Kies voor Tabel maken in ontwerpweergave en klik op NieuwOntwerpweergave-OK We gaan in eerste instantie een systeem maken met één kenmerkveld van 1 positie (dus elk adres heeft een vast kenmerk voor de groep waartoe het adres behoort). Dit betekent dat, als een
7
adres in meerdere groepen (kenmerken) voorkomt dit adres meerdere keren moet worden ingevoerd. We doen dit omwille van de eenvoud van het systeem. Later gaan we dit veranderen en passen het systeem zodanig aan dat elk adres meerdere kenmerken kan krijgen zodat elk adres slechts eenmaal in het systeem hoeft te worden opgenomen. We gaan eerst de tabel Kenmerk maken: Vul in (u gaat van veld naar veld met de Tab-toets of de Entertoets.): Veldnaam kenmerk omschr
Gegevenstype tekst tekst
Veldeigenschappen
zet vereist op Ja, veldgrootte 1 laat vereist op Nee staan,veldgr. 30
Klik op het veld voor kenmerk en klik op primaire sleutel (Het sleuteltje in de balk onder de menubalk). Hiermee wordt het kenmerk als een unieke sleutel gedefinieerd. Dit is nodig om later verschillende tabellen d.m.v. deze sleutel aan elkaar te koppelen
Sluit het venster door op het rode X te klikken vul de naam - kenmerk - in en klik op OK Sluit Access d.m.v. het rode X rechtsboven.
8
Workshop 3 meer tabellen maken Open Access en Adressen0 Klik in het databasevenster opnieuw op Tabel maken in ontwerpweergave en maak de volgende twee tabellen. De tabel namen met de velden: Id autonummering ken aan dit veld de primaire sleutel toe Selectie tekst veldlengte 1 Kenmerk tekst veldlengte 1 Titul tekst veldlengte 7 Voorn tekst veldlengte 10 Tussenv tekst veldlengte 7 Anaam tekst veldlengte 30 Straat tekst veldlengte 30 Huisnr tekst veldlengte 8 Postk tekst veldlengte 6 invoermasker >9999\ ?? Woonpl tekst veldlengte 30 Telefoon tekst veldlengte 11 Mobiel tekst veldlengte 11 Email tekst veldlengte 40 Memo tekst veldlengte 50 Memo2 tekst veldlengte 50 Het invoermasker bij postk zorgt er voor dat de postkode automatisch wordt weergegeven met een spatie tussen de cijfers en de letters, waarbij de letters altijd met hoofdletters worden weergegeven ook al zijn kleine letters ingevoerd. De vraagtekens betekenen dat de letters niet verplicht zijn evenals de negens voor de cijfers. Verplichte cijfers worden aangegeven door nullen en verplichte letters door het teken L. Meer informatie over Invoermaskers vindt u in de helpbestanden onder de eigenschap Invoermasker. Sluit d.m.v. het rode X en vul de naam Namen in Sluit Access
9
Workshop 4 Het maken van een invoerformulier Open Access en Adressen0 Klik in het databasevenster op Formulieren Kies Formulier maken met wizard Klik op Ontwerpen Kies de tabel Namen Klik op >> , u ziet dat alle velden nu in het rechter venster staan. Klik op Volgende Kies voor kolomvorm en klik op Volgende Kies Expeditie Klik op Volgende Verander de voorgestelde naam in: muteren namen Kies voor Het ontwerp van het formulier wijzigen Klik op Voltooien U ziet nu het formulier in de ontwerpfase. Maak het formulier groter door de randen te verslepen tot een zodanig formaat dat er twee kolommen met velden naast elkaar kunnen staan en er bovendien een flinke kop bovenin het formulier past. De definitieve aanpassingen van het formaat komen later. Selecteer de groep van te verplaatsen velden door er met ingedrukte linker muistoets een rechthoek omheen te trekken. U kunt nu de geselecteerde groep samen verplaatsen naar de gewenste positie op het formulier door ergens in de groep te gaan staan, de linker muisknop ingedrukt te houden en te bewegen naar de gewenste plaats. Zo kunt u alle velden op de juiste plaats zetten. Een kop zet u als volgt in het formulier:
10
Klik in het venstertje van de Werkset op Aa (label) en teken met de ingedrukte linker muisknop een vak op de plaats waar u de kop wilt hebben. Als u de muisknop los laat kunt u in het vak de tekst ADRESSEN typen. Als u in Menu-Beeld nu kiest voor eigenschappen kunt u lettertype en grootte aanpassen. Kies voor deze hoofdkop voor lettergrootte 20. Op dezelfde wijze maakt u een sub-titel met de naam van het formulier zijnde MUTEREN NAMEN. Als u alle velden (met uitzondering van de zojuist gemaakte koppen) selecteert door er met ingedrukte muisknop een rechthoek omheen te slepen kunt u de eigenschappen (lettertype en lettergrootte) van alle velden tegelijkertijd wijzigen. Zet zo de lettergrootte van alle velden op 12. Klik daarna buiten een veld om terug te keren naar het formulier. U kunt elk veld qua grootte aanpassen door er op te klikken en de handlers (vierkantjes rondom het veld) te verslepen. Vergroot op deze manier de velden anaam, straat, woonplaats, postkode telefoon, mobiel en email.
Sluit het formulier en kies Ja om het op te slaan. Als de naam niet Muteren Namen is wijzigt u deze alsnog door er op te klikken en de naam aan te passen. Als u reeds eerder ingevoerde gegevens wilt bekijken of veranderen kunt u in dit mutatieformulier eenvoudig door alle records bladeren (alleen in de formulierweergave) met de z.g. record-handlers. Dit zijn de knopjes onderaan op het formulier. Het meest linker knopje brengt u naar het eerste record, het tweede knopje van links toont u het voorgaande record, het derde knopje van links toont het eerstvolgende record, het knopje rechts daarvan toont het laatste record, en het meest rechtse knopje toont het eerst lege record.
11
Als het formulier klaar is klikt u in het Menu op BeeldFormulierweergave. U kunt nu door verschuiven van de formulierranden het formulier de juiste afmetingen geven. Het formulier ziet er nu als volgt uit:
Sluit daarna het formulier af. We gaan er later nog een keuzevak op zetten om rechtstreeks naar een gewenst record te gaan.
Workshop 5 Het maken van het formulier Muteren Kenmerk. Start Access en Adressen0 Kies Formulieren Maak een nieuw formulier voor het muteren van de tabel Kenmerk. U gaat hiervoor op exact dezelfde wijze te werk als voor het maken van het formulier Muteren Namen (Workshop 4) met dien verstande dat, waar Muteren Namen staat u nu Muteren Kenmerk moet nemen en waar de tabel Namen wordt gebruikt nu de tabel Kenmerk wordt gekozen. Als dit formulier klaar is opent u het formulier Hoofdmenu in de ontwerpfase en plaatst u daar een knop voor het openen van het formulier Muteren Kenmerk.
12
Workshop 6 Het maken van het hoofdmenu. Open Access en Adressen1 Klik in het databasevenster op Formulieren Kies Formulier maken met wizard Klik op Ontwerpen Kies de tabel kenmerk (Er moet een tabel worden gekozen) Klik op kenmerk en daar na op >, u ziet dat het veld kenmerk nu in het rechter venster staat. Klik op Volgende Kies voor kolomvorm en klik op Volgende Kies Expeditie Klik op Volgende Verander de voorgestelde naam in: Hoofdmenu Kies voor Het ontwerp van het formulier wijzigen Klik op Voltooien U ziet nu het formulier in de ontwerpfase. Maak het formulier groter tot ca. 10 x 15 cm. Klik op het veld kenmerk en daarna op Delete. U hebt nu een blanco formulier. Maak een hoofdkop zoals eerder gemaakt in het formulier Muteren Namen. Klik in de Werkset op Opdrachtknop, ga met de cursor naar het formulier en teken een rechthoek ter grootte van 1 x 5 cm op de plaats waar u de knop wilt plaatsen. Klik op Formulierbewerkingen-Formulier openen klik op Volgende, en kies Muteren Namen en klik op Volgende. Kies voor Formulier openen en alle records weergeven en klik op Volgende. Selecteer Tekst en vervang de tekst Formulier openen door Muteren Namen, klik op Volgende vul in Muteren Namen en klik op Voltooien. Maak de knop zo graat als u wenselijk acht door te slepen met de handlers. Kies Beeld-Eigenschappen en kies als tekengrootte 12. Op het Hoofdmenu staat nu een knop om het formulier Muteren Namen te openen. We gaan nu de startpagina maken met enkele knoppen, om het hoofdmenu te openen en het systeem af te sluiten. Het Hoofdmenu ziet er nu als volgt uit:
13
Workshop 7 Het maken van de startpagina. Open Access en Adressen1 Klik in het databasevenster op Formulieren Kies Formulier maken met wizard Klik op Ontwerpen Kies de tabel kenmerk (Er moet een tabel worden gekozen) Klik op kenmerk en daar na op >, u ziet dat het veld kenmerk nu in het rechter venster staat. Klik op Volgende Kies voor kolomvorm en klik op Volgende Kies Expeditie Klik op Volgende Verander de voorgestelde naam in: Startpagina Kies voor Het ontwerp van het formulier wijzigen Klik op Voltooien U ziet nu het formulier in de ontwerpfase. Maak het formulier groter tot ca. 10 x 15 cm. Klik op het veld kenmerk en daarna op Delete. U hebt nu een blanco formulier. Maak een hoofdkop zoals eerder gemaakt in het formulier Muteren Namen. 14
Maak een groot labelvak en type daarin de tekst die u als welkomsttekst wilt zien. Dit kan b.v. een beknopte uitleg van de functionaliteit van het systeem zijn. Selecteer het vak en open het venster Eigenschappen in menu Beeld. Kies een voorgrondkleur en een achtergrondkleur en de lettergrootte. Selecteer het formulier (knop in bovenste balk links), ga naar BeeldEigenschappen en kies voor Opmaak-Navigatieknoppen-Nee. We plaatsen nu een knop onderaan op de startpagina om het formulier Hoofdmenu te openen. Dit gaat op dezelfde manier als boven is beschreven voor het maken van een knop op het hoofdmenu om het formulier Muteren Namen te openen. Let er op dat u in plaats van Muteren Namen steeds Hoofdmenu zet. Om een knop voor het afsluiten van het systeem te plaatsen gaat u als volgt te werk: Klik in de werkset op Opdrachtknop en teken op het formulier Hoofdmenu onderaan een vierkant ter grootte van ca. 1,5 cm. Kies Toepassing-Toepassing sluiten en klik op Voltooien. Sluit het formulier en klik op Ja als wordt gevraagd of u het formulier wilt opslaan. Het formulier ziet er nu als volgt uit:
15
Om u het werk van het invoeren van veel adresgegevens te besparen zullen de tabellen worden gevuld vanuit de PVGE ledenadministratie zodat in Adressen3 we verder kunnen werken met gevulde tabellen. Ik heb hierbij gekozen voor de clubleden van PVGE-Best. In de tabel Kenmerk zijn de verschillende clubs opgenomen met een letter a t/m z zodat we 26 clubs kunnen onderscheiden. In de tabel Namen is aan elk record het kenmerk toegevoegd van de club waarvan iemand lid is. Dit betekent dus dat leden die lid zijn van meerdere clubs ook meermalen in de tabel voorkomen. Dit gaan we later veranderen. We gaan nu op het formulier Muteren Namen nog een keuzelijst met invoervak plaatsen waardoor een te wijzige record meteen te vinden is. Tevens gaan we een knop op dit formulier zetten waarmee het betreffende record uit het bestand kan worden verwijderd.
Workshop 8 Het plaatsen van knoppen op het formulier Muteren Namen Open Access Adressen3 en kies in het database-venster Formulieren-Muteren Namen-Ontwerpen. We zien nu het volgende scherm: U ziet het formulier Muteren Namen in de ontwerpfase en links naast dit formulier ziet u in het Accessvenster de werkbalk met ontwerptools. In deze werkbalk
16
klikken we op het ikoon Keuzelijst met Invoervak en we tekenen met ingedrukte linker muisknop een rechthoek van ca. 8 mm hoog en 10 cm breed rechts naast het veld Huisnr. Zodra we de linker muisknop loslaten zien we het volgende venster: We kiezen hier voor de onderste optie en klikken op Volgende.
Nu verschijnt het volgende venster, waarin u moet aangeven welke velden in de Keuzelijst met Invoervak moeten worden opgenomen. U kiest voor de velden die in het naastgelegen venster zijn opgenomen in het rechter vak. Dit doet u door het veld links te selecteren en op > te klikken. Klik daarna op Volgende. U ziet dan onderstaand venster. Hierin kunt u de breedte van de kolommen aanpassen naar behoefte. Dit kan zonodig ook later nog door de Keuzelijst te selecteren en met menu Beeld-Eigenschappen in tabblad Opmaak aanpassingen te maken. Vergeet niet het veldje Sleutelkolom Verbergen aan te vinken.
17
Klik daarna op Volgende. Vul nu de tekst in die u in de label van het Keuzevak wilt zetten. Dat wordt: Welke Naam zoekt u? Klik daarna op Voltooien. Sleep nu de label met de tekst Welke Naam zoekt u? aan de handler recht boven het Keuzevak zodat het er nu als onderstaand uitziet.
Selecteer nu de Keuzelijst met Invoervak als dat nog niet is gebeurd en klik vervolgens op Beeld-Eigenschappen. Kies de tab Opmaak en wijzig de kolombreedte die aangegeven staat in 0 cm; 4 cm; 4 cm en lijstbreedte in 8cm, zoals in onderstaand venster is aangegeven. Klik daarna op de tab Overige in hetzelfde venster in vul bij tabvolgorde in 0. 18
Sluit het venster en het formulier en sla het op.
U bent nu terug in het databasevenster. Klik op Startpagina, klik op Start systeem en klik in het hoofdmenu op de knop Muteren Namen. U ziet de cursor staan in de keuzelijst. Vul daar uw naam in en druk de Enter toets in. Als u op het driehoekje rechts in de keuzelijst klikt ziet u dat sommige leden meermalen voorkomen. Die zijn dus lid van meerdere clubs. Later gaan we dat wijzigen zodat iedereen slechts eenmaal voor komt doch met alle kenmerken in één veld. Open het formulier Muteren Namen in de Ontwerpfase. Plaats een knop op het formulier en kies voor Record bewerkingen –Record Verwijderen. Klik op Volgende en selecteer het keuzerondje Tekst en vul de naam in Dit record verwijderen. Klik op volgende en geef ook de knop de naam Dit record verwijderen. Klik op Voltooien. Sla het formulier op. U kunt in het formulier Muteren Kenmerk ook een keuzelijst met Invoervak en een knop voor het verwijderen van records plaatsen, maar het aantal records in de tabel Kenmerk is slechts 26 zodat dat niet echt nodig is. Elk record is dan met de record-navigatieknoppen op de onderste balk gemakkelijk te bereiken. Rest ons nog het maken van de gewenste rapporten (lijsten, etiketten en enveloppen) en het plaatsen van de daarvoor benodigde knoppen op het Hoofdmenu.
19
Workshop 9 Relaties tabellen Omdat we in de rapporten gebruik willen maken van gegevens uit de beide tabellen moeten we eerst aangeven wat de relatie tussen de gegevens in de beide tabellen is. Ga in het databasevenster naar Menu-Extra-Relaties Voeg beide tabellen in het blad in. Klik op kenmerk van Namen en sleep dit naar kenmerk in Kenmerk. De veldenReferentiele integriteit afdwingen en de twee andere velden zet u zonodig uit. Klik daarna op Maken.
Workshop10 het maken van een rapport Adressenlijst We gaan eerst een query maken waarin we alle gegevens opnemen die we in de verschillende rapporten nodig zouden kunnen hebben en waarmee we kunnen kiezen voor welk kenmerk we het rapport willen maken. Ga in het databasevenster naar Query’s-Nieuw-Wizard Selectiequery en klik op OK. Kies in het volgende venster tabel Namen en klik op >> waarmee u alle velden in de query opneemt. Kies vervolgens tabel Kenmerk en klik weer op >> waardoor ook de twee velden van Kenmerk in de query opgenomen worden. Klik op Volgende. Kies de naam Rapport Query en zet het keuzerondje Het queryontwerp wijzigen AAN. Klik op Voltooien. U ziet nu het query-ontwerpvenster.
In het veld Criterium van Kenmerk_kenmerk:kenmerk (dat wil zeggen het veld kenmerk uit de tabel Kenmerk) zet u exact het volgende: [Welk kenmerk?] 20
Hierna slaat u de query op door deze te sluiten en op te slaan. Nu gaan we het rapport Adreslijst maken. Ga in het databasevenster naar Rapporten en kies Nieuw-Rapport maken met Wizard. Selecteer de query Rapport query , Kies Wizard Rapport en klik op OK. Kies nu de velden die u in het rapport wilt opnemen. Bedenk hierbij dat een A4 pagina, zelfs als u deze Landscape (in de breedte) print een beperkte ruimte heeft. We kiezen voor de volgende gegevens. Voorn Tussenv Anaam Straat Huisnr Postk Woonpl Telefoon Email Klik daarna op Volgende. Bij groepeerniveau’s vullen we niets in Bij sorteerniveau kiezen we Anam-oplopend Vervolgens kiezen we voor tabelvorm en Liggend (vanwege de breedte) Klik op Volgende Kies Zakelijk en klik op Volgende Kies als titel voor het rapport Adressenlijst Kies afdrukvoorbeeld weergeven en klik op Voltooien. Vul als kenmerk a in en klik op OK U ziet nu het rapport. We gaan nu nog een aantal zaken wijzigen. Dat doen we door het rapport weer te openen in de Ontwerp modus. Maak de ruimte voor de Rapportkoptekst en de Rapportvoettekst kleiner door de scheidingsbalken te verplaatsen en zonodig ook lijnen en tekstvakken. Klik op het pictogram Lijst met Velden in een van de menubalken bovenin het venster. Sleep het veld Kenmerk_kenmerk in de kop van het rapport. Sleep vervolgens het veld Omschr eveneens naar
21
de kop van het rapport. Klik op de naam van het veld Kenmerk_kenmerk: en verander dit in Kenmerk: Klik op de naam van het veld Omschr en druk op Delete zodat deze naam verdwijnt. Zet het veld Omschr achter het veld Kenmerk_kenmerk. Verklein het veld Kenmerk_kenmerk en vergroot het veld Omschr. Klik op Beeld-Formulierweergave en beoordeel het resultaat. Pas e.e.a. zonodig aan. Maak enige ruimte in de rapportvoettekst door de onderste rand ca 1 cm naar beneden te slepen. Klik in de linker werkbalk op Tekstvak en teken met de ingedrukte linker muisknop een rechthoek ca 3 cm van de linkerkant in de paginavoettekst. Verander het label in de tekst Totaal: en type in het tekstvak de volgende tekst: =Aantal([Anaam]) inclusief het = teken. Bekijk het resultaat door te klikken op Beeld-Formulierweergave. Pas zonodig e.e.a. aan. Het rapport ziet er nu als volgt uit in de ontwerpmodus:
en in de formulier modus als volgt:
22
Als alle gegevens die u op een rapport wilt zetten niet helemaal passen kunt u nog enige ruimte winnen door in het menu BestandPaginainstelling de linker- en rechtermarge verkleinen. Om meer regels op het rapport te krijgen kunt u ook de boven- en ondermarge verkleinen. Persoonlijk vind ik de standaardmarges van WORD 25 mm veel te groot. Ik zet deze meestal allemaal op 15 mm.
Workshop 11 Het plaatsen van een knop op het hoofdmenu voor de adreslijst. Open in het databasevenster het formulier Hoofdmenu. Zet op het Hoofdmenu een knop zoals eerder is beschreven. U kiest echter voor Rapportbewerkingen-Afdrukvoorbeeld Rapport. Dat houdt in dat het rapport niet meteen wordt afgedrukt maar dat u altijd eerst het rapport op het scherm te zien krijgt. Als het het juiste rapport is gaat u dan daarna naar menu Bestand-Afdrukken om het rapport echt te printen. U kiest het Rapport Adressenlijst en klikt op Volgende. Kies Tekst, Type de tekst op de knop en de knopnaam als Adressenlijst afdrukken en klikt op Voltooien.
Workshop 12 Het maken van etiketten. Een etiket is ook een rapport. Voor elk soort etiket is een afzonderlijk rapport nodig. Die rapporten maken we als volgt. We gebruiken voor de etiketten per kenmerk dezelfde query als we voor de adreslijst hebben gebruikt. Daarmee is meteen geregeld dat de vraag voor welk kenmerk we etiketten willen afdrukken opgelost. Ga in het databasevenster naar Rapporten en kies Nieuw. Selecteer in het daarvoor bedoelde veld onderin het venster de query Rapport query en selecteer vervolgens de Wizard adresetiketten in het bovenste veld. Klik daarna op OK U ziet nu onderstaand venster: U kiest hierin bij filteren op fabrikant Avery, u kiest voor losse vellen en maateenheid Metrisch. Daarna selecteert u het gewenste formaat etiket. In ons geval is dat dus voor zes verschillende etiketten ook zes verschillende rapporten. U moet dus zes keer deze procedure doorlopen met achtereenvolgens de keuze voor 48
23
x 70; 48 x 99,1; 42 x 70; 42 x 99,1; 33,9 x 70; 33,9 x 99,1 mm voor 6 x 3; 6 x 2; 7 x 3; 7 x 2; 8 x 3 en 8 x 2 per blad.
Klik op Volgende en kies als lettergrootte 10 en tekengewicht Normaal. Klik op Volgende en plaats de velden voorn, tussenv, anaam op regel 1 (denk aan een spatie tussen de velden.) Straat en huisnr op regel 2 Postk en woonpl op regel 3 Klik op Volgende en kies de gewenste sortering. Voor aanlevering in grote aantallen bij de postdienst is aanlevering op postkodehuisnummer gewenst. Klik op Volgende. Geef de naam Etiketten 3 x 8 respectievelijk etiketten 2 x 8 enzovoorts. Klik op Voltooien en beoordeel het resultaat. Het is waarschijnlijk verstandig om de tekst in het etiket ongeveer in het midden van het etiket te zetten. Daartoe trekt u met ingedrukte linker muisknop een rechthoek over alle velden heen zodat deze allemaal geselecteerd worden. U kunt de velden dan allemaal tegelijk verplaatsen. Ook kunt u de eigenschappen van alle velden tegelijkertijd wijzigen. Op dezelfde wijze maakt u dus de zes verschillende etiketten, of u kopieert er telkens een die u dan handmatig met menu BestandPaginainstelling aanpast. Als u de afmetingen door middel van slepen niet nauwkeurig genoeg kunt instellen kunt u dit doen door in de ontwerpmodus met 24
menu Beeld-Eigenschappen deze precies in te typen. Om de Eigenschappen van het rapport te kunnen instellen (voor de breedte) klikt u op het vierkantje linksboven in de hoek en voor de eigenschappen van de detailsectie (voor de hoogte) klikt u ergens in het etiket buiten de velden. Voor elk etiket moet u een knop plaatsen op het Hoofdmenu. Dit zijn dus knoppen voor het openen van een rapport. Kies in dit geval niet voor Afdrukweergave maar voor echt afdrukken. Dit zijn dus zes knoppen die u er kunt laten uitzien zoals in onderstaand Hoofdmenu aangegeven.
Een andere oplossing is om de keuze van de soort etiket met een stukje programmacode te regelen met een Inputbox waarmee de soort etiket wordt opgegeven waarop vervolgens het juiste etiket wordt gebruikt. Deze oplossing is in het systeem opgenomen als formulier Hoofdmenu1. Als u Hoofdmenu verwijderd en vervolgens de naam van Hoofdmenu1 wijzigt in Hoofdmenu hebt u het alternatief. Dit moet u overigens niet doen voor het gehele systeem klaar is.
Workshop 13 Het maken van een selectie. Selectie maken Een willekeurige selectie maken kan door met een selectiequery in het veld selectie van tabel Namen een letter of een ander teken te zetten. Als u bij b.v. zes namen een a in het veld selectie plaatst kun 25
u later met dit gegeven een lijst maken of etiketten of enveloppen door deze zes records op basis van die letter a te selecteren. We maken eerst een selectiequery met de velden: Selectie Kenmerk Voorn Tussenv Anaam Straat Huisnr Dit gaat als volgt: Kies in het databasevenster voor Query’s-Nieuw-Selectiequery Kies de tabel Namen en plaats de bovengenoemde velden in het rechter vak. Geef de query de naam Selectiequery en klik op Voltooien. Nu maken we nog een query waarmee we de gemaakte selecties weer kunnen verwijderen. Dit gaat als volgt: Kies in het database venster voor Query’s-Nieuw-Selectiequery Kies de tabelNamen en plaats het veld selectie in het rechter vak. Noem de query “Alle selecties verwijderen” en klik op Queryontwerp wijzigen en klik op Voltooien. Ga naar Menu-Query en klik op Bijwerkquery. U ziet nu het volgende venster:
Type nu in het veld Criterium van Selectie <> “ “ en in Wijzigen in: “ “ en sla de query op.
26
We gaan nu knoppen op het Hoofdmenu plaatsen om de beide query’s te kunnen openen. Open het Hoofdmenu in ontwerpmodus. Plaats een knop en kies voor Overige-Query uitvoeren. Kies de query Selectiequery en geef de knop de naam Selectie maken. Plaats daaronder nog een knop om de query Alle selecties verwijderen uit te voeren. Daarbij gaat u op dezelfde manier te werk als hierboven; in plaats van de Selectiequery kiest u echter de Verwijderquery.
Selectie gebruiken We moeten nu nog een adreslijst en zes etiketsoorten maken die niet als basis de query Rapport query hebben die naar een kenmerk vraagt, maar een soortgelijke query die naar een selectie vraagt (welke letter u in het veld selectie hebt gezet die u nu wilt gebruiken) Het minste werk is nu de Adressenlijst en de zes etiketten te kopiëren, deze b.v. nieuwe namen te geven met de toevoeging selectie en als gegevensbron de nieuw te maken query krijgen. We maken eerst de nieuwe query. Selecteer in het databasevenster-Query’s de query Rapport query. Klik in het menu op Bewerken-Kopieren (op de vraag Welk Kenmerk vult u een willekeurige letter b.v. a in) en daarna op BewerkenPlakken. Geef de naam Rapport query Selectie en klik op OK. Open nu de nieuwe query en verwijder bij Kenmerk_kenmerk het Criterium [Welk Kenmerk?] en type in het veld Criterium van Selectie [Welke Selectie?] en sla de query op. Kopieer nu het rapport Adressenlijst en noem de nieuwe lijst Adressenlijst Selectie. Open het nieuwe rapport Adressenlijst Selectie in de Ontwerpmodus en open zonodig het scherm Eigenschappen. Vervang onder Gegevens de recordbron rapport query door Rapport query Selectie zoals hieronder aangegeven.
27
Hetzelfde doet u voor de zes etiketten, dus kopieren en aan de naam Selectie toevoegen en bij Eigenschappen-Gegevens de recordbron rapport query vervangen door Rapport query Selectie. Hierna moet in het rapport Adressenlijst Selectie in de kop het veld Kenmerk worden vervangen door het veld Selectie en moet het veld Omschr worden verwijderd(Klik en Delete). Hierna moeten we nog de knoppen voor de Adreslijst Selectie en de zes knoppen voor de etiketten van de selectie op het Hoofdmenu plaatsen. Als dat is gebeurt ziet het Hoofdmenu er als volgt uit:
28
Adres op envelop afdrukken. Nu gaan we nog enveloppen voorzien van adresgegevens. We kiezen daarvoor drie formaten enveloppen n.l. A5 enveloppen, A6 enveloppen en enveloppen van ca. 22 x 11 cm. Access kent geen Wizard voor het maken van een enveloprapport zodat we deze zelf moeten definiëren. We maken een rapport door te kiezen voor Rapporten NieuwOntwerpweergave. We kiezen de query Rapport query en later voor de Selectie enveloppen de query Rapport query Selectie. We slepen het formaat van het rapport op de juiste afmetingen rekening houdend met een marge rondom van 1 cm. Vervolgens plaatsen we de adresgegevens in het rapport: Titul Voorn,Tussenv,Anaam Straat, Huisnr Postk,Woonpl De labels van de velden worden verwijderd. Maak een beetje ruimte tueen de velden. Als we het mooi willen doen, doen we het als volgt: Titul =[rapport query.voorn] & " " & [rapport query.tussenv] & " " & [rapport query.anaam] =[rapport query.straat] & " " & [rapport query.huisnr] =[rapport query.postk] & " " & [rapport query.woonpl] waarbij elke regel in een tekstvak wordt geplaatst. Hiermee wordt voorkomen dat er meer ruimte tussen de velden komt dam nodig is. De labels van de tekstvakken worden verwijderd Op deze manier worden alle enveloppen gemaakt. De paginainstelling moet op liggend worden ingesteld.
29
Workshop 14 Maken van een knop voor het Maken van een back-up. Knop Backup maken: Open Adressen6 In het hoofdmenu gaat u naar Menu-Beeld-Ontwerpweergave Plaats een knop, links onder op het formulier. Kies voor OverigeQuery uitvoeren. We hebben weliswaar geen query nodig, maar daardoor wordt een deel van de programmacode gemaakt die we gaan gebruiken. Kies de query selectiequery en klik op Volgende Kies tekst en vul in Backup maken Klik op Volgende Vul weer in BackupMaken en klik op Voltooien Sleep de knop naar de gewenste grootte Selecteer de knop (als deze nog niet geselecteerd is) en kies MenuBeeld-Eigenschappen-Gebeurtenis-Bij KlikkenGebeurtenisprocedure en open deze door op het meest rechtse vierkantje te klikken. Verwijder de drie regels code tussen de regels met On Error GoTo…. En Exit_BackupMaken_Click Type tussen deze twee regels de volgende tekst: U kunt het uzelf een stuk gemakkelijker maken als u de tekst voor Schijf D, E, F en G kopieert van de tekst voor Schijf C en dan even de C vervangt door D, E F en G. Dim Message, Title, Default, Myvalue Dim fs Message = "Naar welke drive wilt u de backup schrijven?" Title = "Drive letter opgeven" Default = "C" Myvalue = InputBox(Message,Title,Default) If IsEmpty(fs) Then Set fs = CreateObject("scripting.filesystemobject") End If fs.Copyfile "c:\Documents and Settings\Administrator\Mijn Documenten\Adressen\Adressen.mdb", Left(Myvalue,1) & “:\Adressen.mdb" Sluit het formulier af. Het system is nu klaar.
30
Workshop 16: Vervangen van het enkelvoudige kenmerk door meerdere kenmerken per adres. We willen nog de in het begin beloofde verbetering m.b.t. de meervoudige vermelding van dezelfde adressen aanbrengen. Hiervoor moeten de volgende zaken worden gewijzigd: In de eerste plaats moet het veld kenmerk in de tabel Namen worden uitgebreid van 1 naar 10 posities. Vervolgens moeten we de query die gebruikt wordt om een selectie van een kenmerk te maken, aanpassen. In plaats van in het veld kenmerk te kijken of daar het gevraagde kenmerk staat moet nu in datzelfde veld, waar wel 10 kenmerken kunnen staan, worden gekeken of het gevraagde kenmerk er tussen staat. Hiervoor is een stukje programmacode vereist. We passen eerst de tabel aan. Voordat een tabel gewijzigd kan worden moeten eerst de relatie van die tabel worden verwijderd. Hiervoor gaan we in het databasevenster naar tabellen en klikken op Extra-Relaties. Klik met rechts op het relatielijntje tussen de velden kenmerk. U moet nu twee mogelijkheden krijgen nl verwijderen en bewerken. Als u die niet ziet moet u het opnieuw proberen. Dit vereist een grote nauwkeurigheid bij het klikken. Klik op Verwijderen. Open in het databasevenster Tabellen en selecteer tabel Kenmerk. Klik op Ontwerpen. Klik op veld kenmerk en wijzig veldlengte in 10. Sluit het venster. Nu gaan we een query maken die het mogelijk maakt om uit het veld kenmerk, waarin nu meerdere kenmerken staan het gewenste kenmerk te kiezen. Daarvoor kopiëren we de query Rapport query en geven die de naam RapportKenmerk query. In deze query wordt het veld Kenmerk van tabel Kenmerk verwijderd (dat is het veld waar in Criterium staat: [Welk Kenmerk?]. Toegevoegd worden 9 velden met expressies Expr1 t/m Expr9, zoals in onderstaand venster is aangegeven. Expr1 is Expr1:Mid([namen.kenmerk];1;1) , Expr2:Mid([namen.kenmerk];2;1) Expr3:Mid([namen.kenmerk];3;1) enz.
31
In het veld Criterium komt te staan [Welk Kenmerk?] en wel bij Expr1 in het eerste veld, bij Expr2 een regel lager enz. De betekenis van deze expressies is dat de expressies weergeven of in een van de posities 1 t/m 9 de letter, die met [Welk Kenmerk?] wordt opgegeven, voorkomt. Als dit zo is dan wordt dat adres in de query opgenomen. Vervolgens wordt een veld toegevoegd n.l. ExprK:[Welk kenmerk?]
Daarna moet nu de query Rapport query, die de basis was (en blijft) voor de lijst of de etiketten per kenmerk, worden gewijzigd. In plaats van de tabellen Namen en Kenmerk moet dat nu worden de tabel Kenmerk en de query RapportKenmerk query die we zojuist hebben gemaakt. Hiervoor gaan we als volgt te werk. We openen de query Rapport query in Ontwerpmodus. We voegen de query RapportKenmerk query toe als gegevensbron door middel van icoon “Tabel weergeven-Query’s; u selecteert de query RapportKenmerk query en klikt op Toevoegen” Dan vervangen we in alle velden waar tabel “namen” staat deze door “RapportKenmerk query”. Dit doen we door in elk veld tabel te selecteren, te klikken op het driehoekje en te klikken op RapportKenmerk query. Daardoor wordt namen vervangen. Als in alle velden “namen” is vervangen klikken we in het bovenste vak, waar de twee tabellen en de query staan op * van tabel
32
“namen” en drukken op Delete. Dan wordt de tabel “namen” verwijderd. Ook wordt de parameter [Welk Kenmerk?] verwijderd in de regel Criterium; deze staat namelijk al in de onderliggende query RapportKenmerk query. Ook in deze query wordt de expressie ExprK toegevoegd door deze te slepen vanuit RapportKenmerk query naar het eerste vrije veld in het onderste deel van de query. We maken nu een relatie tussen de velden ExprK van de query en het veld Kenmerk van de tabel Kenmerk door te klikken op “kenmerk” in de query en te slepen naar “kenmerk” in de tabel Kenmerk. In Rapport query Selectie moet de relatie tussen de kenmerk velden worden gewijzigd naar “Alle records uit Namen en alleen ………”.
Workshop 17 Het opnemen van etiket- en envelopkeuze in een InputBox We hebben voor elk type etiket en envelop een aparte knop in het Hoofdmenu gezet, waardoor we direct het juiste rapport kunnen kiezen. Dat betekent wel dat er veel knoppen op het menu komen te staan. Een alternatief is de keuze van het soort etiket of het type envelop in een InputBox te laten aangeven door na het indrukken van de keuzeknop in een dan verschijnende InputBox de vraag te laten beantwoorden welk soort u gebruikt. Op deze manier kunnen we de 18 knoppen vervangen door 4 knoppen met onderstaande programmacode. We verwijderen daarvoor de 18 reeds eerder gemaakte knoppen en maken nieuwe knoppen zoals aangegeven op onderstaand venster. We kiezen daarbij telkens een etiket of envelop die dan in de programmacode wordt
33
opgenomen, en vervangen dan de code door die welke onderstaand staat vermeld. De programmacode bij de 4 nieuwe knoppen is: Private Sub AdresOpEnvelop_Click() On Error GoTo Err_AdresOpEnvelop_Click Dim stDocName As String Dim stDocName As String Dim Message, Title, Default, Myvalue Message = "Welke enveloppen gebruikt u? A5 (Kies 1) of A6 (Kies 2) of 1/3 x A4 (Kies 3)" Title = "Keuze envelopsoort" Default = "1" Myvalue = InputBox(Message, Title, Default) If Left(Myvalue, 1) = "1" Then stDocName = "envelop A5" Else If Left(Myvalue, 1) = "2" Then stDocName = " envelop A6 " Else stDocName = " envelop 1/3 x A4" End If End If DoCmd.OpenReport stDocName, acNormal Exit_AdresOpEnvelop_Click: Exit Sub Err_AdresOpEnvelop_Click: MsgBox Err.Description Resume Exit_AdresOpEnvelop_Click End Sub Private Sub AdresOpEnvelopSelectie_Click() On Error GoTo Err_AdresOpEnvelopSelectie_Click
34
Dim stDocName As String Dim Message, Title, Default, Myvalue Message = "Welke enveloppen gebruikt u? A5 (Kies 1) of A6 (Kies 2) of 1/3 x A4 (Kies 3)" Title = "Keuze envelopsoort" Default = "1" Myvalue = InputBox(Message, Title, Default) If Left(Myvalue, 1) = "1" Then stDocName = "envelop A5 Selectie" Else If Left(Myvalue, 1) = "2" Then stDocName = " envelop A6 Selectie" Else stDocName = " envelop 1/3 x A4 Selectie" End If End If DoCmd.OpenReport stDocName, acNormal Exit_AdresOpEnvelopSelectie_Click: Exit Sub Err_AdresOpEnvelopSelectie_Click: MsgBox Err.Description Resume Exit_AdresOpEnvelopSelectie_Click End Sub Private Sub EtikettenVanKenmerk_Click() On Error GoTo Err_EtikettenVanKenmerk_Click Dim stDocName As String Dim Message, Title, Default, Myvalue Message = "Welke etiketten gebruikt u? 2 x 6 (Kies 1), 2 x 7 (Kies 2), 2 x 8 (Kies 3), 3 x 6 (Kies 4), 3 x 7 (Kies 5) of 3 x 8 (Kies 6)" Title = "Keuze etiketsoort" Default = "1" Myvalue = InputBox(Message, Title, Default) If Left(Myvalue, 1) = "1" Then stDocName = "etiket 2 x 6"
35
Else If Left(Myvalue, 1) = "2" Then stDocName = " etiket 2 x 7" Else If Left(Myvalue, 1) = "3" Then stDocName = " etiket 2 x 8" Else If Left(Myvalue, 1) = "4" Then stDocName = " etiket 3 x 6" Else If Left(Myvalue, 1) = "5" Then stDocName = " etiket 3 x 7" Else If Left(Myvalue, 1) = "6" Then stDocName = " etiket 3 x 8" End If End If End If End If End If End If DoCmd.OpenReport stDocName, acNormal Exit_EtikettenVanKenmerk_Click: Exit Sub Err_EtikettenVanKenmerk_Click: MsgBox Err.Description Resume Exit_EtikettenVanKenmerk_Click End Sub Private Sub EtikettenVanSelectie_Click() On Error GoTo Err_EtikettenVanSelectie_Click Dim stDocName As String Dim Message, Title, Default, Myvalue Message = "Welke etiketten gebruikt u? 2 x 6 (Kies 1), 2 x 7 (Kies 2), 2 x 8 (Kies 3), 3 x 6 (Kies 4), 3 x 7 (Kies 5) of 3 x 8 (Kies 6)" Title = "Keuze etiketsoort" Default = "1"
36
Myvalue = InputBox(Message, Title, Default) If Left(Myvalue, 1) = "1" Then stDocName = "etiket 2 x 6 Selectie" Else If Left(Myvalue, 1) = "2" Then stDocName = " etiket 2 x 7 Selectie" Else If Left(Myvalue, 1) = "3" Then stDocName = " etiket 2 x 8 Selectie" Else If Left(Myvalue, 1) = "4" Then stDocName = " etiket 3 x 6 Selectie" Else If Left(Myvalue, 1) = "5" Then stDocName = " etiket 3 x 7 Selectie" Else If Left(Myvalue, 1) = "6" Then stDocName = " etiket 3 x 8 Selectie" End If End If End If End If End If End If DoCmd.OpenReport stDocName, acNormal Exit_EtikettenVanSelectie_Click: Exit Sub Err_EtikettenVanSelectie_Click: MsgBox Err.Description Resume Exit_EtikettenVanSelectie_Click End Sub -----------------------------------------------------------------------------------Het systeem is nu helemaal klaar. Als u echter bij het gebruiken van het systeem niet steeds het databasevenster wilt zien dan gaat u naar Menu-Extra-Opstarten
37
haalt u het vinkje weg bij Databasevenster weergeven. Na opstarten is dan het database venster weg. U kunt dit venster weer openen door het adressen systeem niet af te sluiten met de STOP knop maar met het rode kruisje rechtsboven en vervolgens met Menu-Bestand de net gesloten database weer openen met een zichtbaar databasevenster. U kunt een snelkoppeling op uw bureaublad zetten door de volgende handelingen: Open de Verkenner Ga naar de map waarin adressen.mdb staat (Dit is de map Program Files\adressen) Klik met de rechtermuisknop op adressen.mdb Klik op Kopiëren naar Bureaublad Sluit alle vensters Pas indien gewenst de tekst onder de snelkoppeling aan door er op te dubbelklikken en de tekst te wijzigen. Veel van de in deze workshops toegepaste technieken kunt u ook gebruiken voor andere databasetoepassingen. Selecteer in het databasevenster het formulier Hoofdformulier en ga naar menu Extra-Opstarten. Vul daar in als Toepassingsnaam: Adressen en bij Formulier weergeven kiest u Hoofdformulier.
38
Workshops Nr
Naam
Beginnen met:
1 2 3 4 5
Een database openen Access Een tabel maken Access Adressen0 Meer tabellen maken Maken invoerformulier Muteren Namen Maken invoerformulier Muteren Kenmerk
6 7
Maken Hoofdmenu Maken Startpagina
Access Adressen1
8
Plaatsen Keuzelijst met Invoervak Plaatsen Verwijderknop
Access Adressen3
9 10 11 12
Relaties Rapport Adreslijst Knop Adreslijst plaatsen Maken etiketten Plaatsen knoppen voor etiketten
Access Adressen4
13
Maken van Selectie
Access Adressen5
14 15
Adres op envelop printen Maken knop voor Backup
Access Adressen6
16
Vervangen enkelvoudig kenmerk
Access Adressen7
17
Etiket en envelop keuze in InputBox
Access Adressen8
Het eindresultaat is Adressen.mdb
39
Met name bij het maken van query’s en programmacode kunt u gebruik maken van de uitgebreide Help functie in Access. Vaak kan dat door tijdens deze handelingen op F1 te drukken. Ook kan de Help functie worden geopend in het menu Help. Als u vervolgens in het zoekvenster typt wat u zoekt krijgt u veelal antwoord op de gestelde vraag. Vaak zijn ook voorbeelden beschikbaar. b.v. in workshop 16 wordt de functie Mid gebruikt, om in een tekststring te onderzoeken of een bepaalde letter voorkomt. Als u in het zoekvenster van Help Mid typt krijgt u de syntax van deze functie te zien.
40