Hier: ACCESS 2.0 (Allgemeine Grundlagen)

  [ACCESS 7.0 - Menü aufrufen]

Grundlagen für ACCESS 7.0

ACCESS 97 Kursmitschrift; erfordert deshalb etwas miträtseln - Hier als PDF )


  1. Datenbanken


  2. Datenmodell; Datenmodellierung

  3. Datensätze einrichten

  4. Beziehungstypen oder -arten

  5. Abfragen

  6. Abfragearten

    1. Auswahlabfragen

      1. Projektion

      2. Selektion

    2. Aktionsabfragen

  7. Import/ Export von Tabellen

  8. Formulare erstellen

  9. Anhang

    

   
I. Datenbanken:


Es gibt nicht relationalehierarchische ) Datenbanksysteme ( z. B. Lidos ), welche sich eher eignen zur geordneten Speicherung eigentlich ungeordneter Information, und

relationale Datenbanksysteme
:

Zum Beispiel

zur Aufnahme und Bearbeitung von streng geordneter Information. Diese sind keine Client - Server - Systeme, sondern erstellen komplette Dateien.

Alle folgenden Ausführungen auf diesen Seiten, soweit nicht anders beschrieben, beziehen sich auf Microsoft® ACCESS.



    

Aufbau einer ACCESS - Datenbank:

Datenbank ( en )

Datentabelle ( n )

Datensätze

Felder



ACCESS 7.0

Datenbank I ( mit den Daten )    

Datenbank II ( Zur Verwaltung )
 Tabellen + Beziehungen
  • Abfragen - Formulare
  • Berichte
  • Makros und Module
  • Verknüpfte Tabellen






    
   
II. Datenmodellierung; Datenmodell



Die Daten bzw. Informationen werden in mehreren verknüpften Tabellen gespeichert, mit theoretisch unbegrenzter Größe:

Diese FELDER ( Spalten, Datensatzstruktur ) müssen beim Aufbau einer Datenbank definiert werden:

Spätere Änderungen am Aufbau sind nur schwer möglich, dieser sollte also vorher gut überlegt sein. Am besten eine Skizze anfertigen. Grundfrage:




Beispiel: HANDELSUNTERNEHMEN

Beziehung

Artikel

  n : n 

Kunden

Artikel - Nr. ( einmalig )

Kunden - Nr. ( einmalig )

Warengruppe

Name

Lagerort

Str.

EK-Preise

PLZ

VK-Preis1

Zahlungskonditionen

VK-Preis2

KD-Gruppe

Etc.


Etc.




n : n   bedeutet:






Das Problem läßt sich so jedoch in einer Datenbank nicht darstellen:


Lösungsansatz hier





    
   

III. Einen neuen Datensatz einrichten ( Tabellen ):

Tabelle / Neu / Entwurfsansicht

    

Feldnamen vergeben:

Möglichst:

  1. Kurze Feldnamen verwenden, bestehend aus
  2. Ein Wort oder mehrere mit_Unterstrich_verbunden aus
  3. GROSSBUCHSTABEN ( dient der Unterscheidung )
  4. Nie das Wort "NAMEN" verwenden!
  5. Keine Umlaute oder Sonderzeichen


    

Felddatentypen:

Text: alphanumerisch, max. 255 Zeichen
Bei Zahlfeldern: keine Formatierung vorgeben. Standard.
Memo: länger, aber nicht indizierbar
Logisch: ja / nein
Format / Eingabeformat: erzwungene Eingabe, Formatierung ähnlich Excel
Gültigkeitsregel: weitere Einschränkungen möglich




  1. Alle Felder, in denen mit Zahlen nicht gerechnet werden soll, als Textfelder formatieren, auch wenn dort eine Zahlen stehen sollen!

  2. Ein Feld als Primärschlüssel wählen / erstellen lassen über die automatische Vergabe ( günstig, wenn nicht durch etwas anderes bestimmt )


  3. Wenn sich eine zweite Tabelle auf dieses Schlüsselfeld beziehen soll, dann müssen die Felder in beiden Tabellen vom gleichen Felddatentyp sein und die gleiche Größe haben / zur besseren Übersicht möglichst auch den gleichen Namen

  4. Primärschlüsselfelder immer bei permanenter Verbindung nehmen!

  5. Dann  Tabelle - benennen - speichern - schließen



