Relationale Datenbanken Grundbegriffe Datenbanken stellen (große) Sammlungen von Daten dar, die zur Auswertung und Bearbeitung zur Verfügung gestellt werden. Datenbanken bezeichnen sowohl die Gesamtheit der Datenbasis als auch den einzelnen Datencontainer. Datenbanksysteme (DBS) besteher aus einen oder mehreren Datenbanken (DB) und einem Datenbankmanagementsystem (DBMS), das die Funktionalität zur Bearbeitung der Daten und zur Sicherheit des Datenbestandes bereit stellt. Für den Zugriff auf die Datenbanken werden Werkzeuge in Form von Sprachen zur Verfügung gestellt. DBS = nDB + DBMS Relationale Datenbanken speichern die Daten in Form von Tabellen, die im mathematischen Sinne Relationen sind. Die einzelnen zusammengehörigen Daten bilden also Tupel, die in der ganzen Tabelle gleich strukturiert sind. Die Beziehungen zwischen den verschiedenen Tabellen werden ebenfalls als Relationen bezeichnet und gelegentlich auch durch solche abgebildet. Im mathematischen Sinne sind das Mengenoperationen über die einzelnen Relationen (Tabellen) Beispiel für eine Relation (Datenbanktabelle) und Grundbegriffe Datensatz: speichert eine Instanz eines Objektes (einer Entität), in dem er deren Attribute auflistet Feldname: beschreibt ein Attribut der zu speichernden Entität Datenbank(tabelle): Container zur Aufnahme der Instanzen eines Objekt(types), d. h. einer Entität, Gesamtheit aller Datensätze Feld: Teil eines Datensatzes zur Aufnahme des Wertes eines bestimmten Attributes, kleinste, bedeutungstragende Einheit Felder oder Feldkombinationen, mit denen sich ein ganzer Datensatz eindeutig identifizieren lässt, heißen Schlüssel. Der für die Benutzung besonders herausgehobene Schlüssel heißt Primärschlüssel. Ein Feld, das die Beziehung zu einer anderen Tabelle herstellt und in der anderen Tabelle ein Schlüssel ist, heißt Fremdschlüssel. S. 1 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Access 2003 Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Relationale Datenbanken Aufbau Beziehungen 3 Schichten (Schemata / Sichten) einer Datenbank Externes Schema / externe Sicht Konzeptionelles Schema / logische Sicht Internes Schema / interne Sicht File 1 File 2 File 3 Beziehungen (Verknüpfungen) zwischen Datenbanktabellen Die Art der Verknüpfung ergibt sich aus der Art der Felder, über die die Verknüpfung hergestellt wird Arten von Verknüpfungen zwischen Tabellen Adressdaten 1 Adressdaten 2 1:1 - Verknüpfungen w Beide verknüpften Felder kommen in beiden Tabellen als Schlüssel für der jeweiligen Tabelle vor w Für jeden Datensatz der Tabelle „Adressdaten 1“ gibt es genau einen zugehörigen Datensatz der anderen Tabelle „Adressdaten 2“ und umgekehrt. 1:n - Verknüpfungen w Eines der verknüpften Felder ist ein Schlüssel - möglichst ein Primärschlüssel - für die eine Tabelle - der korrespondierende Fremdschlüssel ist aber kein Schlüsselfeld in seiner Tabelle w Zu jedem Datensatz in der Tabelle „Klasse“ (mit dem Primärschlüssel) gibt es mehrere Datensätze in der Tabelle „Schüler“, aber nicht umgekehrt - zu jedem Datensatz der Tabelle „Schüler“ gibt es nur einen Datensatz in der Tabelle „Klasse“. m:n - Verknüpfungen w Keines der Felder, auf denen die Verknüpfung beruht sind in ihren Tabellen Schlüsselfelder w Zu jedem Datensatz der Tabelle „Lehrer“ gibt es mehrere zugehörige Datensätze in der Tabelle „Schüler“ und zu jedem Datensatz in der Tabelle „Schüler“ gibt es mehrere zugehörige Datensätze in der Tabelle „Lehrer“ Darüber hinaus kann für jede Verknüpfung (Beziehung) festgelegt werden, ob sie nur die Datensätze beider Tabellen aufnehmen soll, für die es in der jeweils anderen Tabelle auch eine Entsprechung gibt, oder ob auch aus einer der beiden verknüpften Tabellen Datensätze aufgenommen werden sollen, für die es in der anderen Tabelle keine Entsprechung gibt. Weiterhin lässt sich „Referentielle Integrität“ prüfen, d. h., ob es zu jedem Datensatz der Detailtabelle auch eines Datensatz in der Haupttabelle gibt. Dabei kann veranlasst werden, dass bei Löschungen eines Datensatzes der Haupttabelle auch der zugehörige Datensatz gelöscht wird. Wird der Schlüssel der Haupttabelle geändert, so kann auch der zugehörige Fremdschlüssel automatisch korrigiert werden. 1 : 1 - Beziehung Klasse Schüler 1 : n - Beziehung Lehrer Schüler m : n - Beziehung Resultierende Möglichkeiten Access 2003 S. 2 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Relationale Datenbanken Grundlegendes zum Konzeptioneller Entwurf Konzeptioneller Entwurf als ERD (Entity-Relations-Ship-Diagramm) Datenbankschema zur Implementierung Titel PK ISBN ISBN Titel Autor Verlag Erscheinungsjahr Titel Leser Titel PK,I1 Autor Leser-ID Name Vorname Geburtsjahr Straße PLZ Ort Verlag hat Bücher PK,I1 Buch-ID FK1,I2 ISBN E.-Jahr Buch-ID Bücher Leser-ID ISBN Name Geb.-Jahr ausleihen Straße PLZ Leser-ID 1. Analyse der Entitäten und Relationen, einschließlich AttributWertebereiche Ausl.-Dat. 2. Erstellen des ER-Entwurfs (z. B. als ERD) Rück.-Dat 3. Normalisieren: Vermeiden nichtatomarer Attribute, funktionale Abhängigkeiten innerhalb des Datensatzes ausschließlich vom gesamten Schlüssel Legende Relation Leser-ID Ausleihdatum Rückgabedatum Datenbankentwurf: Ort Entität Buch-ID FK2,I4,I3 Buch-ID Vorname Leser Ausleihen FK1,I2 4. Implementierungsentwurf: Relationen mit Attributen werden zu Tabellen, Festlegen der Feldnamen, Primär– und Fremdschlüssel, Felddatentypen und anderer Feldeigenschaften Attribut 5. Implementieren und Testen Normalisieren der Datenbank während des Entwurfs = Gewährleisten der ersten bis dritten Normalform: 1. Normalform: Eine Relation befindet sich in der ersten Normalform, wenn die Attribute nur atomare Werte aufweisen (d. h., keine Aufzählungen mehrer Werte in Attributen) 2. Normaform: Eine Relation befindet sich in der zweiten Normalform, wenn sie sich bereits in der ersten Normalform befindet und alle Nichtschlüsselattribute ausschließlich vom gesamten Primärschlüssel bzw. –schlüsselkombination abhängt (d. h., bei Primärschlüssel, die sich aus Attributkombinationen ergeben, darf es keine eindeutigen Abhängigkeiten von Teilschlüssel geben) 3. Normalform: Eine Relation befindet sich in der dritten Normalform, wenn sie sich in der zweiten Normalform befindet und kein Nichtschlüsselattribut eindeutig von einem anderen Nichtschlüsselattribut abhängt (d. h., keine transitiven Funktionalitäten) S. 3 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Access 2003 Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Access 2003 Spezifikationen Bestandteile von Datenbanken Spezifikationen von Access 2002 Datenbanken Maximale Größe von Access-Datenbanken Maximale Anzahl Zeichen in Objektnamen Maximale Anzahl gleichzeitiger Benutzer Tabellen Maximale Anzahl Zeichen in Tabellennamen Maximale Anzahl Zeichen in Feldnamen Maximale Anzahl Datenfelder Maximale Anzahl geöffneter Tabellen Maximale Größe eine OLE-Feldes Maximale Anzahl Zeichen in Textfeldern Maximale Anzahl Zeichen in Memofeldern Maximale Anzahl Indizes Maximale Anzahl Felder in zusammengesetzten Indizes Maximale Anzahl Zeichen in Gültigkeitsmeldungen Maximale Anzahl Zeichen in Gültigkeitsregeln Maximale Anzahl Zeichen in einem Datensatz (ohne Memo und OLE) Abfragen Maximale Anzahl Tabellen Maximale Anzahl Felder in einer Datensatzgruppe Schachtelungstiefe bei geschachtelten Abfragen Formulare und Berichte Maximale Anzahl Zeichen in einem Bezeichnungsfeld Maximale Anzahl Zeichen in einem Textfeld Maximale Breite Maximale Höhe Maximale Höhe aller Bereiche Maximale Schachtelungstiefe Maximale Anzahl gedruckter _Seiten Maximale Anzahl Berichtskopf- und Berichtsfußbereiche Maximale Anzahl Seitenkopf- und Seitenfußbereiche Maximale Anzahl Gruppenkopf- und Gruppenfußbereiche Makros Maximale Anzahl Zeichen in einer Bedingung Maximale Anzahl Zeichen in einem Kommentar Maximale Anzahl Zeichen in einem Aktionsargument Maximale Anzahl Aktionen Bestandteile von Access-Datenbanken 2 GB 64 255 64 64 255 2048 1 GB 255 65535 üb VBA: 1GB 32 10 255 2048 2000 32 255 50 2048 65535 55,87 cm (22 inch) 55,87 cm (22 inch) 508 cm (200 inch) 7 65536 1 1 10 255 255 255 999 Tabellen w die eigentlichen Datenquelle w die Datensätze werden in Tabellen abgelegt (Zeilen) w die Tabellen verfügen über Felder (Spalten) w für die Felder steht eine Vielzahl von Datentypen zur Verfügung Abfragen w gespeicherte Auswertungen der Datenbanktabellen w können auch Selektionen aus mehreren Tabellen (die verknüpft sind) beinhalten (Daten aus mehreren Tabellen selektieren) w können auch benutzt werden, um Daten zu manipulieren w Erstellen neuer Tabellen auf Grundlage der selektierten Daten w eingeben von Daten w löschen von selektierten Daten w verändern von selektierten Daten Formulare w bessere Darstellung der Daten aus den Tabellen bzw. Abfragen w können auch Daten aus verknüpften Tabellen bzw- Abfragen gleichzeitig darstellen w können wahlweise einen oder mehrere Datensätze darstellen w Veränderung der Modellvorstellung: statt Tabelle Karteikasten w können eine Vielzahl verschiedener grafischer Steuerelemente zur Datenauswahl und Datenmanipulaiton beinhalten: w Kontrollschaltflächen w Befehlsschaltflächen w Kombinationsflächen w Listenfelder w Optionsschaltflächen w usw. (alle Windows-Grafik-Elemente und zusätzlich sogenannte AktivX-Elemente) Berichte w bessere Darstellung der Daten auf dem Drucker w kann vorher auf dem Bildschirm betrachtet werden w lassen Seiten- und Abschnittsüberschriften zu w lassen Gruppierungen (nach Namen bei Kunden z. B.) zu und Zusammenfassungen der Gruppe (Summe der Artikelpreise) Makros w lassen die Benutzung aller Access-Menübefehle und deren Zuordnung zu grafischen Steuerelementen und Handlungen des Nutzers zu (Ereignisse-Reaktionen) Module w VBA-Code, der an der Stelle von Makros genutzt werden kann w bietet weit mehr Möglichkeiten als Makros, setzt aber einige Programmierkenntnisse voraus Datenzugriffsseiten w Sind Internetseiten, die die Abfrage von Daten aus AccessDatenbanken erlauben (im Prinzip Formulare für das Inter- oder Intranet) Formulare Module Tabellen Berichte Automatisieren Makros Abfragen Datenzugriffsseiten Access 2003 S. 4 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Übersichten Felddatentypen Feldformate Eingabeformate Platzhalter und Operatoren in Abfragen und Filtern Dömanen– und Aggreagtfunktionen Felddatentype Platzhalter in Abfragen und Filtern Platzhalter * ? # [] [-] [!] Suche nach einer beliebigen Zeichenfolge nach einem Zeichen nach einer Ziffer (0-9) nach einer Zeichenmenge nach einer fortlaufenden Buchstabenfolge nicht nach der angegebenen Buchstabenfolge Beispiel B* B?ll Trek # Ma[iy]er [A-D]* Ma[!y]er Operatoren in Abfragen und Filtern Operator Funktion = gleich einem Wert (Das Geleichheitszeichen ist optional) < kleiner als <= kleiner als oder gleich (Falsch: =<) > größer als >= größer als oder gleich (Falsch: =>) <> ungleich Nicht nicht Zwigrößer oder gleich und kleiner schen .. oder gleich (Grenzen einschlie. Und ... ßend) Wie Vergleich mit Platzhalter Ist Null Vergleich mit leeren Feld In(...) Vergleich mit einer Wertemenge Beispiel =812 =”Explorer” <812 <=812 <=#31.12.96# >812 >=812 <>812 Nicht „Müller” Zwischen 10000 Und 40000 Wie „Sch*” Ist Null In(812, 912) In(#31.12.95#; #31.12.96#; #31.12.97#) Eingabeformat Feldformat Legt fest, wie die Feldinhalte dargestellt werden Entweder Auswahl mit Hilfe von Kombinationsfeldern oder Eingabe von Formatstrings: 0, # = Ziffer , = Tausenderpunkt und Dezimaltrennzeichen % = Umrechnung in Prozent und Darstellung des Prozenttrennzeichens E-, E+, e+, e= Darstellung in Exponentialschreibweise -, +, $, (, ) = werden genau dargestellt, darstrellen von Formatzeichen: mit \ davor * = auffüllen mit Sternen t, tt, ttt, tttt = Datumstag ttttt = kurzes Windowsdatumsformat tttttt = langes Windowsdatumsformat w = Wochentag ww = Woche m, mm, mmm, mmmm = Monat q = Quartal j = Tag des Jahres jj, jjjj = Jahr h, hh = Stunde n, nn = Minute s, sms = Sekunde zzzz = Windowssystemzeit @ = Textzeichen (obligatorisch, notfalls Leerzeichen) & = Textzeichen (fakultativ) < = nachfolgenden Text in Kleinbuchstaben > = nachfolgenden Text in Großbuchstaben Legt fest, wie die Eingabe erfolgen muss Für Text und Datum/Zeit steht ein Formatassistent zu Verfügung. Es können wieder Formatzeichen eingegeben werden: 0 = obligater Ziffer 9 = fakultative Ziffer # = fakultative Ziffer (fehlende durch Leerzeichen ersetzt L = ein obligater Buchstabe ? = ein fakultativer Buchstaben A = ein beliebiges obligates alphanumerisches Zeichen a = ein beliebiges fakultatives alphanumerisches Zeichen & = ein beliebiges obligates Zeichen C = ein beliebiges fakultatives Zeichen . , : ; - / = das Zeichen selbst > = umwandeln der Folgezeichen in Großbuchstaben < = umwandeln der Folgezeichen in Kleinbuchstaben ! = Füllung der Maske von rechts nach links \ = bei nachfolgenden Formatierungszeichen werden diese als Textzeichen beh. Drei Teile: Formatstring, Speichern (0) oder nicht speichern (1) der Formatierung, Platzhalter Aggregatfunktion Anzahl(…) ErsterWert(…) LetzterWert(…) Max(…) Min(…) Mittelwert(…) StAbw(…) Bedeutung Anzahl der Datensätze Erster Wert des Aggregats Letzter Wert des Aggregats Maximaler Wert des Aggregats Minimaler Wert des Aggregats Mittelwert des Aggreagats Standardabweichung des Aggregats Summe(…) Varianz(…) Summe des Aggregats Varianz des Aggregats Domänenfunktionen DomMittelwert(…), DomAnzahl(…), DomMin(…), DomMax(…), DomStAbw(…), DomStAbwG(…), DomSumme(…), DomVarianz(…), DomVarianzen(…) Struktur: DomSumme(Ausdruck, Domäne, Kriterium) S. 5 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Access 2003 Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Abfragen Arten und ihre Besonderheiten Aktionsabfragen Abfragen Tabellenerstellungsabfrage Ausgangstabelle Auswahlabfragen Kreuztabellenabfragen Aktionsabfragen Selektionen Tabellenerstellungsabfragen Projektionen Anfügeabfragen Neue Tabelle Aktualisierungsabfragen Diese Abfrage erstellt eine Tabelle aus ausgewählten Daten. Löschabfragen Anfügeabfrage Tabelle 1 vorher Untertypen Abfragen mit Verknüpfung Abfragen mit Berechnungen Abfragen mit Gruppierungen Parameterabfragen Abfragen mit Sortierung Tabelle 2 vorher UNION-Abfragen (Nur bei SQL) Kombinationen sind möglich zwischen: den Abfragetypen und mehreren Untertypen den Arten von Auswahlabfragen Tabelle 2 nachher Auswahlabfragen Selektion Kreuztabellenabfrage Ausgangstabelle Originaltabelle Diese Abfrage fügt Daten an eine bestehende Tabelle an. Aktualisierungabfrage Tabelle vorher Temporäre Ergebnistabelle Eine Selektion wählt Datensätze aus. Projektion Originaltabelle Kreuztabelle Bei Kreuztabellen werden aus gleichen Inhalten eines Feldes einer Ausgangstabelle Felder der Kreuztabelle. Aus gleichen Inhalte eines anderen Feldes der Ausgangstabelle werden Datensätze. Am Schnittpunkt erfolgt eine Berechnung mit Aggregatfunktionen. Abfragen mit Verknüpfungen beziehen Temporäre Ergebnistabelle Eine Projektion gibt ausgewählte Attribute wieder. mehrere Ausgangstabelle ein. Abfragen mit Berechnungen erzeugen in der Ergebnistabelle zusätzliche Felder, deren Inhalt sich aus Berechnungen bzw. Unterabfragen ergeben. Abfragen mit Gruppierungen fassen einzelne Felder nach gleichen Inhalten als Ausgabedatensatz zusammen und berechnen die Inhalte für andere ausgewählte Felder mit Aggregatfunktionen. Parameterabfragen legen Teile der Abfrage erst zum Ausführungszeitpunkt über erfolgen Eingabeaufforderungen fest. Sortierungen erfolgen nach Feldinhalten. Tabelle nachher Diese Abfrage ändert Daten in einer bestehenden Tabelle. Löschabfrage Tabelle vorher Tabelle nachher Diese Abfrage löscht ausgewählte Datensätze. Access 2003 S. 6 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Abfragen Vorgehensweise zum Durchführen Ergebnisse von Abfrage: Auswahlabfragen erzeugen die temporäre Ergebnistabelle aus den zum Zeitpunkt der Abfragedurchführung aktuellen Daten. Die temporäre Ergebnistabelle kann wie eine Datentabelle benutzt werden. D. h., Abfragen können auch als Datengrundlage für andere Abfragen dienen. Temporäre Ergebnistabelle können DynaSets oder SnapShots sein. DynaSets sind bearbeitbare Datenauszüge. SnapShots sind nicht bearbeitbar. Bei einfachen Selektionen und Projektionen (außer für berechnete Felder) ist das Ergebnis in der Regel ein DynaSet. Bei Gruppierungen und Kreuztabellenabfragen ist das Ergebnis immer ein SnapShot. Aktionsabfragen beeinflussen oder erstellen Tabellen, wenn sie ausgeführt werden. Erstellen von Auswahlabfragen mittels Assistent 1. Auswählen der Tabellen und Felder 2. Auswählen weiterer Kriterien 3. Namensvergabe für die Abfrage. Tabellen und Abfragen haben einen gemeinsamen Namensraum! Ergebnistabelle Erstellen von Auswahlabfragen mittels Entwurfsansicht Strukturbereich: Hier werden die in die Abfrage einzubeziehenden Tabellen und ihre Verknüpfungen angegeben. Verknüpfungen lassen sich erstellen und (mit der rechten Maustaste) bearbeiten. Kriterienbereich: Hier werden die in das Ergebnis einzubeziehenden Felder angegeben. In der Feldzeile können Feldnamen und Berechnungsformel für berechnete Felder eingegeben werden. Syntax: Feldname: Ausdruck. Hierfür steht ein Ausdruckseditor zur Verfügung (rechte Maustaste: Aufbauen) In der Sortierungszeile werden die Sortierungen festgelegt. Dabei spielt die Feldreihenfolge ein Rolle. In den Kriterienzeilen werden Selektionsausdrücke eingegeben Weiterhin kann mit der rechten Maustaste (Funktionen) eine Zeile für Gruppierungs-– und Aggregatfunktionen geöffnet werden. Erstellen von Aktionsabfragen 1. Erstellen einer Auswahlabfrage, die die Datensätze und Felder auswählt, aus denen eine neue Tabelle erstellet werden soll (Tabellenerstellungsabfrage) oder die geändert werden soll (Aktualisierungsabfrage) bzw. die an eine andere, entsprechend strukturierte Tabelle angefügt werden sollen (Anfügeabfrage) oder die die Datensätze auswählt die gelöscht werden sollen (Löschabfrage). 2. Im Menü Abfrage den Abfragetyp auswählen. 3. Spezielle Einstellungen vornehmen. Bei Aktualisierungsabfragen muss danach der Aktualisierungsausdruck für die zu aktualisierenden Felder angegeben werden, bei Tabellenerstellungsabfragen der Name der zu erstellenden Tabelle, bei Anfügeabfragen der Name der Tabelle an die die Daten anzufügen sind. 4. Gegebenenfalls Speichern der Abfrage. 5. Ausführen der Abfrage. Die Abfrage wird über das Menü Abfrage oder nach dem Schließen der Abfrage durch Doppelklick auf das entsprechende Objekt ausgeführt. Ein Doppelklick öffnet die Abfrage nicht zum Ändern, sonder führt sie aus! S. 7 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Access 2003 Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Formulare und Bericht Grundlagen Formulare und Berichte stellen die von Access zur Verfügung gestellt Benutzerschnittstelle dar (mit den Abfragen zusammen sind sie Teil der externen Sicht) Sie basieren auf einer oder mehreren Tabellen und Abfragen und besitzen eigene Fähigkeiten, die den Abfragemöglichkeiten zum Teil ähneln (Verknüpfen von Tabellen, Gruppieren von Datensätzen einschließlich Aggregatfunktionen, Sortieren usw.) Formulare dienen der Darstellung und überwiegend auch der Bearbeitung der Daten auf dem Bildschirm. Sie können auch ausgedruckt werden. Berichte dienen der Darstellung der Daten überwiegend beim Ausdruck, gegebenenfalls aber auch auf dem Bildschirm und für den Text-Export. Formular mit Haupt- und Unterformular Bericht mit Zusammenfassungen Formulare und Berichte lassen sich erstellen mittels: Autoformular– bzw. Autoberichtsfunktion (über das Menü Einfügen oder über die Schaltfläche Neu des jeweiligen Objekttyps des Datenbankfensters) Assistenten (Schaltfläche Neu des jeweiligen Objekttyps des Datenbankfensters) Mittels der Entwurfsansicht (eine Art Dialogeditor mit Steuerelementetoolbox) Formular-/Berichtskopf - einmal am Anfang der Formulars / Berichts ausgeführt Seitenkopf - am Anfang jeder gedruckten Seite ausgeführt Gruppenkopf - am Anfang jeder Gruppe ausgeführt Detailbereich - für jeden Datensatz einmal ausgeführt Gruppenfuß - am Ende jeder Gruppe ausgeführt Seitenfuß - am Ende jeder gedruckten Seite ausgeführt Formular-/Berichtsfuß - einmal am Ende des Formulars / Berichts ausgeführt. Entwurfsansicht Access 2003 S. 8 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Wichtige Funktionen 1 Funktion Beschreibung Beispiel Datums– und Zeitfunktionen Jetzt() Gibt das aktuelle Datum einschließlich der aktuellen Zeit zurück. Jetzt() Datum() Gibt das aktuelle Datum zurück. Datum() Zeit() Gibt die aktuelle Zeit zurück. Zeit() Jahr(Datum) Gibt das Jahr von Datum zurück. Jahr(#02.01.2009#) Monat(Datum) Gibt den Monat von Datum zurück. Monat([Geburtstag]) Tag(Datum) Gibt den Tag im Monat von Datum zurück. Tag(Datum()) Wochentag(Datum;Zählweise) Gibt den Wochentag von Datum entsprechende Zählweise zurück: Wochentag(Datum();2) Zählweisen: 1 oder nicht angegeben: So = 1, Sa = 7. Zählweise 2: Mo =1, So = 7 DatTeil(Intervall;Datum) Gibt den Datumsanteil von Datum entsprechende Intervall zurück. DatTeil("w";Datum()) Intervall: "jjjj" = Jahr, "q" = Quartal, "m" = Monat, "j" = Kalendertag, "w" = Wochentag, "ww" = Woche, "h" = Stunde, "n" = Minute, "s" = Sekunde. DatAdd(Intervall;Zahl;Datum) Gibt das um Intervall und Zahl verschobene Datum zurück. DatAdd(Datum();14;"t") DatDiff(Intervall;Datum1;Datum2) Gibt die Differenz entsprechende Intervall zwischen Datum1 und Datum2 zurück. DatDiff("jjjj"; [Geburtstag];Datum()) Format(Datum;Code) Gibt einen String zurück, der das Datum entsprechend Code formatiert. Als Codestrings werden die gleichen Codezeichen wie bei der Tabelleneisgenschaft Format(Datum();"tt.mm.jj") Textfunktionen Links(String;Anzahl) Gibt einen String zurück, der die Anzahl Zeichen von links aus String enthält. Links("Freitag";4) Rechts(String;Anzahl) Gibt einen String zurück, der die Anzahl Zeichen von rechts aus String enthält. Rechts("Freitag";3) Teil(String;Start;Anzahl) Gibt einen String zurück, der die Anzahl Zeichen von links ab Start aus String enthält. Teil([Vorname];2;5) Länge(String) Gibt die Anzahl der Zeichen, die String hat, zurück. Länge([Vorname]) Glätten(String) Entfernt die Leerzeichen am Anfang und Ende von String und gibt den so resultierenden String zurück. Glätten([Vorname]) Umwandlungsfunktionen Str(Zahl) Gibt eine Zahl als String zurück. Str(15) Wert(String) Gibt einen String als Zahl zurück. Wert("2 Latschen") ZCurrency(Zahl) Gibt eine Zahl als Währung zueück. ZCurrency(82,3) ZDate(Ausdruck) Gibt einen String oder eine Zahl in Aus- ZDate("01.01.2000") S. 9 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Access 2003 Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33 Wichtige Funktionen 2 Funktion Beschreibung Beispiel Mathematische Funktionen QWurzel(Zahl) Gibt die Quadratwurzel von Zahl zurück. QWurzel(144) Exponential(Zahl) Gibt e hoch Zahl zurück. Exponential(2) Abs(Zahl) Gibt den absoluten betrag von Zahl zurück. Abs(-1) Logarithmus(Zahl) Gibt den Logarithmus naturalis von Zahl zurück. Logarithmus(5) Fix(Zahl) Gibt den ganzzahligen Anteil von Zahl zurück. Fix(23,3) ZZG() Gibt eine Zufallszahl zwischen 0 und 1 zurück. ZZG() Runden(Zahl;Stelle) Gibt die auf Stelle gerundete Zahl zurück. Runden(3,3333;2) Behandlung von NULL-Werten NZ(Ausdruck;WertWennNull) Wenn Ausdruck NULL ist wird WerWennNull zurückgegeben. NZ([Projekt];"Öffnen") IstNull(Ausdruck) Gibt true zurück wen der Ausdruck NULL enthält sonst false. IstNull([Fax])) IstNichtNull(Ausdruck) Gibt true zurück wen der Ausdruck nicht NULL enthält sonst false. IstNichtNull([Fax]) Logikfunktion Wenn(Bedingung;WennTrue;WennFalse) Gibt WennTrue zurück, wenn die Bedingung true liefert, sonst WertFalse. Wenn([Mwst]=1;0,07;0,19) Aggregatfunktionen Summe(Ausdruck) Gibt die Summe der Werte in Ausdruck Summe([Preis]) Mittelwert(Ausdruck) Gibt den Mittelwert der Werte in Ausdruck Mittelwert([Menge]) zurück. Min(Ausdruck) Gibt das Minimum der Werte in Ausdruck zurück. Min([Lohn]) Max(Ausdruck) … das Maximum … Max([Lohn]) Anzahl(Ausdruck) … die Anzahl … Anzahl([Vorname]) StdAbw(Ausdruck) … die Standardabweichung … StdAbw([Lohn]) Varianz(Ausdruck) … die Varianz … Varianz([Lohn]) ErsterWert(Ausdruck) … den ersten Wert … ErsterWert([Vorname]) LetzterWert(Ausdruck … den letzten Wert ... LetzterWert([Vorname] Domänefunktionen DomSumme (Ausdruck;Domäne;Kriterium) DomMittelwert (Ausdruck;Domäne;Kriterium) DomSumme Wendet die Aggregatfunktion auf eine an([Menge];[Artikel];">0") dere Tabelle (Domäne) und dort auf die durch Ausdruck gebildeten und mit Kriusw. terium selektierten Werte an. usw. Access 2003 S. 10 © Alle Rechte ausschließlich beim Autor: Kopien, Nachnutzungen usw. bedürfen der Genehmigung! Autor: Andreas Schöbel 01187 Dresden, Münchner Str. 33