2000-10-09

 

Access 2000 – Datenbank-Management-System

 

Datenbank

 

Objekte (Table)

Name

Vorname

Geboren

Meier

Klaus

01.01.65

Lehmann

Hugo

02.02.67

o       Felder (hier: Name)

o       Datensätze (hier: Zeile)

 

Abfragen (query)

 

Sichten (view)

 

Formular (form)

 

Bericht (report)

 

Makros (macro)

 

Module

 

Access-Versionen

1.0       (16 Bit)

1.1       (16 Bit)

2.0       (16 Bit)

95        7.0

97        8.0

2000        9.0

 

Access

·        Relationales Datenbank-Managementy-System (RDBMS)

o       Relational: zwischen Tabellen sind Beziehungen möglich

 

 

 

 

 

 


o       Z.B. Ausleihvorgang kann nur stattfinden, wenn Leser in Tabelle Leser enthalten ist

 

MDI-Fenster (Multiple Document Interface)

 

Die Tabelle “Artikel”

·        Filterfunktionen

o       Im Feld Kategorie

§         Datum „Gewürze“ markieren

§         Button „Auswahlbasierter Filter“

§         Dann wieder „Filter entfernen“

o       Im Artikelnamen das vordere „G“ markieren, filtern

Þalle, die mit G beginnen

o       Buchstabe „u“ im Feld markieren

Þalle Daten, die ein „u“ (nicht „U“) enthalten, werden angezeigt

·        Auswahlausschließender Filter

o       Datum markieren, Datensätze ®Filter ®Auswahlausschließender Filter

Þalle Datensätze, die den Begriff nicht enthalten

 

Die Suchen-Funktion

ÞButton „Fernglas“

 

Arbeit in Access (Hier: Dbank900)

 

Datenmanipulation

·        Vorarbeit: die Tabelle tblBuch sichern:

o       Kontextmenü „tblBuch“; „Speichern unter“ (Name z.B. tblBuch)

o       Bei Bedarf tblBuch löschen und tblBuchBackup ®Speichern unter...tblBuch

 

Daten ändern

·        Daten im Feld verändern

·        Datenzeiger wechselt von 4 nach „Stift“

·        Durch Klick ins nächste Feld wird Feldinhalt geändert

·        Durch Wechsel des Datensatzes wird Änderung auf Datenträger geschrieben

·        Satzzeiger wird wieder zu 4

·        Rückgängig-Funktionen: Bearbeiten ®Rückgängig/Rückgängig gespeicherter Datensatz

·        Dito mit <Escape> (u.U. mehrmals, bis 4 erscheint)

 

Neue Datensätze

 

Datensätze löschen

 

Löschen in Kombination mit Filtern

  1. Suchen
  2. Filtern
  3. alle Datensätze markieren, löschen
  4. Filter entfernen

 

Einfache Sortier-Funktion

  1. Klick ins gewünschte Feld (z.B. unter „Titel“)
  2. Button AZ (aufsteigend, ascending) oder ZA (absteigend, descending)

 

Zusammenfassung:

·        Access starten, Datenbank öffnen

·        Datenbankobjekte öffnen/schließen

·        In Tabellen

 

Eine Datenbank anlegen

 

Datenimport (nachdem neue Datenbank angelegt wurde!)

 

Datenbank komprimieren

 

 

 

Weiter in DBank900...

 

Formulare ®Erste Schritte

 

Ein einspaltiges Formular

 

Formular-Assistent

 

Übung:

 

Erste Schritte im Formularentwurf

das Bezeichnungsfeld               Beizeichnungsfeld

Name                                      Bezeichnungsfeld          wichtig für Makro und VB!

Beschriftung                            Frank Möhle

 

Abfrage

 

Gesucht werden alle Romane von May, die im Titel „Amerka“ beinhalten:

Autorname

Title

Thema

Wie May

Wie Amerika

Wie Roman

 

Übung:

Autorname

Titel

Thema

Preis

Gilde

 

 

 

 

 

Roman

10

Busch

 

 

 

 

 

ODER                                                                 UND

 

 

 

 

 

 

 

 

 

 

 

 



2000-10-10

 

Access 2000 – Datenbank-Management-System

 

Import von Objekten aus Access-Datenbanken

  1. Öffnen der Datenbank uebungen.mdb
  2. Datei ®Externe Dateien ®Importieren; Dateityp bleibt Access

·        dbank900.mdb auswählen <importieren>

·        nacheinander markieren:

o       Tabelle      tblBuch

o       Abfrage     qryAlle Romane

o       Formular    frmBuch

o       Makro       ...

·        Dann <O.K.>

 

Hinweis: Bei vorhandenen Objekten mit gleichen Namen wird eine Kopie importiert und eine Ordnungszahl angehangen

 

Tabellen aneinanderfügen

z.B. Ag01B.txt

·        Bei nochmaligem Importieren: „Wo möchten Sie die Daten speichern?“

·        Neue Datensätze werden an die Tabelle angefügt (hier: an tblA)

·        Anderer Weg:

o       Z.B. tblBuch und tblBuch1 zusammenfügen:

o       TblBuch1 kopieren und einfügen

o       Struktur und Daten: » Speichern unter

o       Nur Struktur: Leere Tabelle (nur Feldnamen und Feldtyp übernommen)

o       Anzufügende Daten müssen im Format (Feldnamen und Feldtypen) identisch sein! Sonst:

 

Export von

·        RMT auf das Objekt ®Exportieren

·        Dateityp und Dateinamen angeben

·        Angabe des Objektnamens und weiterer Optionen

 

 

Arbeit mit Abfragen

 

 

Selbsttest:

Alle Bücher, die in der Spanne von 20 bis 50DM liegen

Lösung:

1.      Preis: >=20 (anzeigen); neue Spalte: Preis <=50 )nicht anzeigen

2.      Preis: >=20 und <=50

3.      Preis: zwischen 20 und 50 (ÞUND und ODER können verwendet werden!)

 

o       NICHT-Operator

 

Tabelle tblMitNullen:

 

o       Kein Feldeintrag = Zustand „Null“ Þleere Felder

o       Das ist null- bzw. ist nicht null-Kriterium findet leere Felder

o       Leere Felder vermeiden: Bei Zahlen Zahl „Null“ eingeben, bei Text z.B. Leerzeichen

 

In diesem Beispiel:

  1. Suche: alle, wo etwas fehlt: zu jedem Feldnamen „ist null“ (verschiedene Zeilen, damit „oder“-Verknüpfung gegeben ist)
  2. Suche: alle, die vollständig sind: zu jedem Feldnamen „ist nicht null“ (in eine Zeile, damit „und“-Verknüpfung gegeben ist)

 

 

Arbeiten im Formularentwurf

Weg 1:

Weg 2:

Weg 3:

 

 

 


2000-10-11

 

Access 2000 – Datenbank-Management-System

 

Prüfung: Ist “nicht A und nicht B“ logisch gleichwertig mit „nicht (A oder B)“?

 

A

B

Nicht A

Nicht B

Nicht (A oder B)

1

1

0

0

0

1

0

0

1

0

0

1

1

0

0

0

0

1

1

1

 

A

B

Nicht A

Nicht B

Nicht A und nicht B

1

1

0

0

0

1

0

0

1

0

0

1

1

0

0

0

0

1

1

1

 

ÞDie beiden logischen Verknüpfungen sind gleich.

 

 

Weitere Aspekte zu Abfragen

Bisher:

·        Felder in der Abfrage

·        Kriterien

·        Anzeigen oder nicht

·        Sortieren

·        Aliase

 

Beispiel:

QryArbeitMitAbfragen3 zu tblBuch (alle Felder)

®Feldeigenschaften (RMT oberhalb des Feldes ®Eigenschaften)

®Beschriftung (wirkt wie ein Alias, d.h. im Feld Autorname „Der war es: Autorname“ ist gleichbedeutend mit im Feld Autorvorname „Beschriftung Sein Vorname“)

®Auswirkung: ein Autoformular zu qryArbeitMitAbfragen3 zeigt Alias bzw. Beschriftung als Datenbeschriftung

 

Die Beschriftung setzt sich gegen das Alias durch!

 

Feld-Eigenschaft „Beschreibung“

(am Beispiel Titel)

·        Anzeige erfolgt in der Access-Statuszeile (Hilfe für den User)

 

Berechnen der Felder im Abfrageergebnis

·        Neues Feld beschriften (in Entwurfansicht):

·        Feldname: „Europreis:[Preis]*0,511“

·        ®Anzeige

 

 

Format:

·        im Feld „Europreis“ auf Eigenschaften (RMT) ®Format: Euro (oder: 0,00 €)

 

Eigenschaften der gesamten Abfrage

(RMT auf Titelzeile der Abfrage oder im oberen Bereich ®Eigenschaften)

·        Spitzenwert auf z.B. 3 setzen (Preis muß auf absteigend gestellt sein!)

·        Þdie teuersten 3 Bücher werden angezeigt

 

 