Tips:

  1. Es gibt in Microsoft® Office etliche fertige ACESS - Datenbank-Vorlagen zum anpassen

  2. Ab ACCESS 7.0 sind Hyperlinks in Tabellenfeldern zum direkten Linken von Dokumenten möglich.

  3. Bei allen Änderung am Aufbau der Datenbank vorher ein Backup machen über Extras / Dienstprogramme

  4. Kommentare als Memofeld formatieren ( größer, aber nicht zu indizieren! )

  5. Indizierte Felder ( direkter Zugriff ): Alles, was je gesucht werden soll, indizieren! Alles andere nicht! ( Rechnerzeit! )

  6. Schlüsselfelder immer indizieren!




    
Tabellennamen vergeben:

Möglichst: Alle Tabellen gleich, z. B. mit tbl_  ( = "table" ) beginnen lassen und klein schreiben ( dient der Unterscheidung )




    

Tabellen erstellen aus Listboxen: ( mit Nachschlageassistent )



Beispiel
:


Eine aktualisierbare Tabelle mit Primärschlüssel erstellen für Daten, die wiederholt in einer anderen Tabelle eingetragen werden sollen


z. B:

  1. Hier keinen gemeinsamen Primärschlüssel angeben, da keine feste Verbindung vorherrscht, sondern die Tabelle nur zum Nachschlagen dient; statt dessen aus beiden Nummernfeldern einen gemeinsamen Tabellenschlüsseln bilden lassen, damit keine Doppelerfassung eintritt.

  2. Tabelle schließen.

  3. In der zusammengesetzten Tabelle im entsprechenden Feld "Nachschlageassistent" eingeben; wichtig: Nur Listeneinträge!

  4. Es lassen sich dann noch über "Kriterien" Sichtbarkeit und Sortierung anzeigen; dazu ein Feld mehrmals hinzufügen, Sortierkriterien festlegen und Hilfstabellen unsichtbar machen.

  5. Gültigkeitsregel festlegen, z. B. Datumseinschränkungen:

    >Datum( )-4 Und <Datum( )+1

    Ergibt: heutiges Datum und bis zu drei Tage zurück .

  6. Gültigkeitsmeldung: Was soll bei Fehleingabe angezeigt werden?

  7. Bei Zahlfeldern: keine Formatierung vorgeben. Standard.

  8. Tabellen verknüpfen.



Bemerkungen:



    

Verbindung der Tabellen über gemeinsame Schlüsselfelder:


    
Voraussetzungen:

  1. Felddatentyp muß gleich sein
  2. Feldgröße muß gleich sein
  3. Feldname sollte gleich sein


    
Primärschlüsseldokument:


Autowert / Long Integer wählen


Beispiel:

Eine Stichwort - TabelleStw_ ) einer Dokumenten - TabelleDok_ ) zuordnen

  1. Erster Primärschlüssel:  Dok_Nr.  Long Integer
  2. Zweiter Primärschlüssel:  Stw_Nr.   Long Integer

  3. Zusammengefaßter Schlüssel:  die Kombination Dok_Nr. / Stw_Nr.
    Sie kann nur jeweils einmal erscheinen. Ein Stichwort wird einem Dokument also sinnvollerweise nur einmal zugeschrieben werden können.



Dazu dienen zwei Nachschlagefelder in einer weiteren, sogenannten Zuordnungs - Tabelle:


  1. Dok_Nr. / "Nachschlagen" holt diese aus der Dokumenten - Tabelle
  2. Stw_Nr. /  "Nachschlagen" holt diese aus der Stichwort - Tabelle


Stichwort - Zuordnungs - Tabelle

Zusammengesetzter Primärschlüssel 1 Dok_Nr.1 aus Dokumenten - Tabelle
Stw_Nr.1 aus Stichwort - Tabelle
Zusammengesetzter Primärschlüssel 2 Dok_Nr.1 aus Dokumenten - Tabelle
Stw_Nr.2 aus Stichwort - Tabelle


    

Technisch:


    

Beziehungen aufbauen:

( Permanente Verbindung, im Gegensatz zu ad - hoc )

