730 likes | 962 Vues
MS-Access. Gegevens beheren en rapporteren. Wat leren we in deze cursus?. Inleiding: waarom een database? Analyse Tabellen en relaties Data selecteren met queries Data beheren met formulieren Data weergeven in rapporten Werken met macro’s.
E N D
MS-Access Gegevens beheren en rapporteren Digitale Beelden
Wat leren we in deze cursus? • Inleiding: waarom een database? • Analyse • Tabellen en relaties • Data selecteren met queries • Data beheren met formulieren • Data weergeven in rapporten • Werken met macro’s
Conventies (Kan ook zonder, maar is beter met….) • Voor tabellen: start de naam met tbl_xxxxxx • Voor queries voor formulieren: start de naam met qry_xxxxx • Voor queries voor rapporten: start de naam met rap_xxxxx • Voor losse occasionele queries start de naam met sel_xxxxx • Voor formulieren: start de naam met frm_xxxxx • Voor rapporten: start de naam met Rap_xxxxx • Voor naamgeving: alterneer met hoofdletters: bv. LeveringsDatum of ProductCategorie
1. Inleiding Waarom een database?
Definitie (Wikipedia) • Een database, gegevensbank of databank is een digitaal opgeslagen archief, ingericht met het oog op flexibele raadpleging en gebruik. Databases spelen een belangrijke rol voor het archiveren en actueel houden van gegevens bij onder meer de overheid, financiële instellingen en bedrijven, in de wetenschap, en worden op kleinere schaal ook privé gebruikt. • Een database moet aan de volgende minimale voorwaarden voldoen om als database gezien te worden: • Gegevens moeten eenvoudig kunnen worden opgeslagen. • Gegevens moeten eenvoudig kunnen worden opgezocht en doorzocht. • Gegevens moeten gewijzigd kunnen worden. • Gegevens moeten verwijderd kunnen worden zonder dat dit de werking van dat systeem nadelig beïnvloedt.
Hoe gaat men tewerk? • Stap 1: analyse van het probleemdomein dat men wil informatiseren: • Wat zijn de belangrijkste elementen? • Wat zijn hun eigenschappen? • Stap 2: kies een database ontwikkelingsomgeving • Oracle, MySQL, MS-Access • Online of offline • Stap 3: ontwikkeling van de database • Stap 4: inbrengen van de gegevens en beheer ervan
In deze cursus… • Probleemdomein: een bedrijf verkoopt een reeks producten.Ze worden besteld door klanten en een aantal medewerkers staan hier voor in. Het bedrijf maakt de producten niet zelf, maar koopt ze aan bij een aantal leveranciers. De voorraad moet goed beheerd worden: tijdig bijvullen. • We maken gebruik van MS-Access en werken uitsluitend offline: het bedrijf heeft geen web winkel.
Deel 1: Analyse Het analyse model
Zoek de belangrijkste elementen Bestelling Medewerker Klant Product Leverancier Magazijn
Zoek relaties tussen elementen 1 n n 1 Klant Bestelling Medewerker 1 1 1 1 1 n n 1 n 1 Product 1 1 1 1 Leverancier Magazijn 1 1
Relaties eenvoudiger voorgesteld 1 n n 1 Klant Bestelling Medewerker n n Product n 1 1 1 Leverancier Magazijn
Zoek hun eigenschappen Klant Bestelling Medewerker • Klant-ID • Naam • Voornaam • Adres • Postcode • Stad • Regio • Land • Telefoon • Fax • Bestelling-ID • Klant-ID • Medewerker-ID • BestelDatum • LeveringsDatum • VerzendingsDatum • Verzonden • Betaald • Medewerker-ID • Naam • Voornaam • Afdeling • Chef • Binnenpost • E-mail • Fax • Regio • Medewerker-ID • Adres • Postcode • Stad • Telefoon Leverancier Product Magazijn • Leverancier-ID • BedrijfsNaam • Adres • Postcode • Stad • Regio • Telefoon • Fax • Procuct-ID • ProductNaam • Beschrijving • RichtPrijs • Categorie • Leverancier-ID • Product-ID • MinimumStock • AantalInStock • AantalBesteld • BestelDatum • LeveringsDatum • Ontvangen • Betaald
Soorten relaties in MS-Access A B 1 1 B A B A B A AB • A-ID • B-ID • A-ID • A-ID • A-ID • A-ID • B-ID • B-ID • A-ID A B 1 n A B n n
Het Analysemodel Klant Bestelling Medewerker • Klant-ID • Naam • Voornaam • Adres • Postcode • Stad • Regio • Land • Telefoon • Fax • Bestelling-ID • Klant-ID • Medewerker-ID • BestelDatum • LeveringsDatum • VerzendingsDatum • Verzonden • Betaald • Medewerker-ID • Naam • Voornaam • Afdeling • Chef • Binnenpost • E-mail • Fax • Regio BesteldProduct Categorie • Bestelling-ID • Product-ID • Prijs • Aantal • Categorie-ID • Benaming • Omschrijving Leverancier Product Magazijn • Leverancier-ID • BedrijfsNaam • Adres • Postcode • Stad • Regio • Telefoon • Fax • Procuct-ID • ProductNaam • Beschrijving • RichtPrijs • Categorie • Leverancier-ID • Product-ID • MinimumStock • AantalInStock • AantalBesteld • BestelDatum • LeveringsDatum • Ontvangen • Betaald
Deel 2: De Tabellen en Relaties Het analyse model omzetten in tabellen en relaties
Tabellen • De kolommen noemt men nu Velden, met een Veldnaam • Elk veld is van een bepaald GegevensTypedat bepaalt hoeveel geheugenruimte moet worden voorzien • De rijen noemt men nu Records • Een Primaire Sleutel dient omde records uniek te maken en te ordenen.Type meestal AutoNummering • Toegelaten gegevenstypes: het laatstezijn enumeraties(een gesloten set)bv. de dagen van de week
Tabellen maken • Maken Tabel Opslaan als tbl_xxxxxx • Ga naar • Definieer de veldnamen en de bijhorende gegevenstypen • Definieer de sleutel
Relaties in het globaal model De te linken velden Geen open linken toelaten Updates zettenzich voort Deletes zettenzich voort Type relatie
Relaties in een query • De relatie in een query overschrijft de relatie in het globaal model. • In een query bepaalt de relatie de manier waarop de gegevens zullen worden opgehaald: in de richting van de pijl
Deel 3: Queries Gegevens selectief ophalen
Waarvoor zijn queries nodig? • Om gegevens te sorteren • Om selectief gegevens op te halen • Om een formulier of rapport aan meerdere tabellen te koppelen Maken in 4 stappen • 1. Kies de tabellen die van toepassing zijn • 2. Leg de juiste relaties • 3. Kies de velden die zullen worden gebruikt (*= alle velden) • 4. Stel de selectiecriteria in
Selectiecriteria • Enkelvoudig: voor elk gewenst veld schrijf je operator waarde • Operator is : =, NOT, <, > • Waarde hangt wel af van het type : • “xxxxx” voor een string • #xxxx# voor een datum • xxxx voor een getal • Null voor een leeg veld • Like “A*” : alles wat met een A begint • Meervoudig: schrijf een AND tussen de voorwaarden of schrijf de voorwaarden onder elkaar ( is een OR) • Gebruik ( haakjes) om het duidelijker te maken
3.1 Een query voor één tabel De gegevens sorteren
qry_Klant : sortering op Naam Kies allevelden Testen Oplopendsorteren Niet weergeven(staat al in *)
De SQL weergave • Queries gebruiken Structured Query Language (SQL) om opdrachten aan een database door te geven. • In Access kan je voor elke query deze SQL bekijken door op de knop Weergave te klikken en te kiezen voor SQL. • Voor ons voorbeeld ziet dat er zo uit:
Deel 4 : Formulieren Op een visuele manier gegevensinvoeren, raadplegen en aanpassen
Een formulier voor de Klant • Stap 1: een leeg formulier maken • Stap 2: de velden toevoegen • Stap 3: 2 keer kopiëren • Stap 4: aanpassen voor invoeren, raadplegen, wijzigen
4.1Een formulier voor één tabel Beheer van statische gegevens(Invoeren, Aanpassen, Raadplegen)
frm_Klant_Invoeren Eigenschappenaanpassen
frm_Klant_Aanpassenfrm_Klant_Raadplegen • Klik weer op eigenschappen • Kies gegevens • Zet de combinatie juist • Aanpassen:verwijderen vergt recordkiezer aan !! • Raadplegen
Een paar eigenschappen • Popup: het formulier draaitin zijn eigen venster • Geen record kiezers • Knoppen niet vergeten
Gegevens voor oefeningen • Medewerkers • Leveranciers
Gegevens voor oefeningen • Producten • Categorieën
4.2 Formulier met meerdere tabellen en sub-formulier Dynamische gegevens beheren(Invoeren, Aanpassen, Raadplegen)
Wat willen we maken? Leesbare namen,geen -ID BasisgegevensBestelling Lijst Producteninsubformulier
1. Maak frm_Bestelling_Invoeren • Maak dit invoer formulier, als popup, gebaseerd op de tabel tbl_Bestelling • Gebruikt Tekstvak, Keuzelijst met invoervak, Keuzevakje en Lijn
Formulier koppelen aan tabel • Klik op zwart rechthoekje van het formulier • Open de tab Gegevens en stel de Recordbron in • Alle velden van de tabel zijn nu ter beschikkingvoor besturingselementen op het formulier
Tekstvak koppelen aan gegevens • Selecteer het tekstvak en klik op de knop of klik met de rechtermuisknop en kies Eigenschappen. • Open de tab Gegevens en stel de besturingselementbron in
Keuzelijst met invoervak • 1. invoervak koppelen aan de gegevens • Besturingselementbron • Afhankelijke kolom van de lijst • 2. De lijst opmaken: • Gebruik 3 velden: deKlant-ID, Naam en Voornaam • Toon enkel tweede en derde(kolombreedte = xx cm;) • Toon de eerste 16(aantal rijen)
2. Maak sub_Bestelling_Product • Maak dit invoer formulier, gebaseerd op de tabel tbl_BesteldProduct • Gebruikt Tekstvak en Keuzelijst met invoervak • Standaardweergave instellen op Doorlopend Formulier
3. Plaats het subformulier • Kies en plaats een subformulier • Op de tab Gegevens en… • Stel het bronobject in: dit is de naam van het subformulier • Koppel de hoofd- en sub velden via de gemeenschappelijke sleutel
3.2 Queries met meerderetabellen Input voor een rapport…