Drucken von Abfrage-Ergebnissen

·        der Abfrage-Name wird in der Kopfzeile gedruckt (vor dem Drucken die Abfrage qry...CA10 nennen)

·        Datenbank-Ansicht: Feldbreiten anpassen

o       Menü Datei ®Seite einrichten

·        ®Abfrageeigenschaft „Alle Felder anzeigen“ setzt bei „ja“ die Feldauswahl außer Kraft!

·        In der Datenblattansicht RMT auf Titelzeile oder Format ®Datenblatt Þweitere Möglichkeiten

 

 

Formularentwurf für Fortgeschrittene

frmArbeitMitFormularen

Bisher:

·        Erstellen mit Assistent ode4r als Autoformular

·        Formularkopf/-fuß anzeigen und Größen ändern

·        Eigenschaftsfenster anzeigen/ausblenden

·        Tool Bar anzeigen/ausblenden

·        Im Eigenschaftsfenster die Eigenschaften eines bestimmten Objektes anzeigen (z.B. die Eigenschaft Beschriftung des Objekts Formular; z.B. Höhe, Formularkopf,...)

·        Ein Bezeichnungsfeld aus der Toolbox in den Formularkopf legen und den eigenen Namen eingeben

 

Begriffe

Ein Bezeichnungsfeld (Label) ist ein Steuerelement (Control) und hat zwei wichtige Eigenschaften (Properties):

·        Name                                     Bezeichnungsfeld10

·        Beschriftung (Caption)          Frank’s hammerwichtiges Verzeichnis

Name ,muß im Formular eindeutig sein, d.h. wenn man noch ein Bezeichnungsfeld in daw Formular legt und seinen Namen ändert (in den gleichen Namen), dann weigert sich Access

Beschriftung: der dargestellte Inhalt

 

®Macros oder VB-Routinen, die auf dieses Steuerelementz zugreifen, verwenden exakt diesen Namen (ein geänderter Name kann zu Problemen führen)

 

Name sollte mit lbl beginnen (z.B. lblFrank)

 

Datenanzeige mit Hilfe von Steuerelementen

Beispiel Autorname-Feld

 

 

 

 

 

 

Bezeichnungsfeld

Textfeld

Name

Autorname_Bezeichnungsfeld

Autorname

Beschriftung

Autorname

 

Steuerelementsinhalt

 

Autorname

 

 

 

 

Beschriftung: ein beliebiger Text, der beim Erstellen des Formulars

·        Von Feldnamen

·        Von der Feldeigenschaft Beschriftung

·        Vom Alias

Gebildet wird.

 

Steuerelementsinhalt: Bindung an ein Tabellenfeld!

 

Löschen Sie alle Steuerelemente aus dem Detailbereich

®Detailbereich ist leer; Navigator zeigt 650 Datensätze

®Voraussetzung: Die Eigenschaft Datenherkunft des Formulares zeigt auf tblBuch

 

Weiterer Weg A – Die Feldliste

 

Weg B – Die Toolbox

·        *in der Toolbox klicken und in Formular einfügen

·        es wird ein Bezeichnungsfeld und ein Textfeld angelegt (Name und Beschriftung des Bezeichnungsfeldes selbst eingeben; beim Textfeld geschieht das automatisch)

 

Praxisweg

Autoformular oder Assi, dann individuell nacharbeiten

 

Formatiertips
Datenausrichtung

·        Eigenschaft ®Textausrichtung

Anordnung und Größe der Steuerelemente

·        Links oben:            Stelle 0/0

·        Oben (top):           Abstand zur Oberkante

·        Links (left):            Abstand zur linken Kante

·        Höhe (height):        Höhe des Elements

·        Breite (width):        Breite des Elements

Ausrichtung soll erzwungen werden

·        Entweder Eigenschaft „links“ für alle Textfelder nacheinander einstellen

·        Oder die Mehrfachauswahl nutzen, in dem man die Textboxen bei gedrückter Umschalttaste markiert bzw. einen Rahmen zieht, im Eigenschaftsfenster wir nun angezeigt (nur die Eigenschaften, die für alle markierten möglich sind)

·        Aufpassen:

o       Nicht Textfelder und Bezeichnungsfelder markieren, sondern einzeln!

o       Nicht links und oben einer Mehrfachauswahl ändern

 

Ausdruck von Einzelformularen

·        Name des Teilnehmers soll im Kopf stehen

·        Formularansicht ®Wechsel zum gewünschten Datensatz

 

Weitere Informationen

Eigenschaft Bild des Formulars

C:\Programme\MicrosoftOffice\Office\Bitmaps\Styles ®Formularhintergründe

Dazu außerdem die Hintergrundfarbe von Kopf, Detailbereich und Fuß

 

Ein Bild (z.B. ClipArt) in den Formularkopf legen

Toolbox ®Element Objektfeld, in das Formular ziehen

®Microsoft ClipArt Gallery

 

Objektfeld

Eigenschaft Größenanpassung:

·        Abschneiden

·        Dehnen

·        Zoomen

 

Schlußtip

Textfeld mit Uhrzeit und Datum

Steuerelementinhalt = jetzt()

Eigenschaft Format ®nur die gewünschten Angaben anzeigen

 

 

 


2000-10-12

 

Access 2000 – Datenbank-Management-System

 

Hinweise zu Aufgabe 7):

·        Formatierungen

o       Eigenschaftsfenster

o       Symbolleiste Formularentwurf

·        Ein Steuerelement auswählen (=markieren)

o       Maus

o       Objektliste in Symbolleiste Formularentwurf

 

dbank900

Aufgabe:

·        Es soll ein Formular zu tblBuch erstellt werden, ohne irgendwelche Assistenten zu benutzen

·        Das Formular soll frmFormularOhneAssistent heißen

·        Textfeldnamen beginnen txt

·        Bezeichnungsnamen beginnen mit lbl

·        Start

o       Formular ®Neu ®Entwurfsansicht

 

Verfahren

·        Objekt Formular an Datenquelle binden

o       Datenherkunft (record source)

o       ®dann funktionieren die Navigationsschaltflächen

·        mit Feldliste oder Toolbox: alle Steuerelementnamen festlegen

o       für Bezeichnungsfelder: Beschriftung

o       für Textfelder: Steuerelementeinheit

 

Kann man dieses Formular zur Darstellung der Daten der Abfrage qryAlleRomane benutzen?

®Ja, denn die Feldnamen sind identisch. Sonst: Fehlermeldung!

(Änderung im Feld „Datenherkunft“; die Eingabe von „q“ bewirkt Sprung zur ersten Abfrage)

 

Auch bei dieser Datenquelle tblBuch kann man den Preis in Euro (umrechnen und) anzeigen lassen:

 

1.      man braucht ein weiteres (ungebundenes) Textfeld txtEuropreis

2.      Man muß den Namen des Textfeldes feststellen, das den Preis anzeigt (hier txtPreis)

3.      im neuen Textfeld: Steuerelementinhalt „=txtPreis*0,51“

 

Unterschied zwischen einspaltigen und tabellarischen Formularen

1.      Formular-Eigenschaft Standardansicht:

o       Einzelnes Formular

o       Endlosformular

2.      Anordnung der Steuerelemente

o       Einspaltig      alle im Datenbereich

o       Tabellarisch  Bezeichnungsfelder im Formularkop

Textfelder im Detailbereich

 

Aufgabe:

Speichern Sie frmFormularOhneAssistent unter dem Namen frmFormularOhneAssistentTabellarisch und machen Sie „zu Fuß“ ein tabellarisches Formular daraus.

 

 

Parameterabfragen

·        Abfragen, die Benutzereingaben erfordern

·        Flexible Abfragen, ohne den Entwurf ändern zu müssen

 

Vorarbeit:

·        Normale Abfrage, die alle Felder von tblBuch enthält

·        Speichern als qryParameterabfrage

 

Kriterien

Für Autor:

·        Wie [Geben Sie den Autornamen ein.]

 

In gleicher Zeile für Titel:

·        Wie „*“ & [Geben Sie den Titel ein] & „*

ÞZeigt alle Datensätze an, die das eingegebene Titelfragment beinhalten

 

®Das Zeichen „&“ (das kaufmännische „und“) bewirkt hier eine Zusammenfügung von Textelementen

 

Übungen:

·        Erstellen Sie qryPreisspanne mit der Eingabemöglichkeit für Mindestpreis und Höchstpreis

 

 

Funktionen in Abfragen:

·          Erstellen Sie qryFunktionenInAbfragen

o       Nur Feld „Thema übernehmen

o        (Funktions-Button) einschalten

Þdie Themen werden einzeln nur einmal angezeigt

 

Eine sinnvolle Anwendung:

Thema

Preis

Titel

Preis

Preis

Gruppierung

Summe

Anzahl

Mittelwert

Maximum

 

 

Berichte

rptBerichtMitAssistententblBuch

 