Über Extras / Beziehungen



    
Fragliche Tabellen hinzufügen und verknüpfen:


  1. Neue Tabellen über gelbes Plus im Menü öffnen

  2. Entsprechende Datenfelder ( möglichst mit gleichen Namen ) im Fenster mit Drag & Drop verbinden. ( Beachte bei 1 : n was ist jeweils 1? )

  3. Das ergibt eine permanente Verbindung


  4. Eine Verknüpfung läßt sich mit der rechten Maustaste wieder löschen ( diese zur Arbeitserleichterung erst mit der linken Maustaste markieren! )







    
   

IV. Beziehungstypen oder - arten ( Relationsarten )


    
A ]   1 : 1 - Beziehungen



Beispiel:

      

Personaldaten
 

Name, Vorname:  Natürliche Daten  Duplikate Möglich
Personal - Nr.: 1 - malig ( Unikatfeld ) Notwendig wegen der Eindeutigkeit; eignet sich als Schlüsselfeld







Hier aus Datenschutzgründen aufgeteilt in zwei getrennte Datenbanken, so daß für den einzelnen Mitarbeiter eine unmittelbare Zuordnung der Kollegen nicht möglich ist ( nur über die gemeinsame Personalnummer ):



Personal Akte ( = Datensatz ) 1

Personal Akte ( = Datensatz ) 2

Personal - Nr. ( Unikat )

  n : n 

Personal - Nr. ( Unikat )

Name ( kann mehrfach )

Brutto ( kann mehrfach )

Vorname ( kann mehrfach )

Netto ( kann mehrfach )

Geb. Datum ( kann mehrfach )

Lst. - Klasse ( kann mehrfach )

Konfession ( kann mehrfach )




Auf beiden Datenbanken gibt es mehrere Datensätze, die gleich aufgebaut sein müssen. Es darf für jeden Datensatz aber nur EINEN Schlüssel geben, der jeweils mit seinem Gegenstück kompatibel, d. h.

  1. gleich groß und
  2. vom selben Felddatentyp

    sein muß!



Diese Trennung in verschiedene Datensätze auf verschiedene Datenbanken hat folgende Vorteile:

  1. Es ist schneller

  2. Es läßt sich Datenschutz aufbauen, in dem jeder nur einen Datensatz zur Verfügung gestellt kriegt, den er nicht unmittelbar mit dem anderen in Verbindung bringen kann

  3. Man kann Dateien mit mehr als 256 Feldern aufbauen

  4. Die Datensatzlänge ( mehrerer Felder ) kann größer als 2000 Byte sein

    • Jeden Datensatz, wenn es geht, nur 1x speichern!

    • Doppelter Datensatz: Redundanz;

    • Gefahr: widersprüchliche Daten durch Eingabefehler oder Änderungen: fehlende Datenintegrität

          



A ]   1 : n / n : 1 - Beziehungen


Beispiel:

Beziehungen in einer Literaturliste


Dokumenten Tabelle
Datenfeld  

Typ

Größe

Dok - Nr. ( a )

Text

6

Titel ( b )

Text

30

Nachschlagetabellen:

Datum ( c )

Datum

8

tbl_List Typen
Typen Typ Nr. Typ - Nr. ( d )

Text

20

tbl_List Autoren Vorname Nachname Autor - Nr. Autor ( e )

Text

30

tbl_List Kategorien
Kategorien Kategorie - Nr. Kategorie ( f )

Text

50

tbl_List Stichwort
Stichworte Stichwort - Nr. Stichwort ( g )

Text

10

    

Permanente Beziehung bearbeiten:

Im Fenster die rechte Maustaste auf die Verknüpfungslinie ( vorher markieren ) und die Integrität aufheben / oder die Löschweitergabe.

Achtung! Wenn man in einer Beziehung z. B. eine Feldgrösse ändern muß, weil der Platz nicht mehr ausreicht, dann muß vorher die Beziehung gelöscht werden. ( Merken, welche! )

    


Tip:


Bei festliegenden Werten
( Z. B. Geschlecht, Steuerklasse etc. )







    
   

V. Abfragen




Anzeige:     ! -    Symbol


    


Formatierungen: ( Beispiele )


    
A ]   Beispiel: Name

    

Virtuelle Abfragefelder in SQL:





Zusammenbau von einzelnen Feldern zu kombinierten Schlüsseln oder Strings ohne Leerstellen:


In einer Abfrage in der Entwurfsansicht folgenden SQL-Ausdruck eingeben:

Ausdr1: GLÄTTEN([Excel_externe_Tabelle_vs1]![F2] & [Excel_externe_Tabelle_vs1]![F1])



