Keine Angst
vor
Microsoft Access! |
|||||||||||||||||||||
|
Fehlerkorrekturen und Ergänzungen
6. Auflage (2019) Bitte sehen Sie auch unter "Downloads" nach, ob es evtl. neuere Versionen der Beispieldatenbanken gibt. Wenn Sie nicht die neueste Auflage des Buches haben, holen Sie sich bitte trotzdem die jeweiligen Dateien der neuesten Auflage! Ein Leser hat mich auf folgendes hingewiesen: Meine Beispiel-Datenbanken ließen sich auf seinem Rechner nicht öffnen. Die Ursache war folgende: Unter "Windows-Einstellungen / Zeit und Sprache / Sprache / Verwandte Einstellungen / Administrative Sprachoptionen / Sprache für Unicode-inkompatible Programme" war "Chinesisch" eingestellt. Wenn man das auf "Deutsch" oder "Englisch" einstellt, ist das Problem behoben. In der in Kapitel 10 besprochenen Frontend-Backend-Lösung gab es einen kleinen (aber entscheidenen) Tippfehler. (Danke an Herrn Stork für den Hinweis!) Neue Version: Handwerk-v602.zip S. 101 Mitte Dort muss es richtig heißen: S. 212 Mitte Der VBA-Code muss richtig lauten: S. 217 Oben Der VBA-Code muss richtig lauten: S. 218 Oben Der VBA-Code muss richtig lauten: S. 281 unten (Danke an Herrn Keller für den Hinweis!) S. 283 unten (Danke an Herrn Keller für den Hinweis!) 5. Auflage (2016) Bitte sehen Sie auch unter "Downloads" nach, ob es evtl. neuere Versionen der Beispieldatenbanken gibt. Wenn Sie nicht die neueste Auflage des Buches haben, holen Sie sich bitte trotzdem die jeweiligen Dateien der neuesten Auflage! S. 212 Mitte Der VBA-Code muss richtig lauten: S. 217 Oben Der VBA-Code muss richtig lauten: S. 218 Oben Der VBA-Code muss richtig lauten: 4. Auflage (2013) Bitte sehen Sie auch unter "Downloads" nach, ob es evtl. neuere Versionen der Beispieldatenbanken gibt. Wenn Sie nicht die neueste Auflage des Buches haben, holen Sie sich bitte trotzdem die jeweiligen Dateien der neuesten Auflage! Leider sind von einigen Dateien nicht die aktuellsten Versionen auf der Buch-CD gelandet. Bitte laden Sie sich diese hier unter "Downloads" herunter! S. 187 oben Statt "Die Formel WERT(LINKS(B3;FINDEN("€";B2)-1)) ..." muss es heißen "Die Formel WERT(LINKS(B2;FINDEN("€";B2)-1)) ... " S. 311 Da es zu dem Thema "Eingebettetes Makro vs. Ereignisprozedur" immer mal wieder Fragen gibt, habe ich dazu eine etwas umfangreichere Ergänzung geschrieben:
Bei den Makros muss man zwischen "Eingebetteten Makros" und selbst geschriebenen Makros unterscheiden.
"Eingebettete Makros" legt Access automatisch an, wenn Sie den Steuerelement-Assistenten benutzen,
um z.B. einen Button auf einem Formular zu generieren, der den Befehl "Gehe zum nächsten Datensatz" ausführt.
Wenn Sie den Button erstellt haben, dann in der Entwurfsansicht mit der rechten Maustaste darauf klicken und "Eigenschaften / Ereignis" wählen,
sehen Sie unter "Beim Klicken" den Eintrag "[Eingebettetes Makro]".
Selbst erstellte Makros in VBA zu konvertieren, ist kein Problem: Sie öffnen das Makro in der Entwurfsansicht
und wählen im Register "Entwurf" den Befehl "Makros zu Visual Basic konvertieren".
"Eingebettete Makros" können Sie (zumindest in Access 2010) NICHT zu VBA konvertieren.
Das wird von Microsoft selber als Bug eingeschätzt
(error-when-trying-to-convert-form-macro-to-visual)
Auf dieser Webseite wird allerdings auch ein Workaround empfohlen:
Einfach selber ein neues Makro anlegen, den Code des "Eingebetteten Makros" dorthin kopieren
und dann das selbst erstellte Makro konvertieren. Anschließend wählen Sie in der Entwurfsansicht
des Steuerelements wieder "Eigenschaften / Ereignis" und schalten dann "Beim Klicken" auf "Ereignisprozedur" um.
Dorthinein können Sie dann den konvertieren VBA-Code kopieren.
Das klingt ganz simpel - dabei sind aber einige Tricks zu beachten:
3. Auflage ("2., korrigierter Nachdruck 2012") Bitte sehen Sie auch unter "Downloads" nach, ob es evtl. neuere Versionen der Beispieldatenbanken gibt. Wenn Sie nicht die neueste Auflage des Buches haben, holen Sie sich bitte trotzdem die jeweiligen Dateien der neuesten Auflage! ab S. 74 Die Bezeichnungen der Datentypen in den logischen Datenmodellen haben folgende Bedeutung:
S. 170 Statt "Klicken Sie auf 'Optionen' und wählen Sie im Kombinationsfeld 'Suchen' den Eintrag 'Arbeitsmappe' aus." muss es heißen "Klicken Sie auf 'Optionen' und wählen Sie im Register 'Suchen' bei 'Durchsuchen' den Eintrag 'Arbeitsmappe' aus." Statt "Geben Sie bei 'Suchen nach' und bei 'Ersetzen durch' jeweils ein Gleichheitszeichen ein." muss es heißen "Geben Sie im Register 'Ersetzen' bei 'Suchen nach' und bei 'Ersetzen durch' jeweils ein Gleichheitszeichen ein." Nachtrag am Ende des Absatzes direkt über "AUFSTATUS": Sollten die Fehlermeldungen #NAME? immer noch nicht verschwunden sein, so liegt das daran, dass ich die Excel-Funktion ZUFALLSBEREICH() benutze, die nicht bei jeder Excel-Installation sofort verfügbar ist. Sie muss dann als Add-In nachträglich geladen werden. Dazu müssen Sie in den verschiedenen Excel-Versionen folgendermaßen vorgehen:
Außerdem ... 3. Auflage (2011) Achtung! Die folgenden Fehlerkorrekturen gelten für Ihr Buch NICHT, wenn auf Seite 4 links unten steht "2., korrigierter Nachdruck 2012". Dort sind diese Fehler bereits behoben! Buch-CD Die auf der CD befindlichen Dateien zur Installation der Access Runtime und der
Access Developer Extensions funktionieren nicht. Offenbar haben aber viele Leser meinen Rat auf S. 376 befolgt
und sich lieber die aktuellste Version direkt bei Microsoft heruntergeladen. Anders kann ich es mir nicht erklären,
dass sich erst ziemlich spät der erste Leser deswegen bei mir gemeldet hat. S. 21 Der Verweis auf die "Microsoft Forms 2.0 Object Library" macht offenbar Probleme. Einerseits findet man in verschiedenen Quellen im Internet Hinweise darauf, dass diese Library Abstürze verursachen kann. Andererseits finden etliche Leser diesen Verweis überhaupt nicht in der Liste der möglichen Verweise, so dass sie ihn auch nicht aktivieren können. Meine Tests haben - bisher jedenfalls - ergeben, dass meine Beispielanwendungen auch ohne diesen Verweis funktionieren. Bitte probieren Sie es einfach - sollte es daraufhin Fehlermeldungen geben, so teilen Sie es mir bitte mit und ich werde mich darum kümmern. Noch ein Hinweis zu diesem Thema für Leute, die diese Library trotzdem benutzen wollen oder müssen - sie aber in der Liste der möglichen Verweise nicht finden: Die Datei, in der sich diese Library befindet, heißt "FM20.DLL" und befindet sich im Ordner WINDOWS/system32! S. 40 unten und S. 41 oben Statt "frmDatentypen" muss es heißen: "frmTypen"! S. 68 In der ersten Zeile des zweiten Absatzes muss es statt "... auf der Registerkarte Daten ..." heißen: "... auf der Registerkarte Ereignis ..."! S. 71 unten Statt "Anhang A" muss es heißen: "Anhang B"! S. 77 In der Abbildung 2.5 muss es heißen: "Zu einem Kunden... ...gehören... ...keiner oder mehrere... ...Kundenaufträge". Hier und an allen anderen Stellen schließt "keiner oder mehrere" immer "einen" mit ein. Es müsste ganz genau genommen also heißen "...keiner, einer oder mehrere..."! S. 78 Der Satz " Der Kreis heißt „null“ oder „kein“ " ist leider etwas missverständlich formuliert. Damit meine ich wirklich nur den Kreis selber - nicht seine Benutzung im logischen Modell. Ich wollte damit ausdrücken, dass ich die Symbolik "Kreis - Strich - Krähenfuss" sehr anschaulich finde. Bei seiner Benutzung im logischen Modell symbolisiert der Kreis tatsächlich die Kardinalität "kein oder ein"! S. 126 unten Zwischen Punkt 3 und 4: Es klingt etwas verrückt - aber wenn Sie Access 2007 oder 2010 verwenden, sollten Sie als Dateityp "Microsoft Office Access-Datenbanken (Format 2002-2003)" wählen! Das hängt mit einer "Verbesserung" in der 2007er/2010er Version zusammen, die keine Verbesserung ist. Ich gehe auf S. 144 unten / S. 145 oben und auf S. 303 genauer darauf ein. (siehe insb. der Tipp auf S. 303 unten!) S. 128 unten Statt "Sie können bei Standardwert auch eine Funktion wie heute() eingeben." muss es heißen: "Sie können bei Standardwert auch eine Funktion wie Jetzt() eingeben." S. 140 Vorletzter Absatz auf dieser Seite: Wenn Sie das genau so wie beschrieben machen, werden Sie mit Access 2003 bemerken,
dass Ihr Listenfeld hinterher nicht mehr funktioniert. Das gilt allerdings nur für Access 2003. Die Ursache hierfür ist etwas verzwickt: S. 142, Tabelle 3.2 "Abfrage aktualisieren" heißt in Access 2010 "Aktualisierungsabfrage" und "Abfrage löschen" heißt "Löschabfrage"! S. 271 Im SQL-Script für die Tabelle tblRaum muss es statt "geb_id_f LONG," heißen: "geb_id_f LONG NOT NULL,"! S. 296 Hier ergänzen Sie bitte in Ihrem Buch folgenden Text: Im Datenmodell (Abbildung 8.2) sehen Sie eine besondere Merkwürdigkeit: Eine Beziehnung der Tabelle tblSachgebiet zu sich selbst. Ich hatte diese Konstruktion im Kapitel 2 unter der Überschrift "Hierarchische Ordnungen" ausführlich erläutert. Sehen Sie sich dazu bitte die Darstellung einer solchen "Selbstbeziehung" in Access an ("Datenbanktools" / "Beziehungen"). Dort wird Ihnen eine Tabelle tblSachgebiet_1 auffallen. Das ist keine neue Tabelle, sondern lediglich eine Kopie der Tabelle tblSachgebiet. Sie entsteht, indem Sie einfach die Tabelle tblSachgebiet ein zweites mal per drag&drop in das Beziehungsfenster hineinziehen. Access setzt dann automatisch die Endung "_1" hinter den Tabellennamen. Anschließend können Sie eine Beziehung zwischen tblSachgebiet und tblSachgebiet_1 herstellen - also eine Beziehung einer Tabelle zu sich selbst! Vorher müssen Sie natürlich bei der Datenmodellierung dafür sorgen, dass die Tabelle tblSachgebiet einen entsprechenden Fremdschlüssel enthält - in diesem Fall ist es das Feld "obersachgebiet". S. 367 oben In dem ALTER TABLE-Befehl muss es statt "fk_yyy" heißen: "fk_tblXxx_yyy"! (Erläuterung: Der Name des Constraints muss datenbankweit eindeutig sein!) S. 384 Auf Nachfrage eines Lesers habe ich mal ein "Kochrezept" für die Umsetzung der von mir im Buch nur kurz erwähnten Benutzerberechtigungen geschrieben:
2. Auflage (2009) S. 21 Der Verweis auf die "Microsoft Forms 2.0 Object Library" macht offenbar Probleme. Einerseits findet man in verschiedenen Quellen im Internet Hinweise darauf, dass diese Library Abstürze verursachen kann. Andererseits finden etliche Leser diesen Verweis überhaupt nicht in der Liste der möglichen Verweise, so dass sie ihn auch nicht aktivieren können. Meine Tests haben - bisher jedenfalls - ergeben, dass meine Beispielanwendungen auch ohne diesen Verweis funktionieren. Bitte probieren Sie es einfach - sollte es daraufhin Fehlermeldungen geben, so teilen Sie es mir bitte mit und ich werde mich darum kümmern. Noch ein Hinweis zu diesem Thema für Leute, die diese Library trotzdem benutzen wollen oder müssen - sie aber in der Liste der möglichen Verweise nicht finden: Die Datei, in der sich diese Library befindet, heißt "FM20.DLL" und befindet sich im Ordner WINDOWS/system32! S. 60/61 Die Abbildungen 1.22 und 1.23 sind falsch - das hier sind die richtigen Abbildungen: 1.22 und 1.23 S. 61 unter der Abbildung Statt S. 69 In der ersten Zeile des zweiten Absatzes muss es statt "... auf der Registerkarte Daten ..." heißen: "... auf der Registerkarte Ereignis ..."! S. 77 Der Satz " Der Kreis heißt „null“ oder „kein“ " ist leider etwas missverständlich formuliert. Damit meine ich wirklich nur den Kreis selber - nicht seine Benutzung im logischen Modell. Ich wollte damit ausdrücken, dass ich die Symbolik "Kreis - Strich - Krähenfuss" sehr anschaulich finde. Bei seiner Benutzung im logischen Modell symbolisiert der Kreis tatsächlich die Kardinalität "kein oder ein"!
S. 100 unten Statt "auf der »1«-Seite der 1:n-Relation" muss dort stehen: "auf der »n«-Seite der 1:n-Relation" S. 101 oben Statt "und dieses ist wiederum Oberbegriff für »Mathematik«." muss dort stehen: "und dieses ist wiederum Oberbegriff für »Chemie«." S. 113/114 und 356/357 Der Tipp mit den Reservespalten ist doch nicht so clever, wie ich dachte. Vergessen Sie ihn bitte einfach und ersetzen Sie die Seiten 113/114 und 356/357 durch diese hier: Seite 113/114 und Seite 356/357 S. 124 unten Zwischen Punkt 3 und 4: Es klingt etwas verrückt - aber wenn Sie Access 2007 verwenden, sollten Sie als Dateityp "Microsoft Office Access-Datenbanken (Format 2002-2003)" wählen! Das hängt mit einer "Verbesserung" in der 2007er Version zusammen, die keine Verbesserung ist. Ich gehe auf S. 144 oben und S. 295 genauer darauf ein. S. 126 Mitte Statt "Sie können bei Standardwert auch eine Funktion wie heute() eingeben." muss es heißen: "Sie können bei Standardwert auch eine Funktion wie Jetzt() eingeben." S. 139 Vorletzter Absatz auf dieser Seite: Wenn Sie das genau so wie beschrieben machen, werden Sie mit Access 2003 bemerken,
dass Ihr Listenfeld hinterher nicht mehr funktioniert. Das gilt allerdings nur für Access 2003. Die Ursache hierfür ist etwas verzwickt: S. 266 Im SQL-Script für die Tabelle RAUM muss es statt "GEB_KEY long," heißen: "GEB_KEY long not null,"! S. 295 unten Der Tipp funktioniert leider NICHT für die eingebetteten Makros, die vom Steuerelement-Assistenten ab der Access-Version 2007 erzeugt werden! Deshalb sollten Sie stattdessen den Tipp befolgen, den ich Ihnen hier auf dieser Webseite zu S. 124 gebe! XYZ_KEY: Ich lerne ja auch dazu - vor allem durch meine Aktivitäten bei www.office-loesung.de. Und dort habe ich u.a. gelernt, dass man die Primärschlüssel und Fremdschlüssel anders benennen sollte - nicht beide XYZ_KEY, sondern den Primärschlüssel xyz_id und den Fremdschlüssel xyz_id_f. In der dritten Auflage habe ich das korrigiert! 1. Auflage (2008) S. 59/60 Die Abbildungen 1.22 und 1.23 sind falsch - das hier sind die richtigen Abbildungen: 1.22 und 1.23 S. 60 Statt S. 98 oben Statt "auf der »1«-Seite der 1:n-Relation" muss dort stehen: "auf der »n«-Seite der 1:n-Relation" S. 122 Mitte Statt "Sie können bei Standardwert auch eine Funktion wie heute() eingeben." muss es heißen: "Sie können bei Standardwert auch eine Funktion wie Jetzt() eingeben." S. 110/11 und S. 331/332 Der Tipp mit den Reservespalten ist doch nicht so clever, wie ich dachte. Vergessen Sie ihn bitte einfach und ersetzen Sie die Seiten 113/114 und 356/357 durch diese hier: Seite 113/114 und Seite 356/357 Buch-CD der ersten Auflage Beim Herstellen der Buch-CD für die erste Auflage ist leider ein Fehler passiert - die pdf-Datei mit der Liste wichtiger Standardaktionen (/Buch/KapA/Anhang_WichtigeStandardaktionen.pdf) lässt sich nicht ausdrucken. Hier die druckbare Version der zweiten Auflage zum Download! XYZ_KEY: Ich lerne ja auch dazu - vor allem durch meine Aktivitäten bei www.office-loesung.de. Und dort habe ich u.a. gelernt, dass man die Primärschlüssel und Fremdschlüssel anders benennen sollte - nicht beide XYZ_KEY, sondern den Primärschlüssel xyz_id und den Fremdschlüssel xyz_id_f. In der dritten Auflage habe ich das korrigiert! |