·        Berichte ®Neu ®Berichtsassistent (oder Erstellt Bericht unter Verwendung des Assistenten

·        Datenquelle wählen (tblBuch)

·        Felder wählen

·        Gruppierungsebenen bestimmen

o       d.h. erweiterte Sortierung, doppelt vorkommende Inhalte werden nur einmal genannt

·        Sortierreihenfolgen (auch mehrere)

o       D.h. innerhalb der Gruppen wird sortiert

o       Außerdem können Zusammenfassungsoptionen möglich sein

·        Layout und Papierformat

o       Vorsicht mit „Feldbreite anpassen“!

o       Kann dazu führen, dass alle Felder zu schmal sind Þzuviel Nacharbeit nötig

·        Stil des Berichts

·        Titel (aus Name)

·        Fertig stellen

 

Aufbau einer Telefondatenbank

1.      Leere Datenbank DBTelefon.mdb

2.      Datei tblEberswalde.txt kopieren und importieren

3.      Tabelle umbenennen in tblAlleOrte

4.      Die restlichen Tabellen (Textdateien) ebenfalls kopieren und importieren und an tblAlleOrte anhängen

 

Aufgaben:

1.      Wieviel Telefonanschlüsse existieren in der Coppistr. 1-3 in Eberswalde? ®rpt1

2.      Erstellen Sie einen Bericht zu einer Parameterabfrage nach Ort ®qry1, rpt2

3.      Erstellen Sie eine Parameterabfraage zur Telefonnummernsuche ®qry2

 

 


2000-10-13

 

Access 2000 – Datenbank-Management-System

 

Weitere mögliche Datenbankobjekte

qryWeitere1

 

Straße              Ort                              Name

Aufsteigend                                                     absteigend

                                   Wie Eberswalde

 

®alle Eberswalder nach Str. geordnet

 

Funktionen ein:                                                Anzahl

 

Ergebnis: Anzahl der Anschlüsse pro Adresse nach Häufigkeit geordnet. (Ergebnis wie Aufgabe 1 vom 12.10.2000)

 

 

Grundsätzlich gilt:

·        Grundlage ist immer die Tabelle

·        Reihenfolge der Datenbankobjekte: Tabelle ®Abfrage ®Formular ®Bericht

o       Nur in dieser Richtung möglich

o       Datenbankobjekte können übersprungen werden

o       Abfrage zur Abfrage möglich

·        Bei aktivierter Gruppierung ist die Tabelle quasi schreibgeschütz

 

Noch eine Datenabfrage:

·        Datenquelle

1.      qryWeitere1

2.      tblTelefon

 

 

Dbank900 – Ein Bericht ohne Assistenten

Berichte ®Neu ®Entwurfsansicht

rptBerichtOhneAssistent

·        Bereiche

o       Berichtskopf

o       Seitenkopf

o       Detailbereich

o       Seitenfuß

o       Berichtsfuß

·        Eigenschaft Datenherkunft des Objektes Bericht auf ®tblBuch

·        aus Feldliste Titel und Preis in den Detailbereich ziehen

·        Berichtsbreite per Eigenschaftsfenster oder rechten Rand ziehen (Seitenformat Hochformat/Querformat beachten!)

anlegen:

·        im Berichtskopf:

o       ein Bezeichnungsfeld

·        im Seitenkopf

o       Bezeichnungsfelder für Titel, Preis, Autorname, Autorvorname

·        Im Detailbereich

o       die Textfelder für Titel, Preis, Autorname, Autorvorname

 

Erstellungszeitpunkt des Berichtes kann im Fuß stehen

®ein Textfeld

·        Steuerelementinhalt=jetzt()

 

Datumsformate:

t                       Tageszahl ohne führende Null               4.

tt                      Tageszahl                                                        04.

ttt                     2 Zeichen                                                        Mo

tttt                    alle Zeichen                                                     Montag

m                     Monatszahl                                                     9.

mm                                                                                         09.

mmm                                                                                      Sep.

mmmm                                                                       September

j                       Nummer des Tages im Jahr                 

jj                      Jahreszahl                                                       00

jjjj                                                                                          2000

h                      Stunde                                                8

hh                                                                                           08

m (n)                Minute                                                9

mm(nn)                                                                                   09

s                      Sekunde                                                         5

ss                                                                                           05

q                      Quartal                                                3.

w                     Wochentag                                                     (5=Freitag)

ww                  Kalenderwoche                                               41.

 

    

Die Seitenzahl soll im Seitenfuß dargestellt werden

·        ein Textfeld wird benötigt

·        Steuerelementinhalt per Ausdrucksgenerator:

o       Ausdruck: Verbindung von Objektnamen, Variab len/Konstanten-Namen, Funktionen und Operatioren

o       z.B. „=4+3“, „=[Preis]*0,51“, „=jetzt“

 

Der Bericht soll sortiert werden

·        Button  offnet:

·        in Themakopfbereich (aus Feldliste das Thema holen)

·        in Themafußbereich: ein Textfeld mit Steuerelementinhalt=summe([Preis]); Format: Währung

 

 

Bei Beginn einer neuen Gruppe soll eine neue Seite beginnen:

·        im Gruppenfuß muß ein Steuerelement Seitenwechsel (aus Toolbox) liegen

 

Hinweis:

·        in Gruppieren und Sortieren: „Gruppieren nach“ ®Anfangszeichen: die Zahl „Intervall“ gibt die Zahl der Zeichen an, die am Anfang gemeinsam sein muß

·        z.B.: Intervall=3:

o       August

o       Augustine

o       Augenoperation

 

Zusammenhalten:

·        Nein

·        Ganze Gruppe:

o       Access versucht, eine Gruppe auf eine Seite zu bekommen; wenn auf die aktuelle Seite nicht mindestens ein Datensatz passt, wird der Gruppenkopf auf eine neue Seite gelegt Þvermeide Gruppenkopf am Ende einer Seite

 

 

Aktionsabfragen

Abfragen, die Daten automatisch ändern können

 

Vorarbeit: Anlegen einer Tabelle zum Spielen (tblBuchDummy aus tblBuch)

 

Aktualisierungsabfrage

·        qryAktualisierungsabfrage

·        Abfrage ®Aktualisierungsabfrage

·        Aktualisieren:   hier den neuen Wert eintragen („Neuer May“)

·        Kriterien:                     hier Auswahl welche Datensätze

·        Datenblatt                    Button  (Ausführen)

·        ändert alle Einträge „May“ in „Neuer May“

 

Beispiel:

Alle Bücher, die über 100,- DM kosten, sollen im Preis verdreifacht werden:

 

Anfügeabfrage

·        fügt an eine Tabelle tblBuchDummy Datensätze aus einer anderen Tabelle tblBuch an

·        neue Abfrage zu tblBuch wie das die Quelle ist

·        Abfrage ®Anfügeabfrage

o       Anfügen tblBuchDummy (Ziel)

aus:

o       Kriterien: welche (Beispiel: alle Romane, die mit „E“ beginnen

 

Die Tabellenerstellungsabfrage

·        erstellt eine neue Tabelle (löscht ggf. eine gleichnamige) mit ausgewählten Daten aus einer Quelltabelle

·        neue Abfrage zu tblBuch: tblTabellenerstellungsabfrage

o       Felder auswählen

o       Kriterium eingeben (z.B. alle Romane)

·        Abfrage ®Tabellenerstellungsabfrage

 

Die Löschabfrage

zu tblBuchDummy

 

Übung:

Erstellen Sie zu einer (neu gespeicherten) tblBuchDummy eine Aktualisierungsabfrage, die den Titel aller Datensätze aktualisiert, in denen das Fragment „Windows“ vorkommt. Der neue Eintrag soll „Bald ist Wochenende“ heißen.

 

 


2000-10-16

 

Access 2000 – Datenbank-Management-System

 

Dbank900

Abfragen aus meherern Datenquellen

·        Abfrage: qryArbeitMitAbfragen4

o       aus tblAbfrageTest1:           Kleidung

o       aus tblAbfrageTest2:           Farbe

o       aus tblAbfrageTest2:           Beschreibung

·        36 Datensätze werden angezeigt

 

Verknüpfung von Feldern:

·        Mit LMT Verknüpfung herstellen:

 

die Verknüpfungseigenschaften:

 

1.      Gleichheitsverknüpfung

·        nur übereinstimmende

2.      Linksseitige Inklusionsverknüpfung

·        alle von links und alle übereinstimmenden von rechts

3.      Rechtsseitige Inklusionsverknüpfung

·        alle von rechts und übereinstimmende von links

 

Bein Fehlen einer Verknüpfung werden im Dynaset Datensatzanzahl1*Datensatzanzahl2 Sätze angezeigt

 

Übung:

·        Öffnen Sie DBTelefon.mdb

·        Erstellen Sie eine Abfrage

·        zu einem Ort Ihrer Wahl

·        Erstellen Sie eine Abfrage

·        zu einem Ort Ihrer Wahl mit Gruppierung

·        Erstellen Sie eine dritte Abfrage mit Verknüpfung aus den oberen beiden

 

Ansatz:

·        qry1 zu tblAlleOrte, alle Felder, bei Ort „wie Eberswalde“

·        qry2 zu tblAlleOrte, Name Anzahl, Strasse Gruppierung, Ort nicht anzeigen „wie Eberswalde“

·        qry3 zu qry1 und qry2

o       zu qry1: alle nötigen

o       zu qry2: Name, Straße

o       Straße bei beiden verknüpfen

 

 

Noch ein Beispiel einer sinnvollen Anwendung:

Wir suche für einen Ort eine Aufstellung nach der Häufigkeit der Familinenamen

·        qry1 bleibt

·        qry2 wird zu qry4

·        qry3 wird zu qry5 (aus qry1 und qry4)

 

 

 


Grundregeln zur Tabellenerstellung

 

Tabellenname:         

·          beginnt mit tbl

·        eindeutiger Name

·        Umlaute wenn möglich vermeiden

 

Felder:                      

·          besitzen Namen

·        Datentyp

·        pro Feld sollte nur ein Datum gespeichert werden

                                  

 

 

·          Felder sollten „atomar“ sein

 

Der Primärschlüssel:

·          Eigenschaft eines oder mehrerer Felder der Tabelle

·          Kennzeichen eines Datensatzes als eindeutig

·          z.B. Name könnte Primärschlüssel sein

·          auch 2 Felder (Name, Vorname) möglich

·          oder Personal-/Dienstnummer

Der Fremdschlüssel

·        Möglichkeit, Tabellen zu verknüpfen

 

Leser             Bücher

Name             Titel

Vorname       Besitzer         ®Fremdschlüssel bezieht sich

ID-Nr.                                     auf den Primärschlüssel einer

                                               anderen Tabelle

 

Redundanz:

·      doppelt (mehrfach) gespeicherte Daten

 

 

tblTeilnehmer

 

 

 

tblOrte

 

Name

Vorname

Ort

 

ID-Nr.

 

Blase

Andre

1

 

1

Eberswalde

Filter

Thorsten

1

 

2

Templin

Weigel

Martin

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Die erste eigene Tabelle

Tabellen ®Neu ®Entwurfsansicht

·      Feldname:                 „Textfeld“

·      Feld-/Datentyp:         „Text“

·      Beschreibeung:        „Hier kann ein Kommentar stehen“

o     wird Inhalt der Statuszeile, wenn Cursor in Datenblattansicht in Feld steht

·      Eigenschaften des Textfeldes:

o     Feldgröße:                       Anzahl der Zeichen

o     Beschriftung:                   wird Spaltenüberschrift im Datenblatt und Inhalt des

Bezeichnungsfeldes im Autoformular

o     Standardwert:                  dieser Inhalt trägt Access automatisch in neue

Datensätze ein, wenn der User nichts einträgt

o     Eingabe erforderlich:     legt fest, ob User Daten eingeben muß

o     Leere Zeichenfolge:       legt fest, ob „“ erlaubt ist

 

Leere Zeichenf.

Eingabe erf.

Probe

Bemerkung

nein

nein

Enter

Leertaste

„“

ok

ok

verboten!

ja

nein

Enter

Leertaste

„“

ok

ok

ok

nein

ja

Enter

Leertaste

„“

verboten

verboten

verboten

ja

ja

Enter

Leertaste

„“

verboten

ok

ok

 

 

o     Feldname:                        Memofeld

o     Felddatentyp                    Memo (bis 650535 Zeichen; nicht sortierbar, nicht

indizierbar)

o     Zahlenfeld:                        Zahl

Feldgröße:

Byte:               0...255

Integer:           -32.768 ... 32.767 (ganze Zahlen)

Long Integer: -2Mrd ... 2Mrd

Single             Fließkommazahl       einfache Genauigkeit/7 gültige Stellen

Double                                             doppelte Genauigkeit/14gültige Stellen

 

Gültigkeitsregel:       z.B. „>5“

 

Gültigkeitsmeldung: “Geizhals“

o     Datumsfeld (Datum/Uhrzeit)

Eingabe 2stelliger Jahreszahlen:

0 ... 29            ®2000 ... 2029

ab 30             ®1930

Mögliche Gültigkeitsregel:

<heute ()

Meldung:

Eingabe 16.10.00 ist gültig, weil:

Uhrzeit nicht gegeben Þ0:00 Uhr („kleiner als jetzt“)

o     Währungsfeld

ein spezielles Format des Typs Zahl

4 Nachkommastellen (intern)

o     Autowertfeld

Access kann selbst einen Zähler einfügen

Neue Werte: Ein Wechsel von Inkrement zu Zufall ist möglich; zurück nicht!

Anzeigeformat einstellbar

Format „Nr.“ 000 ® „Nr. 001“, „Nr. 002“,...

aber: aus Test wird   t „e“ st 000

o     JaNeinfeld

Format: Ja/Nein, Wahr/Falsch, Ein/Aus

Nachschlagen: Steuerelementanzeige: Kontrollkästchen, Textfeld, Kombinationsfeld

Bei Tastatureingabe: Ja/Nein-Umschaltung durch Leertaste

 

Access-intern:

Ja:      -1

Nein:   0

Jede Zahl ungleich Null wird als Ja akzeptiert und in –1 umgewandelt

o     OLE Feld

Feldinhalt kann jedes mögliche Objekt sein

o     Hyperlink

z.B. als Inhalt: c:\windows\explorer.exe

 

o      

 

Nu brauchen wir ein Formular

frmDatentypen (Autoformular, einspaltig)

 

Das Ja/Neinfeld gestattet verschiedene Darstellungsmöglichkeiten:

1. Kontrollkästchen:

2. Textfeld (aus Toolbox)

Steuerelementsinhalt auf    JaNeinfeld

Format auf                            Selbst

3. Umschaltfläche (aus Toolbox)

4. Kombinationsfeld

Steuerelementsinhalt auf Ja/Neinfeld

zusätzlich:

Daten:

Datenherkunftstyp: Werteliste

Datensatzherkunft Schreiben: „Ja“; „Nein“

Format:

Format Ja/Nein

 

 


2000-10-17

 

Access 2000 – Datenbank-Management-System

 

Hinweis zu Aufgabe 3:

Während ein Formular Daten einer Tabelle/Abfrage anzeigt, kann man den Tabellenentwurf nicht ändern. ÞAlso: Vorher Formular schließen!

 

Während eine Tabelle in der Entwurfsansicht geöffnet ist, kann man ein Formular nicht in der Formularansicht oder Datenblattansicht öffnen (also: nur in der Entwurfsansicht). ÞTabellenentwurf vorher schließen!

 

Wechsel zwischen einzelnen Fenstern:

o       Menü Fenster

o       <Alt> + <Tab>

o       <Strg> + <Tab>

o       <F11> (Schnellsprung zum Datenbankfenster)

 

Hinweis zu Aufgabe 4:

man kann auch OLE-Dateien nutzen (z.B. AVI-Video):

o       Feld Media ®RMT ®Objekt einfügen ®Aus Datei... ®Durchsuchen (z.B. senna.avi)

o       in Formular: Start des Videos durch Doppelklick

Zu Aufgabe 7:

zwei mögliche Varianten:

 

 

 

 

Dbank900

Infos zu speziellen Formatierungen

Feld:               Uhrzeit

Typ:                Datum/Zeit

als Format:    hh:nn:ss „Uhr“

 

Feld:               Tag

Typ:                Datum/Zeit

Format:          tttt tt.mmm jjjj

 

Feld:               Kilometer

Typ:                Zahl

Format:          Single

                        #.##0,000 „km“

 

Feld:               Kleintext

Typ:                Text

Format:          <

 

Feld:               Großtext

Typ:                Text

Format:          >

 

Format:          [Blau] lässt Anzeige in blau erscheinen

                        [Rot]

                        ...

 

Ein Autoformular übernimmt die Einstellungen aus dem Tabellenentwurf, wenn sie vorher definiert wurden.

 

 

tblBuch in Dbank900:

Güligkeitsregel für Preis:     >=0 (Meldung: Negativer Preis!!!)

Kopie tblBuchBackup muß nun erneuert werden

 

 

Bedingte Formatierung im Formular zu tblBuch

Im Textfeld Preis soll der Inhalt in Abhängigkeit vom Wert formatiert werden

 

o       im Formularentwurf ein Steuerelement selektieren

o       Format ®Bedingte Formatierung

o       bis zu drei verschiedene Formatierungen möglich (mit schwarz als Grundfarbe also vier)

 

 


Weiterer Weg:

o       erste eigene Tabellen tblPersonen, tblFahrzeuge

o       Beziehungen

o       eine Person kann mehrere Fahrzeuge besitzen

o       ein Fahrzeug kann nur einer Person gehören

 

tblPersonen (laut Vorlage)

o       PID als Primärschlüssel (Format: 0000)

o       Geboren: Gültigkeitsregel <Datum()

o       Gehalt: Gültigkeitsregel >5

o       dann 5 Datensätze eingeben

 

o     Formular zur Tabelle erstellen:

frmPersonen:

o       für Raucher wieder mehrere Eingabemöglichkeiten

 

tblFahrzeuge (nach Vorlage)

Besitzer muß Zahl ®Integer sein, weil in tblPersonen das Feld PID (als Primärschlüssel) Long Integer istl

o       Baujahr: Format mmm jjjj

o       Hubraum auf ...ccm formatieren

 

Einige Datensätze, Besitzer freilassen!

 

 

Beziehungen:

o       RMT in Datenbankfenster ®Beziehungen...

o       aus Fenster Tabelle anzeigen tblPersonen und tblFahrzeuge hinzufügen, dann Auswahl schließen

 

o       LMT PID auf Besitzer ziehen:

 

 

®in Tabelle tblFahrzeuge nun in Spalte Besitzer Zahlen eintragen (nur die möglich, für die in tblPersonen eine PID besteht; referentielle Integrität!)

 

®Mastertabelle      tblPersonen (die mit dem Primärschlüssel)

®Detailtabelle        tblFahrzeuge (mit Beziehung zum Primärschlüssel)

 

Referentielle Integrität:

o       in der Detailtabelle sind nur Daten zugelassen, für die es in der Mastertabelle einen Referenzdatensatz gibt (hier: PID)

o       in der Mastertabelle dürfen Datensätze nicht gelöscht werden, wenn sie in der Detailtabelle verwendet werden

 

Dateneingabe in tblFahrzeuge soll komfortabel erfolgen:

Ziel: Auswählmöglichkeit (Namen)

 

®Nachschlageassistent

o       Entwurf von tblFahrzeuge, Besitzer, Datentyp ®Nachschlageassistent

                      

 

 

 

o       ®Nachschlagefeld soll Werte einer Tabelle entnehmen

o       Name: tblPerson

o       Felder: PID und Name (mindestens)

o       Schlüsselspalte ausblenden

o       Beschriftung

o       Fertigstellen

®Assi ändert Feldname Besitzer in PID!

 

 

 

neue Tabellen:

o       tblRefIntTestMaster

o       Name (Text)

o       Geboren (Datum/Zeit)

o       tblRefIntTestDetai

o       Kind (Nachschlageassi zu Name tblRefIntTestMaster)

o       Spielzeugl (Text)

o       Extras ®Beziehungen (vorher Tabellen schließen!)

o       Tabellen ...Master und ...Detail einfügen und Beziehung zwischen Namen herstellen

o       RMT: Beziehung bearbeiten:

o       alle drei Optionen auswählen

 

Aktualisierungsweitergabe

o       Wenn in der Schlüsselspalte der Master-Tabelle Daten geändert werden, dann werden Daten in Detailtabelle auch geändert

 

Löschweitergabe:

o       Löschen eines Datensatzes in der Master-Tabelle führt zum Löschen aller zugehörigen Detaildatensätze

 

Frage:

frmFahrzeuge: Wie werden Besitzer angezeigt?

 

o       RMT ®Ändern zu ®Kombinationsfeld

o       Eigenschaft Datensatzherkunft  auf

o       Abfragegenerator ®Wahl tblPersonen , PID und Namen anzeigen lassen, dann schließen (Speichern? Ja!)

o       Spaltenzahl 2

o       Spaltenbreite 0; 2

Anzeige sodann: 

 

Heiratsvermittlung:

 

tblDamen

o       DID mit Primärschlüssel

o       Name

o       Vorname

o       Geboren

o       ...

 

tblHerren

o       HID mit Primärschlüssel

o       Name

o       Vorname

o       Geboren

o       ...

 

tblTreffen

o       TID mit Primärschlüssel

o       Er

o       Sie

o       gefunkt

o       Datum

o       ...

 

Eingabekomfort durch Nachschlage-Assi!

 

 


2000-10-18

 

Access 2000 – Datenbank-Management-System

 

Heiratsvermittlung:

 

 

Der Index erzwingt die Eindeutigkeit, d.h. eine Kombination aus „Er“ und „Sie“ tritt nur einmal auf.

 

 

Jedem Datensatz der Master-Tabelle können mehrere Datensätze der Detail-Tabelle zugeordnet sein.

 

zu Aufgabe 2:

Primärschlüssel zu zwei Feldern stellt sicher, dass jede Kombination nur einmal vorkommt

 

zu Aufgabe 3:

Feld Besitzer in tblTest2 muß vom Typ Text sein, weil Primärschlüssel in tblTest1 diesen Typ hat

 

zu Aufgabe 5:

Der Nachschlage-Assi legt noch eine Beziehung an (unnötig)

 

 

Indizes

o       eine gespeicherte „Stichwortliste“ dieser Spalte

o       z.B. in tblBuch die Spalte Titel indizieren ÞIndex-Spjalte mit Titel extra sortiert und gespeicherat

o       die Suche nach Titel geht dann schneller, weil nur Index durchsucht wird

 

Primärschlüssel:

o       ein spezieller Index

o       gestattet nicht Null

o       ist eindeutig

o       besitzt die Eigenschaft „primary key

 

Eindeutigkeit (ein oder mehrerer Felder):

o       Primärschlüssel verwenden

o       oder einen einfachen Index mit der Eigenschaft „eindeutig“

 

Beziehungen

ohne referentielle Integrität

o       z.B. in Abfragen

 

mit referentieller Integrität

o       meist 1:n

o       Aktualisierungsweitergabe und Löschweitergabe nicht immer sinnvoll

 

1:n

Master: 1 Datensatz; Detail: n Datensätze

 

1:1

(früher wichtig)

 

personal 1                                         personal 2

PNr.                                                   PNr.

Name                                                Gehalt

Vorname                                           Bemerkung

 

®Schweißnaht zwischen zwei Tabellen

nur Primärschlüssel können verknüpft werden

 

m:n

o       mehrere Datensätze der einen Tabelle verknüpft mit mehreren Datensätzen der zweiten Tabelle

o       z.B. Tabellenverknüpfung Artikel    Lieferer

o       technische Lösung: aufsplitten in 2 1:n Beziehungen

 

Beziehungen nur zwischen Feldern gleichen Typs aufbauen! (z.B. Zahl Integer)

 

 

Hauptformular und Unterformular

Möglichkeit, einen Master-Datensatz mit seinen Detaildaten anzuzeigen

 

·        Formulare ®Neu ®Formularassistent

·        alle Felder aus tblPersonen wählen und alle Felder aus tbl Fahrzeuge wählen, dann <weiter>

·        Formulartyp „mit Unterformularen“ wählen <weiter>

·        Layout des Unterformulares wählen <weiter>

·        Stil auswählen <weiter>

·        Titel auswählen (Titel werden zu Namen!) <Fertigstellen>

 

 

 

Das gleiche Formular, aber Option „verknüpfte Formulare“:

 

 

 

 

 

tblBuch

Mange: Redundanz (Daten sind mehrfach gespeichert)

 

Lösung:

 

            tblBuch                      tblThema

            Thema                       Thema (mit PK)

                           ¥              1

 

Nachschlageassistent und eigene Liste

tblBuch Entwurf

o       Feld Thema ®Nachschlageassistent

o       „Ich möchte selbst Werte eingeben

o       Allgemein

o       Computer

o       Fachbuch

o       Kind

o       Märchen

o       Mosaik

o       Roman

o       „Nur Listeneinträge“: ja: es werden nur noch Werte aus der Liste akzeptiert

 

Übung:

·        Legen Sie in tblBuch ein Feld Besitzer an, erstellen Sie eine 1:n Beziehung zwischen tblPersonen und tblBuch

·        Aktualisieren Sie die Daten in tblBuch mit Hilfe einer Aktualisierungsabfrage (z.B. alle Fachbücher ®3, alle Bücher >10DM ®5,...)

·        Legen Sie Hauptformular/Unterformular an

·        Legen Sie verknüpfte Formulare an

·        Leben Sie eine Abfrage qryBuchbesitzer an, die Namen der Besitzer, Buchtitel, Autor, Preis, Thema anzeigt (vermeiden Sie ein kartesisches Produkt)

·        Erstellen Sie einen Bericht, der die Bücher nach Besitzernamen gruppiert und nach Autor, Titel, sortiert anzeigt – benutzen Sie auch Zwischensummen u.a.

 

 

Access-Sicherheit

·        Eine Datenbank kann ein Kennwort erhalten, nur nach Kennworteingabe kann die Datenbank geöffnet werden

·        man kann Access absichern, so dass jeder User sich anmelden muß und bestimmte Rechte in bestimmten Datenbanken hat

·        man kann sich im Netz zu Gruppen zusammenschließen und Benutzer sowie Rechte verwalten

 

PC1                           PC2                           PC3

Kuno                          Klara                          Horst

 

 


                                   DB1

 

 

Datenbankkennwort

·        Datenbank exklusiv öffnen

·        Extras ®Sicherheit ®Datenbankkennwort zuweisen

 

Entfernen des Kennwortes

·      Exklusiv öffnen

·      Extras ®Sicherheit ®Datenbankkennwort löschen

 

Geschützes Access

Dem Benutzer „Administrator“ muß ein nichtleeres Kennwort zugewiesen werden

 

Extras ®Sicherheit ®Benutzer- und Gruppenkonten

·        Anmeldungskennwort ändern

·        Benutzername: Administrator

·        Anmeldung: Admin(istrator)

·        Kennwort:

 

Access-Schutz entfernen

Der Benutzer Administrator muß das leerre Kennwort erhalten:

 

Benutzerstratiegie:

Alex (alles)     darf

Nils (nix)         darf nicht

 

Access absichern

Test:

einmal als Nils und

einmal als Alex anmelden

 

Wie ändert Alex sein Kennwort?

1.      Access starten; als Alex anmelden (leeres Kennwort)

2.      Extras ®Sicherheit ®Benutzer- und Gruppenkonten (Anmeldungskennwort ändern

 

Access Sicherheit-Rechtevergabe

Extras ®Sicherheit ®Benutzer- und Gruppenberechtigungen

 

Beispiel: Recht, eine Datenbank zu öffnen

1.      als Administrator Access starten; Datenbank öffnen

2.      Extras ...®...berechtigungen

 

Erst:

Der Gruppe Benutzer das Recht „Öffnen“ und „Exklusiv öffnen“ (Datenbanken) entziehen

 

Dann:

User Alex das Recht öffnen erteilen

User Nils das Recht öffnen nicht erteilen

 

 


2000-10-19

 

Access 2000 – Datenbank-Management-System

 

Beziehung:

Verknüpfung von zwei Feldern unterschiedlicher Tabellen

 

Namen                                              Gegenstände

Nr.                                                      Name

Vorname                                           Benutzer

Name                                               

 

ohne Beziehungen                                       mit Beziehungen:

Ball                 Meier                                     Ball                 1

Teller              Lehmann                               Teller              2

Spiel               Lehmann                               Spiel               2

Hose              Schmidt                                 Hose              3

Hemd             Meier                                     Hemd             1

 

 

Normalisierung:

Aufsplittung der Daten nach bestimmten Regeln:

 

1. Normalform: Felder müssen atomar sein

2. Normalform: alle Nicht-Schlüssel-Felder müssen vom Gesamtschlüssel

abhängen

 

 

 

Sicherheitskonzept:

 

Dbank900.mdb

Datenbank-Kennwort

Benutzerrechte

Gruppenrechte

 

 

msaccess.exe

 

 


c:\Programme\Microsoft Office\Office\SYSTEM.MDW

                                               Benutzernamen

                                               Passwörter

 

 


In der Datenbank:

 

Benutzer und Benutzerrechte

Gruppen und Gruppenrechte

 

d.h. Alex ist Mitglied der Gruppe „Benutzer“ und hat

Rechte der Gruppe plus eigene Rechte

 

 

Recht Datenbank öffnen

Gruppe Benutzer darf nicht

Alex                     darf

Nils                      darf nicht

 

 

Nächster Test:

Alex soll tblBuch öffnen dürfen

Nils nicht

 

 

 

Access im Netz

 

Datensperrung festlegen

·        Extras ®Optionen ®Weiter

·        Standard bei Datensperrung

o       keine

o       alle (=Tabelle)

o       bearb. Datensatz (»einer 8kB großen Seite) Þsinnvoll

 

Arbeitsgruppen-Management:

c:\Programme\MicrosoftOffice\Office\wrkgadmin.exe

 

 

Macros – Erste Schritte

Maros ®Neu

 

·        Formulare ®Neu ®Entwurf

·        Speichern als frmMakroTestFenster1

·        Steuerelement Befehlsschaltfläche aus Toolbox

o       Name cmd1

o       Beschriftung (egal)

o       Registerkarte Ereignis: Beim Klicken ®TestMakro1

·           Ausdrucksgenerator

 

 

Bedingung prüfen

 

 

Ziel:

·        User gibt etwas in Textfeld ein, betätigt Befehlsschalter

·        Makro:

o       Eingabe prüfen, ob Zahl eingegeben wurde

§         Meldung „Zahl“: die Zahl nennen

§         Meldung „keine Zahl“: den Inhalt nennen

 

„ist numerisch“ einfügen:

 

Resultat: Ist Numerisch ([Formulare]![frmMakroTestFenster1]![txtBedingung])

·         

 

 


2000-10-20

 

Access 2000 – Datenbank-Management-System

 

Literatur:

Bauder/Bähr: Access 2000

·        Grundlagen und Praxiswissen (21100)

·        Programmierung (21101)

·        Hanser-Verlag

 

startet TestMakro2

 

TestMakro2

·        soll prüfen, ob die Eingabe numerisch ist

·        Wenn Ausdruck numerisch ®Meldung und Anzeige

·        Wenn Ausdruck nicht numerisch ®entspr. Meldung und Anzeige

 

 

·        Bei Eingabe eines numerischen Ausdrucks:

          

 

·        Bei Eingabe eines nichtnumerischen Ausdrucks:

          

 

Ablaufplan des Makros

·        Start, Ende:                                        

·        Verarbeitung, Ein-/Ausgabe:               

·        Verzweigung:

 

·        Verbindung:                

·        Flusslinie:                    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



2000-10-23

 

Access 2000 – Datenbank-Management-System

 

Makros

 

Bisher:

·        Makro besteht aus Aktionen

·        Aktionen können Argumente (Parameter) besitzen

o       StoppMakro hat keine

o       Meldung hat 4

·        Makro kann durch ein Ereignis ausgelöst werden

·        Es gibt eine Bedingungsspalte

o       diese kann ein- und ausgeblendet sein

o       wenn eine Bedingung drinsteht, wird die Aktion in dieser Zeile nur ausgeführt, wenn die Bedingung wahr ist

o       wenn die Bedingungsspalte leer ist, wird Aktion in dieser Zeile immer ausgeführt

o       Falle: Bedingung 1>1 eintragen und Bedingungsspalte ausblenden Þkann nie wahr sein ÞAktion in dieser Zeile wird nie ausgeführt!!!

o       „...“ in Bedingungsspalte bedeutet: die Bedingung gilt noch, d.h. mehrere Aktionen unter einer Bedingung ausführen

 

Spalte Makros

·        jedes Makro steht im Datenbankfenster unter Makros

·        damit die Anzahl hier nicht zugroß wird, kann man Makrogruppen bilden

o       z.B. plus, minus, mal, durch ®4 Makros

·        Elemente der Makrogruppe bekommen Unternamen:

o       z.B. „Rechnen.Addieren“, „Rechnen.Subtrahieren

 

Was soll das Makro Rechnen.Addieren bewirken?

Zahl aus txtEingabe1 + Zahl aus txtEingabe2 in txtAusgabe schreiben

·        Prüfe, ob in txtEingabe1 eine Zahl steht (nein: Stop; ja: weiter)

o       evtl. Fehlermeldung

·        Prüfe, ob in txtEingabe2 eine Zahl steht (nein: Stop; ja: weiter)

o       evtl. Fehlermeldung

·        addiere diese Zahlen, gib Ergebnis aus

®5 Aktionen (=Zeilen) im Teil Addieren

 

SetzenWert

Feld               = wohin? ([Formulare]![frmMakroTestFenster1]![txtAusgabe] („Pfad“)

Ausdruck     = was?

Bei Addition: aus 2 + 2 wird 22!

®der Ausdruck 2 muß zur Zahl 2 definiert werden. Um Ergebnisse als Dezimalzahlen anzeigen zu können, wird die Eigenschaft der Zahl auf „single“ festgelegt.

 

Þ ZSingle(Ausdruck)

 

 

 

  

 

 

Aktionen bisher:

·        Meldung (4 Argumente)

·        StoppMakro

·        SetzenWert (2 Argumente)

 

Testen von Makros

®Makroentwurfsfenster

 

®geht nicht bei allen Makros immer:

z.B. TestMakro2 und Rechnen das Formular frmMakroTestFenster1 benötigen

 

Ein Makro zum Beenden von Access

neues Makro AccessBeenden

 

als eine Aktion Verlassen

Argument Alles Speichern

 

 

Vorgeschaltete Bedingung:

als Bedingung:

Meldung                    („Soll Access beendet werden?“; 4+32; „Frage“)=6

Funktion Meldung     Inhalt                                                  Typ      Titel       Rückgabe

 

 

 

Typ:

Icon + Schalter

 

Icon:

16       Kritisch

32       Fragezeichen

48       Ausrufezeichen

64       Information

0                   kein

 

Schalter:

0                   nur O.K.

1                   o.k., abbrechen

2                   Abbruch, Wiederholen

3                   Ja, Nein, Abbrechen

4                   Ja, Nein

5                   Wiederholen, Abbrechen

 

Rückgabewerte

1                   O.K.

2                   Abbrechen

3                   Abbruch bzw. Beenden

4                   Wiederholen

5                   Ignorieren

6                   Ja

7                   Nein

 

 

frmBuchMakrosteuerung

 

Erstellen von mehreren Befehlsschaltern

1.        Befehl0 umbenennen zu cmdTitelA

2.        Größe des Befehlsschalters anpassen; Beschriftung „A“

3.        Markieren, Kopieren, Einfügen; Name und Beschriftung ändern

4.        beide markieren, Kopieren, Einfügen

 

Das Makro Titelfilter

 

Makroname             Aktion                                   Bedingung (Argument)

A                                 AnwendenFilter                    [Titel] Wie „A*“

(Zeile kopieren, einfügen und ändern)

...bis Z

 

Das Makro Autorfilter

®Makro TitelFilter Speichern unter: AutorFilter

Makroname             Aktion                                   Bedingung (Argument)

A                                 AnwendenFilter                    [Autorname] Wie „A*“

(Zeile kopieren, einfügen und ändern)

...bis Z

 

 

Wie funktioniert  ?

·        Suchbegriff

·        Frage, ob aktuelles Feld oder ganze Tabelle durchsucht wird

·        Frage, ob Anfang, Teil, ganzes Feld

·        Frage der Richtung in der Suche

 

Neues Makro BuchSuchen

 

 

Titelanfang eingeben:

Auslösen durch txtEingabe ®Ereignis bei Änderung:

·        zum Titel springen

·        Suchen wie oben (Titel suchen)

·        zurück zu txtEingabe springen

 

 


2000-10-24

 

Access 2000 – Datenbank-Management-System

 

frmBuchMakrosteuerung

 

Titelanfang eingeben:

·        Aufruf „Bei Änderung“

 

·        Gehe zu Steuerelement      Wie bei Titelsuchen

·        SuchenDatensatz                Wie bei Titelsuchen

·        Gehe zu Steuerelement      (txtEingabe)

·        Tastaturbefehl                      {F2}

 

   

 

 

 

Damit bei Löschen der Eingabe keine Fehlermeldung erscheint wird eingefügt:

 


Damit die Suche beim Zurücknehmen von Buchstaben nicht hakt:

 

 

Datensatz direkt anzeigen:

1. Zeile:

Nicht IstNumerisch (txtDatensatz)  StopptMakro

2. Zeile

...txtDatensatz <=0                                       StopptMakro

 

DomAnzahl zählt die Datensätze aus einer bestimmten Quelle

einfachste Anwendung:

DomAnzahl(„[Titel]“;“tblBuch“)

3. Zeile:

Bedingung

Zsingle([Formulare]![frmBuchMakrosteuerung]![txtDatensatz])>DomAnzahl(„[Titel]]“;“tblBuch“)

 

 

 

 

 

 

 

 

 

Zusammenfassung der Neuen Funktionen:

·        AnwendenFilter

·        SuchenDatensatz

·        AusführenMakro

·        GeheZuDatensatz

·        AnzeigenAlleDatensätze

·        GeheZuSteuerelement

·        Tastaturbefehle

 

Das Makro autoexec

·        wird (wenn vorhanden) nach öffnen der Datanbank ausgeführt

o       z.B. neues Makro ®autoexec

o       Aktion: ÖffnenFormular

o       Formularname frmBuchMakrosteuerung

 

 

Datenbank für Bestellabwicklungen

Artikel             Lieferanten   

 

 

 

 

 

 

 

 

 

 

 

 


1. Erweiterung:

·        aus den Beziehungen des Nachschlageassistenten sollen Beziehungen mit referentieller Integrität werden

 

Das Makro Ausgang

·        wird über cmdAusgang in frmAusgang gestartet

·        soll

o       höflich fragen, ob wir buchen wollen

o       nachsehen, ob schon gebucht

o       Anzahl von Bestand abziehen, wenn Zahl nicht negativ, nicht zu viele

o       als gebucht markieren

 

1. Zeile:

Bedingung:

·        Meldung(„Möchten Sie buchen?“;4+32;“Titel“)=7

 

Aktion:

·        StoppMakro

 

2. Zeile:

Bedingung:

·        [Formulare]![frmAusgang]![Gebucht]= -1

 

Aktion:

·        Meldung „Schon gebucht“

 

3. Zeile:

Bedingung:

·        ...

 

Aktion:

·        StoppMakro

 

4. Zeile:

Aktion:

·        ÖffnenFormular (Formularname: frmArtikel)

 

 


2000-10-25

 

Access 2000 – Datenbank-Management-System

 

 

5. Zeile:

Bedingung:

·        [Formulare]![frmAusgang]![Anzahl]<1

 

Aktion

·        Meldung „Negative Zahl oder Null!“

 

6. Zeile:

Bedingung:

·        ...

 

Aktion:

·        Schließen: Objekttyp Formular, Objektname: frmArtikel

 

 

7. Zeile:

Bedingung:

·        ...

 

Aktion:

·        StoppMakro

 

8. Zeile:

Bedingung:

·         [Formulare]![frmArtikel]![Bestand] – [Formulare]![frmAusgang]![Anzahl] < 5

 

Aktion:

·        Meldung „Mindestbestand unterschritten“

 

9. Zeile wie 6.

 

10. Zeile wie 7.

 

11. Zeile:

Aktion:

·        SetzenWert

o       Feld:              [Formular]![frmArtikel]![Bestand]

o       Ausdruck:      [Formular]![frmArtikel]![Bestand] – [Formulare]![frmAusgang]![Anzahl]

 

12. Zeile:

Aktion:

·        SetzenWert

o       Feld:              [Formulare]![frmAusgang]![Gebucht]

o       Ausdruck:      -1

 

13. Zeile:

Aktion:

·        ÖffnenBericht

o       Berichtsname:          rptRechnung

o       Ansicht:                     Seitenansicht

o       Bedingung:               [ANummer]=[Formulare]![frmAusgang]![ANummer]

 

Bericht

rptRechnung

Kundenname:

·        Kombinationsfeld

o       Steuerelementinhalt:           [Formulare]![frmAusgang]![Kundennummer]

o       Datensatzherkunft:               Nummer und Name aus tblKunde (Spaltenzahl: 2; Spaltenbreite: 0;2)

o        

 

 


2000-10-26

 

Access 2000 – Datenbank-Management-System

 

       Zzzzz

 

Makros – eine Zusammenfassung

Wozu?

·        Aktionen, die manuell ausführbar sind, automatisch ausführen lassen

 

Vorgehen:

·        manuell Aktionen notieren

·        bestimmte Eventualitäten notieren (z.B. Bestand zu klein,...)

 

Überlegen, wodurch das Makro gestartet werden soll

·        beim Klicken

·        bei Änderungen

·        ...

 

Die Bedingungsspalte

·        Inhalt muß eine wahre oder falsche Aussage sein (1=4 ist falsch)

·        Aussage besteht aus Ausdrücken

·        Ausdruck

o       Objektname oder Funktionsname oder Variablenname/Konstantenname in Basic

o       allein oder in Verbindung mit Operatoren + - * / < > = <>

o       [Objekt27] < Datum()

Objekt             Funktion

o       Meldung („Soll ich?“;4)=6 ist eine Funktion

o       Vollständige Objektnamen: [Gruppe]![NamedesObjektes]![Unterobjekt]...

[Formulare]![frmTest1]![txtName]=“Testwort“

txt       Textfeld

lbl        Bezeichnungsfeld

cmd     Befehlsschalter

cbo      Kombinationsfeld

o        

 

 

 

Automatisierung der Heiratsvermittlung.mdb

Bisher:             neu dazu:

tblDamen                     Vergeben

tblHerren                     Vergeben

tblTreffen                     Bearbeitet

Makroaktionen:

·        Wenn Bearbeitet wahr ist, stopp

·        Wenn Gefunkt wahr ist:

o       frmHerren öffnen, Herr suchen, vergeben auf wahr

o       frmDamen öffnen, Dame suchen, vergeben auf wahr

·        bearbeitet auf Wahr setzen

 

 

 

Visual Basic – Erste Schritte

 

Programmieren:

·        dem PC eine Folge von Anweisungen erteilen

·        in einer bestimmten Sprache anweisen

o       Basic

o       Java Script

o       Delphi

o       C++

o      

 

Anweisungen

·        Vereinbarungen

o       “Lege mir eine Variable namens “A” an.” ®Dim A

·        Wertzuweisungen

o       „Speichere die Zahl 4 in der Variablen A ®A=4

o       „Speichere den momentanen Wert von A plus 7 in der Variablen A“ ®A=A+7

 

A                                            =A+7

linke Seite                               rechte Seite

Wer bekommt den Wert?        Was ist der neue Wert?

 

·        Einfache Anweisungen

o       „Melde mir ‚Hallo’“ ®MsgBox „Hallo“

·        Wertzuweisungen mit Funktionen

o       z.B.: Absoluter Betrag

 

A         =ABS                         (-4)

Wer?   Funktionsname Argument (in Klammern!)

 

A=MsgBox(„Soll ich?“,4) ist ein Meldung

 

A=InputBox(„Gib etwas ein“) ist eine Eingabeaufforderung

 

·      Verzweigungen

 

Wenn   Bedingung        dann                Anweisung

If         A<7                 Then               MsgBoxKleiner

 

oder

 

If         A<7                 Then

            MsgBoxKleiner

End If

 

Wenn   Dann                                       Sonst

IfA<7  Then   MsgBox “Kleiner”   Else MsgBox “nicht kleiner”

 

oder:

 

IfA<7Then

            MsgBox „Kleiner“

Else

            MsgBox „nicht kleiner“

End If

 

·      Schleifen

o     Anweisungen mehrfach ausführen

 

For-Next-Schleife

z.B. zähle von 1 bis 10

DimI

ForI=1To10               (ForZählvariable = Startwert To Endwert)

            MsgBoxI

NextI                         (Nimm das nächste I)

 

Durchlauf 1:

I ist 1 ®Meldung: „1“

I wird um 1 erhöht und geprüft, ob der Endwert erreicht ist

Durchlauf 2

I ist 2 ®Meldung: „2“

...

Durchlauf 10

I ist 10 ®Meldung: „10“

Erhöhung: Prüfung negativ ÞEnde der Schleife

 

Do-Loop-Schleife

Do While Bedingung

Anweisungen

 

Loop

z.B.:

DimA

DoWhileA<>7                       (Do While Bedingung)

            A=MsgBox(“Noch mal?”,4)

Loop                                      (Anweisung)

 

 

 

Übung:

Desktop ®RMT ®Neu ®Textdatei

Umbenennen in Erste.vbs

RMT ®Bearbeiten oder ®Ändern

Eingabe:

Schließen, Speichern, mit Doppelklick auf das Icon ausführen und staunen.

 

InputBox liefert Text zurück (String)

MsgBox erwartet Text

 

 

Umwandlungsfunktionen:

·        CInt()             Integer

·        CSng()            Single

·        CStr()             wandelt Zahl in Text um

·        CDbl()                        Double

 

 

Weitere Übung:

 

Kommentarzeile beginnt mit Hochkomma und endet mit Enter

 


...und noch eine:

 

 

 

 


Dbank900.mdb

neues Formular frmBasic1

·        Befehlsschalter cmdBefehl1

·        Beschriftung Mein erster Befehl

 

 

 

Das Codefenster:

Schließen und zurück zu Access:

 

 

 

 

 

 


2000-10-27

 

Access 2000 – Datenbank-Management-System

 

 

 

 

frmBasic1 erweitern

cmdForNext: hier hinein den Code der Schleife2.vbs

 

 

cmdEigenschaften

 

 

 

Allgemein:

Steuerelementname.Eigenschaft=Wert

 

 

 

In VB sind 8 Farben als Konstanten definiert:

 

cmdPlus:

 

cmdMinus, cmdMal und cmdDurch nach selbem Muster, aber Wert 0 in txtText2 bei Division verhindern:

 

Am Anfang des Code-Editors muß stehen:

Wenn Option Explicit automatisch in neue Formulare übernommen werden soll,

Codefenster

®Extras ®Optionen

Variablendeklaration erforderlich“ aktivieren

Þnur deklarierte Variablen werden verwendet

 

 

 

Datenbankzugriffe

 

DAO-Objektmodell

Data Acess Objects

 

ADO-Objektmodell

ActiveX Data Objects

 

Codefenster

Extras ®Verweise

 


DAO 3.6 muß vor ADO 2.1 stehen!!!

 

 

 

Hierarchie der DAO

 

DBEngine (Datenbank-Engine)

Workspaces (Arbeitsbereiche)

Data Bases (Datenbanken)

Table Defs (Tabellenstruktur)

Fields (Felder)

Query Defs (Abfrage)

Fields (Felder)

 

Beispiel:

Der Name des dritten Feldes der zweiten Tabelle meiner einzigen Datenbank:

 

DBEngine.Workspaces(0).Databases(0).TableDefs(1).Fields(2).Name

 

 

Objekte haben Eigenschaften und Methoden (Funktionen)

Me.Caption ist eine Eigenschaft

 

 

Zeilenfortführungsoperator im Editor:

Leerzeichen – Unterstrich – Enter

ÞZeilenumbruch innerhalb einer Befehlszeile

 

 

Inhalt des Codefensters für cdmAllgemein:

cdmTabellen:

 

cdmAbfragen:

 

 


2000-11-01

 

Access 2000 – Datenbank-Management-System

 

 

Access-Programmierung DAO

·        Objektbibliothek DAO3.6 muß über Extras ®Verweise eingebunden werden

·        DAO muß in der Priorität vor ADO stehen

·        Objekt DBEngine (das Access-Herzstück)

o       ®Eigenschaft ®Version

·        Auflistung Workspaces

o       Objekt Workspaces(0) (aktueller bzw. erster Arbeitsbereich)

·        Auflistung Databases

o       Objekt Databases(0) (die erste Datenbank)

§         um die Datenbank, die gerade geöffnet ist, anzusprechen: DBEngine.Workspaces(0).Databases(0)

 

·        zur Abkürzung Objektvariablen:

Dim    DB1 As         Database

            Variable         Objekttyp

Set DB1 = DBEngine.Workspaces(0).Databases(0)

 

·        ®Zuweisung einer Objektreferenz an eine Objektvariable immer mit “Set“!

 

·        Auflistung TableDefs die Eigenschaft „Count“ zuweisen; z.B.:

MsgBox DB1.TableDefs.Count

·        Objekt TableDefs(9) die Eigenschaft “Name” zuweisen”; z.B.:

MsgBox DB1.TableDefs(9).Name

·        Auflistung Fields die Eigenschaft Count zuweisen; z.B.:

MsgBox DB1.TableDefs(9).Fields.Count

·        Objekt Fields(2) die Eigenschaft Name zuweisen; z.B.:

MsgBox DB1.TableDefs(9).Fields(2).Name

 

 

 


frmBasic2 (Dbank900)

 

cmdTabelleUntersuchen2

 

 

            

 


cmdDatenbankErstellen:

 

cmdTabErstellen

 

 

 

Das Recordset-Objekt

·        eine Datensatzgruppe

·        Quelle kann Tabelle, Abfrage oder SQL-Befehl sein

·        Fields-Auflösung

·        ...Fields(X).value – der Feldinhalt

o       TableDef                   Entwurf

o       QueryDef

·        Recordset ®Daten

 

 


2000-11-02

 

Access 2000 – Datenbank-Management-System

 

frmBasic2/Dbank900

 

cmdRSSQL2

·        Recordset aller Computerbücher nach Preis absteigend sortiert

 

Navigator:

Befindet sich das Formular auf dem letzten Datensatz und wird der nächste angewählt, befindet sich das Formular auf einem ungültigen Datensatz ÞAbsturz...

 

 

Bearbeiten

1.      Edit-Methode ausführen

2.      Feldinhalte ändern

3.      Update-Methode ausführen

 

cmdBearbeiten

 

 

Filtern und Sortieren:

·        Filter und Sort sind Eigenschaften des Recordset Objektes

·        nach Anwenden eines Filters oder einer Sortierung muß das Recordset-Objekt neu geöffnet werden

 

cmdFilter

 

 

Abfrage-Buttons:

Es soll:

1.      eine neue Abfrage in der Datenbank erstellt werden

2.      die Daten in frmRSTest angezeigt werden

3.      die Abfrage gelöscht werden

 

zu 1.: CreateQueryDef (Methode der Datenbank)

zu 2.: mit einem Recordset-Objekt

zu 3.: Delete-Methode der QueryDefs-Collection der Datenbank

 

cmdQryAbfrage1Erstellen


frmBuchBasicsteuerung

 

cmdTitelA

·        Makroaktion ApplyFilter wird ausgeführt

 

1. Erweiterung:

auf Datenänderung mit Frage reagieren

Textfeld ®Titel ®Ereignis ®Vor Aktualisierung

 

 

 

2. Erweiterung:

·        bei Besitzeränderung soll

1.      Nachgefragt werden, ob...

2.      Person mit Nummer 2 soll niemals ein Buch erhalten dürfen

 

 

 

cmdSuchTitel

 

 


2000-11-03

 

Access 2000 – Datenbank-Management-System

 

frmBuchBasicsteuerung

 

Makro Suchen.BeiEingabe

 

als Makro                                                                in VB

 

Gehe zu Steuerelement (Titel)                               Titel.SetFocus

 

Wenn IstLeer (txtEingabe) ®Stopp

 

SuchenDatensatz                                                    FindFirst

 

GehezuSteuerelement (txtEingabe)                     

 

Tastaturbefehl F2                                                    Sendkeys