----------

[Excel_externe_Tabelle_vs1] deutet an, daß dabei auch auf externe Excel - Tabellen zurück gegriffen werden kann. Diese verknüpften Excel - Tabellen werden durch Eingaben in ACCESS verändert!


   


Selektive Abfragen in SQL:



    

Formatierung in virtuellen Feldern:



    

Frage formulieren:





Bei Zahlen:







    

VI. Abfragearten:

  1. Auswahlabfragen
  2. Aktionsabfragen

    


1. ^ Auswahlabfragen

( Eine Auswahl nach bestimmten Kriterien; Kombination ist möglich )

Auswahl / Neu / Entwurf / Hinzufügen / Schließen

Abfrage gestalten: Entweder mit Doppelklick, durch Ziehen oder eine Listbox im Tabellenkopf; dann speichern unter ( beispielsweise ) qry_xyz ( = "query" )

    

   

a ) ^ Projektion: Anzeige ausgewählter Spalten ( = Felder )

Möglich: Hinzufügen von virtuellen Feldern ( momentan berechneten Feldern ), wie z. B. Gesamtname kombiniert aus verschiedenen einzelnen Datensätzen ( Feld: Vorname + Feld: Nachname ).

Virtuelle Felder und Abfragen existieren nicht real in der Datenbank, können aber gesucht werden, jedoch nicht indiziert! Wenn nötig, hier neue reale Felder bauen lassen. Auch geeignet für Anreden etc. ( Siehe Beispiel Name weiter oben )


    
B ]   Beispiel Zahl:

Format: Währung / Dezimalstellen 2 / Indiziert / Duplikate möglich

Hier kann nichts direkt berechnet werden. Wohl aber entweder über eine Aktualisierungsabfrage ( immer, wenn Werte aktualisiert werden sollen ) - hier z. B. mit der Formel ([gebuehr]/116*16) in Aktualisieren - oder über ein Makro.

Aktualisierungsabfragen über Nachschlageassistenten als ( beispielsweise ) upd_xyz ( = "update" ) speichern.


    
Tip:



    

Sortieren:


    
   

b ) ^ Selektion: Anzeige ausgewählter Zeilen ( = Datensätze )

Kriterium: auswählen, z. B. "1" ( Fachgebiet = englisch ); dann speichern unter: ( beispielsweise ) sel_xyz ( = "Selection" ).
Selektionsabfragen nur als Basis für die Sortierung einer anderen Tabelle erstellen!

Weitere Abfragen: in der Selektionsabfrage im Entwurfsmodus das Kriterium ändern und neu abspeichern.

  1. Liste als Tabelle abfragen ( Auswahl ), erstellen und sortieren lassen. ( bspw.: "Teilnehmer" )

  2. Dann in der Zieltabelle ( der zu sortierende Tabelle ) das Feld ( bspw.: "Teilnehmer" ) öffnen und über Nachschlageassistent auswählen.


    
Tips:


 

    

Suchkriterien:

Suchkriterien wie > , < , > = , und, oder, nicht sind alle kombinierbar mit "und" ; sowie "istnull"; Operatoren nicht trennen ( ohne Leerstellen arbeiten! ) z. B. "odernichtistnull"


    
Volltextrecherche:

Kombinationen: wie"*"&[WonachsuchenSie?]&"*" ergibt Volltextrecherche mit Abfrage; das geht auch in einem Memo - Feld!



    
Tips:


    
Parameter - gesteuerte Abfrage:


    

2. ^ Aktionsabfragen



Z. B. : Alle Teilnehmer eines Ortes

  1. Ort / Kriterium: Hamburg
  2. Dann Menü / Abfrage: Tabelle erstellen

    


Unterscheidungsvorschläge:

Tabellenerstellung: cre_xyz
Löschabfragen: del_xyz
Anfügeabfragen: app_xyz
Aktualisierungsabfrage: upd_xyz


    

Tabellen Anfügen:

Geht nur, wenn die Felder absolut gleich aufgebaut sind. Löscht nicht die Originaltabelle.

    

Löschabfragen:

Bei Datenintegrität löscht ACCESS nur die Daten, die NICHT zu anderen Tabellen in permanenter Beziehungen stehen;




    
Hinweise bei Eingabe geben:


