Access XP Einführung Silvie Charif © 2003 www.charif-edv.ch
Inhalt Komponente einer Datenbank Relationale Datenbank Beispiel: Relationale Datenbank Schlüssel Primärschlüssel Fremdschlüssel Indizien Datenbank-Entwurf Übung: Entwurf Lagerverwaltung Normalisierung 2. Normalform 3. Normalform Beziehungen Auflösung n:m Beziehung Übung: Entwurf Bücherverleih Übung: Bücherverleih 1 Übung: n:m-Beziehung Feldeigenschaften Platzhalter Gültigkeitsregeln Übung: Gültigkeitsregel Übung: Daten erfassen Abfragen Bespiele von Abfragen Übung: Sortierabfragen 1 Übung: Sortierabfrage 2 Übung: Sortierabfrage 3 Übung: Auswahlabfrage 1 Übung: Auswahlabfrage 2 Übung: Auswahlabfrage 3 Parameterabfragen Übung: Parameterabfrage 2 Übung: Parameterabfrage 3 Übung: Abfrage mehrere Tabellen Abfragekriterien Übung: Abfrage 2 Übung: Abfrage 3 Übung: Abfrage 4 Berechnungen in neuen Spalten Übung: Abfrage 5 Übung: Abfrage 6 Übung: Abfrage 7 Übung: Abfrage 8 Übung: Formular Kunden als Liste Übung: Formular Verleihdaten Übung: Formular Verleihdaten 2 Übung: Tabelle/Formular erweitern Übung Formular: Kunden Übung: Unterformular CHARIF-EDV ©2003
Objekte einer Access-Datenbank VBA Verhalten programmieren Makro Abläufe automatisieren Formulare Berichte Daten- verwaltung Daten Drucken Abfragen Filtern und sortieren Tabellen CHARIF-EDV ©2003 Ausgangslage/Speicherort aller Daten
Zusammenfassung: Eine kleine Rundreise Objekte einer Datenbank Tabellen sind immer die Basis Formulare erleichtern die Datenverwaltung Berichte dienen zur Ausgabe von Daten VBA/Makros automatisieren die Datenbank Suche Platzhalter: * für beliebige Zeichen ? für ein beliebiges Zeichen Filtern Einschränken der Datenmenge nach eigenen Kriterien CHARIF-EDV ©2003
Felder definieren und Tabellen erstellen Zielsetzung und Planung einer Datenbank Erstellen einer Tabelle Primärschlüssel Felddatentypen Formate Gültigkeitsregeln und Meldung Regeln für Namen CHARIF-EDV ©2003
Neue Access-Datenbank Planung und Zielsetzung Tabellen erstellen und Felder definieren Relationen herstellen Abfragen Formulare Berichte Makros und VBS-Prozeduren CHARIF-EDV ©2003
Primärschlüssel Ein Primärschlüssel pro Tabelle Eindeutige Bezeichnung nicht zwingend Eindeutige Bezeichnung Existiert nur einmal Vergleichbar mit einem Autokennzeichen CHARIF-EDV ©2003
Felddatentypen Typ Speichert Speichergrösse Text 255 Memo Grössere Texte 64‘000 Zahl Zahlen, Rechnen Nach Einstellung Datum/Zeit 1.1.100 – 31.12.9999 8 Byte AutoWert Fortlaufende Zahl 4 oder 16 Byte Ja/Nein Wahr/Falsch 1 Bit OLE-Objekt Bilder, Klänge, etc. 1 GB Hyperlink Verknüpfung 4*2048 Zeichen Nachschlageass. Kombinationsfelder 4 Bytes CHARIF-EDV ©2003
Feldeigenschaften Einstellung Beschreibung Dezimale Genauigkeit Speicher-grösse Byte Speichert Zahlen von 0 bis 255 (keine Bruchzahlen). Keine 1 Byte Integer Speichert Zahlen von -32‘768 bis 32‘767 (keine Bruchzahlen). 2 Bytes Long Integer (Voreinstellung) Speichert Zahlen von -2‘147‘483‘648 bis 2‘147‘483‘647 (keine Bruchzahlen). 4 Bytes Single Speichert Zahlen von +/-3.402823E38 bis 7 8 Bytes Double Speichert Zahlen von +/-1.79769313486231E308 bis 15 16 Bytes Währung +/- 15 Vorkommastellen 4 8 Byte CHARIF-EDV ©2003
Regeln für Namen Tabellen: tblName Formular: frmName Abfrage: qryName Bericht: repName CHARIF-EDV ©2003
Zusammenfassung Zielsetzung und Planung einer Datenbank Absolut notwendig Primärschlüssel Eindeutige Kennung, AutoWert Felddatentypen Darstellung und Speichergrösse Gültigkeitsregeln und Meldung Falscheingaben vermeiden Regeln für Namen Lesbarkeit von VBA-Prozeduren CHARIF-EDV ©2003
Abfragen Erstellen Sortieren Kriterien Vergleichsoperatoren Parameterabfragen Gruppierte Abfragen CHARIF-EDV ©2003
Ausgangslage/Speicherort aller Daten Abfragen Formulare Berichte Abfragen Filtern und sortieren Tabellen CHARIF-EDV ©2003 Ausgangslage/Speicherort aller Daten
Abfragen Filtern und sortieren Reihenfolge von Feldern bestimmen Grundlage für Formulare und Bericht Flexibel Berechnungen durchführen CHARIF-EDV ©2003
Zusammenfassung: Abfragen Erstellen Sortieren Kriterien Vergleichsoperatoren Parameterabfragen Gruppierte Abfragen CHARIF-EDV ©2003
Aufteilen auf mehrere Tabellen Verhindern das Daten mehrfach gespeichert werden Nicht in jedem Fall erstrebenswert Falschaussagen der Daten Widersprüche CHARIF-EDV ©2003
1. Normalform Pro Feld nur ein Wert Nicht normalisiert CHARIF-EDV ©2003
Tabellen verbinden Primärschlüssel Fremdschlüssel Eindeutige Bezeichnung der Original-Datensätze Existiert nur einmal Fremdschlüssel Verbindung zu Original-Datensätze Mehrfaches Vorkommen möglich Typ Zahl CHARIF-EDV ©2003
Überlegungen Kursleiter Kurse Ein Kursleiter kann mehrere Kurse leiten einz zu mehrere 1 ~ n CHARIF-EDV ©2003
Relationale Datenbank Ziel einer Datenbank ist es, die Informationen wenn möglich nur einmal zu speichern. Deshalb werden Informationen in mehrere Tabellen logisch aufgeteilt Werden die Tabellen miteinander verbunden CHARIF-EDV ©2003
Beispiel Relationale Datenbank Flache Datenbank Tabelle Kunden Daten werden mehrfach gespeichert Was Speicherplatz braucht Relationale Datenbank Tabelle Kunden Relationale Verbindung Tabelle Artikel CHARIF-EDV ©2003 Fremdschlüssel Primärschlüssel
Schlüssel Primärschlüssel Fremdschlüssel Relationale Datenbank Tabelle Kunden Relationale Verbindung Tabelle Artikel Fremdschlüssel Primärschlüssel CHARIF-EDV ©2003
Fremdschlüssel Eindeutige Kennung Beziehung zu Primärschlüssel einer anderen Tabelle Dateityp in der Regel „Zahl“ in der Feldgrösse „Long Integer“ Fremdschlüssel Felddatentyp: „Zahl“ Feldgrösse: „Long Integer“ CHARIF-EDV ©2003
Indizien Kleine Tabellen Erleichtern das Suchen und Sortierung Verlangsamt die Eingabe Benötigt mehr Speicherplatz CHARIF-EDV ©2003
Datenbank-Entwurf Zweck der Datenbank Tabellen bestimmen Definieren der Datenbankfelder Beziehungen festlegen Prüfen Sie den Entwurf CHARIF-EDV ©2003
1. Normalform Pro Feld nur ein Wert Nicht normalisiert CHARIF-EDV ©2003
2. Normalform Nicht normalisiert CHARIF-EDV ©2003
3. Normalform Nicht normalisiert CHARIF-EDV ©2003
Beziehungen 1:1 Beziehung 1:n Beziehung Dies ist keine zulässige Relation. Es muss mit einer Zwischentabelle gearbeitet werden. n:m Beziehung CHARIF-EDV ©2003
Auflösung n:m Beziehung CHARIF-EDV ©2003
Übung: Entwurf Bücherverleih In einem Buchverleih werden laufend Bücher ausgeliehen. Über jedes Buch, eindeutig erkennbar an der ISBN-Nr., sollen neben Titel, Autor und Preis auch noch der Verlag gespeichert werden. Beim Verlag sind, wie auch beim Kunden, Name, Adresse und Telefon zu speichern. Die Verleihdaten bestehen aus Kunde, Buch, Ausleihdatum und Rückgabedatum. CHARIF-EDV ©2003
Übung: Bücherverleih 1 Erstellen Sie folgende Tabellen 1 Primärschlüssel Fremdschlüssel CHARIF-EDV ©2003
Mehrere Kunden können mehrere Bücher ausleihen Übung: n:m-Beziehung Lösen Sie die n:m-Beziehung mit einer Zwischentabelle mit den Feldern: Verleihdatum, BücherID, KundenID, Rückgabedatum Mehrere Kunden können mehrere Bücher ausleihen n:m-Beziehung 1 Primärschlüssel Fremdschlüssel CHARIF-EDV ©2003
Platzhalter Zeichen Verwendung Beispiel * Einer beliebigen Anzahl an Zeichen. wa* findet was, war und warte ? Einzelnes alphabetischen Zeichen. w?r findet war, wer und wir [ ] Einzelnes Zeichen innerhalb der eckigen Klammern w[ae]r findet war und wer, aber nicht wir ! einzelnen beliebigen Zeichen, das in der eckigen Klammer nicht enthalten ist. w[!ae]r findet wir, aber nicht war und wer - einzelnen beliebigen Zeichen innerhalb des angegebenen Bereichs. Sie müssen den Bereich in aufsteigender Reihenfolge angeben (A bis Z, nicht Z bis A). b[a-c]d findet bad, bbd und bcd # entspricht einem einzelnen numerischen Zeichen 1#3 findet 103, 113, 123 Hinweis: Text gehört in Anführungs- und Schlusszeichen CHARIF-EDV ©2003
Gültigkeitsregeln Beispiel Zwischen 1 Und 4 <5 >=2 Und <=10 Wie „A“ Wie „Worten*“ Oder Wie „E*“ Zwischen #1.1.2001# Und #31.1.2001# Wie „K????“ CHARIF-EDV ©2003
Übung: Gültigkeitsregel Erstellen Sie für das Feld „ISBN“ Eigenschaften: ISBN-Nummer ist 13 Zeichen lang Gültigkeitsregel: Wie „?-?????????-?“ Eingabe erforderlich CHARIF-EDV ©2003
Abfragen Auswahlabfragen Aktionsabfragen Kreuztabellenabfragen Stellt Daten von einzelne/mehrere Tabellen zusammen Aktionsabfragen Ändert oder verschiebt Daten Kreuztabellenabfragen Berechnet Endsummen Parameterabfragen Vor der Abfrage sind Angaben möglich SQL-spezifische Abfragen CHARIF-EDV ©2003
Bespiele von Abfragen Verknüpfte Daten aus mehreren Tabellen Alle Bestellungen dieses Jahres über 10.000.00 Alle Kunden mit offenen Rechnungen seit mehr als 2 Monaten Vierteljährliche Gesamtumsätze der einzelnen Länder Jahresumsätze der einzelnen Produkte Allen Verkäufern einen Lohnzuschlag von 5% CHARIF-EDV ©2003
Übung: Sortierabfragen 1 Sortieren Sie die Tabelle „Kunden“ nach Namen aufsteigend Speichern Sie die Abfrage CHARIF-EDV ©2003
Übung: Sortierabfrage 2 Erstellen Sie eine neue Abfrage Sortieren nach Name und Vorname Ziehen Sie die Spalte Namen vor Vornamen Speichern Sie die Abfrage Kontrollieren Sie die Reihenfolge der Spalten in der Tabelle Kunden CHARIF-EDV ©2003
Übung: Sortierabfrage 3 Kopieren Sie die letzte Abfrage und benennen Sie diese mit „Kunden nach PLZ“ Sortieren Sie nach: PLZ, Name Spaltenreihenfolge: PLZ, Ort, Name,... Blenden Sie die Spalte „KundenID“ aus Kontrolle CHARIF-EDV ©2003
Übung: Auswahlabfrage 1 Kopieren Sie die Abfrage „Kunden nach PLZ“ und benennen Sie diese „Anzahl nach Kunden“ Entfernen alle Felder bis auf PLZ Sie brauchen eine neue Spalte mit der Bezeichnung „Anzahl Kunden“ und dem Feld „PLZ Klicken Sie auf das Summenzeichen Ermitteln sie die Anzahl in der Spalte 2 CHARIF-EDV ©2003
Übung: Auswahlabfrage 2 Öffnen Sie eine neue, leere Abfrage Fügen Sie die Tabelle „Kunden“ dazu Sortieren Sie die Abfrage nach „Namen“ Speichern Geben Sie für die „PLZ“ das Kriterium 8044 an Filtern Sie die Datensätze für die PLZen 8032 bis 8044 CHARIF-EDV ©2003
Übung: Auswahlabfrage 3 Kopieren Sie die letzte Abfrage Entfernen Sie die Kriterien bei „PLZ“ Filtern Sie alle Kunden deren Namen mit „A“ beginnen. Setzten Sie dazu Platzhalter ein CHARIF-EDV ©2003
Parameterabfragen [] Text zwischen [] Eingabe der Anwender Die Eckigen Klammern zeigen ein Dialogfeld in welchem der Suchbegriff eingegeben wird Text zwischen [] Der Text zwischen den Eckigen Klammern wird als Information im Dialogfeld angezeigt. Eingabe der Anwender Wird weiterverarbeitet Funktioniert wie eine Variable CHARIF-EDV ©2003
Übung: Parameterabfrage 2 Kopieren Sie die letzte Abfrage Klicken Sie in die Spalte „Name“ Führen Sie die Abfrage durch CHARIF-EDV ©2003
Übung: Parameterabfrage 3 Erstellen Sie eine neue Abfrage auf Basis der Tabelle Verlag Sie benötigen folgende Felder: Buch, ISBN-Nummer, Preis und Verlag CHARIF-EDV ©2003
Übung: Abfrage mehrere Tabellen Erstellen Sie eine Verlagsliste mit allen Büchern. CHARIF-EDV ©2003
Abfragekriterien Feld Ausdruck Ziel Ort „London“ Datensätze mit Ort London werden gezeigt „London“ Oder „Hedge End“ Daten mit Ort London und auch Hedge Ende werden gezeigt. Datum =#10.10.2001# Daten mit dem Datum 10.10.2001 Zwischen #31.21.0# Und #31.1.01# Datensätze im Monat Januar 2001 <Datum()-30 Datensätze welche älter als 30 Tage sind Jahr([Bestelldatum])=2001 Bestellungen im Jahr 2001 DatTeil(„q“:[Bestelldarum])=4 Bestellungen des 4. Quartal des akt. Jahres Empfänger Wie „S*“ Alle die mit S beginnen Wie „[A-D]*“ Empfänger welche mit A bis D beginnen Nummer Rechts([Bestell-Nr];2)=„99“ Bestellungen mit den Ziffern 99 an den beiden letzten Stellen CHARIF-EDV ©2003
Übung: Abfrage 2 Erstellen Sie eine Liste mit Kunden und den von ihnen zur Zeit ausgeliehenen Büchern. CHARIF-EDV ©2003
Übung: Abfrage 3 Welcher Kunde hatte welche Bücher ausgeliehen? Abfrage mit Parameter. CHARIF-EDV ©2003
Übung: Abfrage 4 Welche Bücher sind, von welchem Kunde, seit mehr als 2 Monate ausser Haus? „Zu lange ausgeliehene Bücher“ CHARIF-EDV ©2003
Berechnungen in neuen Spalten Bezeichnung der neuen Spalte Text: Felder müssen in eckigen Klammern stehen [Feldname] Ausdruck Ziel Zuschlag: [Frachtkosten]*1.1 10% Erhöhung der Frachtkosten Total: [Anzahl]*[Einzelpreis] Berechnet das Total Name: [Vorname] & „ „ & [Name] Verketten die Felder Vorname und Name Erinnerung: Datum()-10 10 Tage vor Heute Fracht: Summe([Kosten]) / Summe([Preis+Frachtkosten]) * Prozentualer Anteil CHARIF-EDV ©2003
Übung: Abfrage 5 Erstellen Sie eine Liste mit den Verleihdaten und der Anzahl Ausleihtage der retournierten Bücher. („Verleihdaten und Ausleihtagen“) CHARIF-EDV ©2003
Übung: Abfrage 6 Welche Bücher sind am meisten ausgeliehen worden? („Anzahl Ausleihen / Buch“) CHARIF-EDV ©2003
Übung: Abfrage 7 Welche Bücher werden durchschnittlich am längsten ausgeliehen? („Anzahl / AusleihtageBuch“) CHARIF-EDV ©2003
Übung: Abfrage 8 Welche Vornamen kommen bei unseren Kunden am meisten vor? („Anzahl KundenVornahmen“) CHARIF-EDV ©2003
Übung: Formular Kunden als Liste Erstellen Sie mit Hilfe des Assistenten ein Formular für die Tabelle Kunden Wählen Sie eine Listendarstellung CHARIF-EDV ©2003
Übung: Formular Verleihdaten Erstellen Sie ein Formular für die Verleihdaten Darstellung als Einspaltig Aussehen spielt keine Rolle CHARIF-EDV ©2003
Übung: Formular Verleihdaten 2 Erweitern Sie das Formular Verleihdaten, so dass der Name des Kunden und der Buchname über ein Kombinationsfeld wählbar sind. CHARIF-EDV ©2003
Übung: Tabelle/Formular erweitern Erweitern Sie die Tabelle Kunden Feld Mitglied mit dem Format JA/NEIN Feld Zielgruppe mit dem Format (Zahl, Byte) Erstellen Sie ein Kundenformular Erstellen Sie ein Kontrollfeld für die Mitgliedschaft Erstellen Sie eine Optionsgruppe für das Feld Zielgruppe Unbekannt Kind Frau Mann CHARIF-EDV ©2003
Übung Formular: Kunden Erstellen Sie aus der Tabelle Kunden ein Formular mit Hilfe des Assistenten. Wählen Sie die Darstellung „Einspaltig“. Stellen Sie den gewünschten Stil ein Sortieren Sie die Daten nach bis Namen Filtern Sie die Postleitzahlen 8000 bis 8009 CHARIF-EDV ©2003
Übung: Unterformular Erstellen Sie ein neues Formular für den Tabellen Verlage und Bücher. Sie erhalten auf Basis der 1:n Beziehung automatisch ein Unterformular Selektieren Sie den Verlag als Hauptformular Wählen Sie die Darstellung für das Unterformular CHARIF-EDV ©2003
ENDE CHARIF-EDV ©2003