Zwischen [Bitte erste Postleitzahl eingeben] und [Bitte letzte Postleitzahl eingeben]



Bei Aktualisierungsabfragen:

Formel in das Feld "Aktualisieren",  z. B.:  [GEBUEHR]/116*16



Bei Stichwortabfragen:

Wie "*"&[Stichwort oder Teilstichwort ?]&"*"







    

VII. Import / Export von Tabellen:

    


Tabellen aus fremder Datenbanken importieren:

Tabellen / Neu / Verknüpfen - aus anderer Datenbank importieren


    
Fremde Datenbank importieren:

= eingehende Tabellen - auch aus anderen Datenbanken;


    
Abfragen importieren:

= über Tabellen / Neu / Importieren







    

VIII. Formulare erstellen



    
Über Assistenten:


a ) Autoformular Datenblatt

Listbox, dann: Formularansicht


b ) Formular Assistent ( mit Auswahl )

In Blöcken




Tips:




    
Formulare - Entwurfsansicht:



    

Zusätze


    
Unterformular
:

Z.B.: sub_xyz


Unterformulare im Hauptformular - am besten noch durch Registerkarten von einander getrennt - dienen nur dazu, andere Datensätze anzuzeigen, z. B. weiter zugeordnete Datensätze oder Abfragen / Datenzusammenstellungen. Unterformulare werden am besten aus der Toolbox geholt.

     Filter:


Filtert einzelne Datensätze heraus.

Anhang


    

Eingabehilfen:




  1. In den Formularen angeben, wo Eingaben zwingend erforderlich sind: evtl. farbig unterlegen.

  2. Feldeigenschaften / Standardwert / Funktion / = DATUM( ) ergibt das Eingabedatum ( Systemdatum ).

  3. Lieber eine spezielle Verknüpfungstabelle mehr mit kombinierten Schlüssel als eine zu wenig.

  4. Man kann alle Tabellen ausblenden ( nicht unbedingt die Auswahllisten liste_xy.. ) und mit Extras / Optionen / Ansicht wieder sichtbar machen. Dadurch sind weniger Fehleingaben möglich.

  5. Daten - Eingabe und Ausgabe nur über Formulare und Berichte.

    Um mehrere Berichte im gleichen Stil abliefern zu können, diesen im Entwurfsmodus unter "Format" als eigenes Autoformat abspeichern. Danach neue Berichte ( "Neu" ) mit Assistent erstellen lassen und mit der Vorlage formatieren. Das gelingt nur bedingt; aber wenn wie hier die abgefragte Datenbank die gleiche Struktur hat wie die der Vorlage, dann kann man die Vorlage im Entwurfsmodus komplett markieren und kopieren, dann den Zielbericht ebenfalls im Entwurfsmodus komplett markieren, löschen und ersetzen.

    Auch das gelingt nur bedingt, hilft aber schon mal weiter.

    Berichte haben aber den Nachteil, daß sie alles hintereinanderweg schreiben und von der Feldmenge her begrenzt sind. Will man mehrere Blätter, so in MICROSOFT® Word Serienbrief exportieren. Das geht auch aus Abfragen und in Excel, auch wenn die Datenbank nicht geöffnet ist.

  6. Das Eingabeformat bei Daten ist nicht unbedingt gleich dem Ausgabeformat ( verändert durch den Editor ).

    Bei Datum:

    "0" = 0 - 9 bedeutet: Eingabe erforderlich
    "9" = 0 - 9 oder leer bedeutet: Eingabe nicht erforderlich
    " / " bedeutet: Trennzeichen
    Also: 00/00/00;0 ( ";0" ist optional, speichert auch die Literalzeichen )


  7. Abfragen funktionieren nur, wenn man ihnen auch was zum abfragen gibt ( Datensätze eingeben! )

  8. Man kann durchaus eine verknüpfte Tabelle als Auswahlliste nehmen.
        



In Eingabeformularen:










ZU1 SeiteRÜCK
© 1999 Jürgen Hinrichs

http://erleuchtet.kilu.de/hilfe/index-g.htm



  Stichwortsuche:  

 Wie suche ich richtig mit FreeFind?

Suchbegriff(e) bitte EXAKT eingeben; ggf. mit Platzhalter abkürzen:
formatieren findet nur formatieren; format* findet auch Formate, Formatierung, etc.

     Von FreeFind
     Inhaltsverzeichnis