Access programmieren

Grundlagen und Praxiswissen. Für die Versionen 2010, 2013 und 2016
 
 
Hanser (Verlag)
  • 1. Auflage
  • |
  • erschienen am 5. September 2016
  • |
  • 1199 Seiten
 
E-Book | ePUB mit Wasserzeichen-DRM | Systemvoraussetzungen
E-Book | PDF mit Wasserzeichen-DRM | Systemvoraussetzungen
978-3-446-45149-0 (ISBN)
 
Das Standardwerk zur Access-Programmierung für Einsteiger und Profis
Von den VBA-Grundlagen über fortgeschrittene Datenbankprogrammierung bis zur Anbindung von SQL Server und dem Einsatz in der Cloud bietet Ihnen dieses Handbuch umfassendes Wissen zur Datenbankprogrammierung für die Access-Versionen 2010 bis 2016.

Grundlagen und Praxiswissen
Einsteiger mit Vorkenntnissen erhalten im ersten Teil eine fundierte Einführung in die Datenbankprogrammierung mit Access unter Verwendung von Makros und VBA.
Für fortgeschrittene Programmierer werden im Hauptteil zahlreiche Problemlösungen und universell einsetzbaren Routinen vorgestellt. Dabei lernen Sie unter anderem, wie Sie die Benutzerschnittstelle gestalten und auf die Daten mit verschiedenen Techniken zugreifen.

Aus dem Inhalt
Programmieren mit VBA
Einführung in die Makroprogrammierung
Programmierung von Formularen und Steuerelementen
Datenbankberichte und Druckersteuerung
Datenbankzugriff mit DAO und ADO
Fortgeschrittene Datenbankprogrammierung (DAO, ADOX, ODBC)
Microsoft SQL Server (SMO, SQL)
Zugriff auf Azure SQL und SQLite
Programmschnittstellen (API-Zugriff, DDE, OLE, DLL und .NET)
Arbeit mit Dateien, XML und SQL
Entwickeln von Assistenten und Managed Add-Ins
Programmieren des Menübands (Ribbon)

Die erforderlichen theoretischen Grundlagen werden klar und verständlich vermittelt; bei der Auswahl der besprochenen Beispiele und Konzepte steht immer der praktische Nutzen im Vordergrund; Tipps und Tricks helfen bei der täglichen Arbeit.

Auf der Website zum Buch finden Sie alle Codebeispiele
E-Book inside: Mit Ihrem persönlichen Code können Sie die E-Book-Ausgabe diese Buches downloaden.

Systemvoraussetzungen für E-Book inside: Internet-Verbindung und Adobe-Reader oder Ebook-Reader bzw. Adobe Digital Editions.
  • Deutsch
  • München
  • |
  • Deutschland
  • 44,04 MB
978-3-446-45149-0 (9783446451490)
weitere Ausgaben werden ermittelt
Walter Doberenz, Professor für Informatik und Elektrotechnik, ist seit 1996 als Autor, Softwareentwickler und Gastprofessor aktiv. Thomas Gewinnus ist seit über 20 Jahren als Autor, Lehrgangsleiter und Softwareentwickler tätig. Seine Schwerpunkte liegen auf VBA, SQL, C#, Visual Basic und Delphi. Zusammen haben sie mehr als 80 Bücher veröffentlicht.
1 - Inhaltsverzeichnis [Seite 6]
1.1 - Teil I: Grundlagen [Seite 6]
1.2 - Teil II: Datenschnittstellen [Seite 12]
1.3 - Teil III: Weitere Technologien [Seite 19]
2 - Vorwort [Seite 28]
3 - 1 Einführung [Seite 34]
3.1 - 1.1 VBA-Programmierung in Access [Seite 34]
3.1.1 - 1.1.1 Visual Basic versus VBA [Seite 34]
3.1.2 - 1.1.2 Objekt- und ereignisorientierte Programmierung [Seite 35]
3.1.3 - 1.1.3 VBA- oder Makro-Programmierung? [Seite 36]
3.1.4 - 1.1.4 Die VBA-Entwicklungsumgebung [Seite 37]
3.1.5 - 1.1.5 Formularentwurf [Seite 37]
3.1.6 - 1.1.6 Code-Fenster und Symbolleiste [Seite 38]
3.1.7 - 1.1.7 Das Eigenschaftenfenster [Seite 39]
3.1.8 - 1.1.8 Der Projekt-Explorer [Seite 40]
3.1.9 - 1.1.9 Das Code-Fenster [Seite 40]
3.1.10 - 1.1.10 Arbeiten mit der Hilfe [Seite 43]
3.2 - 1.2 Sicherheitseinstellungen [Seite 44]
3.2.1 - 1.2.1 Zur Geschichte der Access-Sicherheit [Seite 44]
3.2.2 - 1.2.2 Eine nicht vertrauenswürdige Datenbank öffnen [Seite 45]
3.2.3 - 1.2.3 Das Sicherheitscenter [Seite 47]
3.2.4 - 1.2.4 Definition vertrauenswürdiger Speicherorte [Seite 50]
3.3 - 1.3 Einführungsbeispiele [Seite 51]
3.3.1 - 1.3.1 Erstellen der Testdatenbank [Seite 52]
3.3.2 - 1.3.2 Konventionelle Programmierung [Seite 53]
3.3.3 - 1.3.3 Programmieren mit VBA [Seite 57]
3.3.4 - 1.3.4 Automatische Makrokonvertierung [Seite 62]
3.3.5 - 1.3.5 Programmieren mit Datenmakros [Seite 63]
3.4 - 1.4 Highlights und Features von Access 2016 [Seite 65]
3.4.1 - 1.4.1 Zur Geschichte der Vorgängerversionen [Seite 65]
3.4.2 - 1.4.2 Microsoft Access 2016 - viel Lärm um nichts? [Seite 68]
3.4.3 - 1.4.3 Der inoffizielle Access-Friedhof (Access 2013/2016) [Seite 69]
3.5 - 1.5 Übersichten und Ergänzungen [Seite 69]
3.5.1 - 1.5.1 Deutsche und englische Bezeichner [Seite 69]
3.5.2 - 1.5.2 DoCmd-Objekt [Seite 71]
4 - 2 Programmieren mit VBA [Seite 74]
4.1 - 2.1 Datentypen, Variablen und Konstanten [Seite 74]
4.1.1 - 2.1.1 Übersicht [Seite 74]
4.1.2 - 2.1.2 Variablendeklaration [Seite 75]
4.1.3 - 2.1.3 Konstantendeklaration [Seite 80]
4.1.4 - 2.1.4 Gültigkeitsbereiche [Seite 81]
4.2 - 2.2 Einzelheiten zu den Datentypen [Seite 84]
4.2.1 - 2.2.1 Single- und Double-Datentypen [Seite 84]
4.2.2 - 2.2.2 Integer-, Long- und Boolean-Datentypen [Seite 84]
4.2.3 - 2.2.3 Date-Datentyp [Seite 85]
4.2.4 - 2.2.4 Currency-Datentyp [Seite 87]
4.2.5 - 2.2.5 String-Datentyp [Seite 88]
4.2.6 - 2.2.6 Variant-Datentyp [Seite 90]
4.3 - 2.3 Datenfelder (Arrays) [Seite 93]
4.3.1 - 2.3.1 Statische Arrays [Seite 93]
4.3.2 - 2.3.2 Dynamische Arrays [Seite 95]
4.4 - 2.4 Benutzerdefinierte Datentypen [Seite 97]
4.4.1 - 2.4.1 Type-Anweisung [Seite 97]
4.4.2 - 2.4.2 With-Anweisung [Seite 98]
4.4.3 - 2.4.3 Strings innerhalb Type [Seite 98]
4.4.4 - 2.4.4 Enumerationen [Seite 99]
4.4.5 - 2.4.5 Arrays in benutzerdefinierten Typen [Seite 100]
4.5 - 2.5 Operatoren [Seite 101]
4.5.1 - 2.5.1 Arithmetische Operatoren [Seite 102]
4.5.2 - 2.5.2 Logische Operatoren [Seite 104]
4.5.3 - 2.5.3 Vergleichsoperatoren [Seite 105]
4.6 - 2.6 Kontrollstrukturen [Seite 106]
4.6.1 - 2.6.1 Bedingte Verzweigungen [Seite 106]
4.6.2 - 2.6.2 Schleifenanweisungen [Seite 108]
4.6.3 - 2.6.3 GoTo und GoSub [Seite 110]
4.7 - 2.7 Zeichenkettenfunktionen [Seite 111]
4.7.1 - 2.7.1 Stringverarbeitung [Seite 111]
4.7.2 - 2.7.2 Format-Funktion [Seite 113]
4.8 - 2.8 Vordefinierte Funktionen [Seite 117]
4.8.1 - 2.8.1 Mathematische Funktionen [Seite 117]
4.8.2 - 2.8.2 Finanzmathematische Funktionen [Seite 120]
4.8.3 - 2.8.3 Datums-/Zeitfunktionen [Seite 121]
4.9 - 2.9 Benutzerdefinierte Funktionen/Prozeduren [Seite 124]
4.9.1 - 2.9.1 Funktion [Seite 124]
4.9.2 - 2.9.2 Prozedur [Seite 125]
4.9.3 - 2.9.3 Parameterübergabe ByRef oder ByVal [Seite 125]
4.9.4 - 2.9.4 Optionale Argumente [Seite 126]
4.9.5 - 2.9.5 Benannte Argumente [Seite 127]
4.9.6 - 2.9.6 Parameter-Arrays [Seite 127]
4.9.7 - 2.9.7 Dynamische Arrays als Argumente [Seite 128]
4.9.8 - 2.9.8 Rückgabe von Arrays [Seite 128]
4.9.9 - 2.9.9 Private-, Public- und Static-Deklarationen [Seite 129]
4.10 - 2.10 Fehlersuche [Seite 131]
4.10.1 - 2.10.1 Direktfenster [Seite 132]
4.10.2 - 2.10.2 Verwendung des Debug-Objekts [Seite 132]
4.10.3 - 2.10.3 Arbeiten mit dem Lokal-Fenster [Seite 133]
4.10.4 - 2.10.4 Überwachungs-Fenster [Seite 135]
4.10.5 - 2.10.5 Noch mehr Debugging [Seite 136]
4.11 - 2.11 Fehlerbehandlung [Seite 140]
4.11.1 - 2.11.1 Anweisungen zum Error-Handling [Seite 140]
4.11.2 - 2.11.2 Beispiele zum Error-Handling [Seite 141]
4.11.3 - 2.11.3 Fehlerbehandlung per Ereignis [Seite 143]
4.11.4 - 2.11.4 Fehlerbehandlung komplett deaktivieren [Seite 144]
4.12 - 2.12 Standarddialogfelder [Seite 144]
4.12.1 - 2.12.1 Einfache Anweisung [Seite 145]
4.12.2 - 2.12.2 Ausführliche Anweisung [Seite 146]
4.12.3 - 2.12.3 Rückgabewerte der MsgBox-Funktion [Seite 146]
4.12.4 - 2.12.4 Abfrage von Werten mit der InputBox-Funktion [Seite 148]
4.13 - 2.13 Übersichten und Ergänzungen [Seite 149]
4.13.1 - 2.13.1 Datumskonstanten [Seite 149]
4.13.2 - 2.13.2 Rückgabewerte der VarType-Funktion [Seite 149]
4.14 - 2.14 Praxisbeispiele [Seite 150]
4.14.1 - 2.14.1 In einem Textfeld suchen [Seite 150]
4.14.2 - 2.14.2 Zeitangaben runden [Seite 151]
4.14.3 - 2.14.3 Das Wochenende feststellen [Seite 153]
4.14.4 - 2.14.4 Mit dynamischen Arrays rechnen [Seite 154]
4.14.5 - 2.14.5 Arbeiten mit dem Debugger [Seite 158]
5 - 3 Makros - eine Einführung [Seite 164]
5.1 - 3.1 Klassische Makros [Seite 164]
5.1.1 - 3.1.1 Entwurfsoberfläche [Seite 164]
5.1.2 - 3.1.2 Eigenständige Makros [Seite 165]
5.1.3 - 3.1.3 Eingebettete Makros [Seite 168]
5.1.4 - 3.1.4 Das AutoKeys-Makro [Seite 172]
5.1.5 - 3.1.5 Das AutoExec-Makro [Seite 174]
5.1.6 - 3.1.6 Potenziell gefährliche Makroaktionen [Seite 174]
5.2 - 3.2 Datenmakros [Seite 175]
5.2.1 - 3.2.1 Einsatzmöglichkeitem [Seite 176]
5.2.2 - 3.2.2 Funktionsprinzip [Seite 176]
5.2.3 - 3.2.3 Erzeugen von Datenmakros [Seite 177]
5.2.4 - 3.2.4 Datenmakros umbenennen, löschen und ändern [Seite 178]
5.2.5 - 3.2.5 USysApplicationLog [Seite 178]
5.2.6 - 3.2.6 Aktionen in Datenmakros [Seite 179]
5.2.7 - 3.2.7 Auswahl des richtigen Tabellenereignisses [Seite 180]
5.3 - 3.3 Praxisbeispiele [Seite 181]
5.3.1 - 3.3.1 Eingabe-Formular mit neuem Datensatz öffnen [Seite 182]
5.3.2 - 3.3.2 Einen Datensatznavigator selbst bauen [Seite 183]
5.3.3 - 3.3.3 Ein ereignisgesteuertes Datenmakro erstellen [Seite 185]
5.3.4 - 3.3.4 Arbeiten mit einem benannten Datenmakro [Seite 190]
5.3.5 - 3.3.5 Per VBA auf ein benanntes Datenmakro zugreifen [Seite 194]
5.3.6 - 3.3.6 Änderungen von Tabelleninhalten protokollieren [Seite 195]
6 - 4 Formulare und Steuerelemente [Seite 198]
6.1 - 4.1 Allgemeines [Seite 198]
6.1.1 - 4.1.1 Gruppen von Eigenschaften [Seite 199]
6.1.2 - 4.1.2 Methoden [Seite 199]
6.1.3 - 4.1.3 Gruppen von Ereignissen [Seite 199]
6.2 - 4.2 Das Form-Objekt [Seite 200]
6.2.1 - 4.2.1 Format-Eigenschaften [Seite 200]
6.2.2 - 4.2.2 Daten-Eigenschaften [Seite 207]
6.2.3 - 4.2.3 Weitere Eigenschaften [Seite 207]
6.2.4 - 4.2.4 Fenster- und Fokus-Ereignisse [Seite 209]
6.2.5 - 4.2.5 Tastatur- und Maus-Ereignisse [Seite 211]
6.2.6 - 4.2.6 Daten- und Filter-Ereignisse [Seite 213]
6.2.7 - 4.2.7 Weitere Ereignisse [Seite 215]
6.2.8 - 4.2.8 Methoden [Seite 215]
6.2.9 - 4.2.9 Unterformulare [Seite 218]
6.3 - 4.3 Steuerelemente (Controls) [Seite 219]
6.3.1 - 4.3.1 Allgemeines [Seite 219]
6.3.2 - 4.3.2 Allgemeine Eigenschaften auf einen Blick [Seite 220]
6.3.3 - 4.3.3 Allgemeine Ereignisse auf einen Blick [Seite 230]
6.3.4 - 4.3.4 Methoden von Steuerelementen [Seite 231]
6.3.5 - 4.3.5 Das Screen-Objekt [Seite 232]
6.4 - 4.4 ActiveX-Steuerelemente [Seite 234]
6.4.1 - 4.4.1 Vergleich mit den integrierten Steuerelementen [Seite 234]
6.4.2 - 4.4.2 StatusBar als Beispiel [Seite 236]
6.5 - 4.5 Praxisbeispiele [Seite 240]
6.5.1 - 4.5.1 Das Textfeld programmieren [Seite 240]
6.5.2 - 4.5.2 In ungebundene Textfelder ein- und ausgeben [Seite 242]
6.5.3 - 4.5.3 Ein ungebundenes Kombinationsfeld füllen [Seite 243]
6.5.4 - 4.5.4 Ein Unterformular programmieren [Seite 246]
6.5.5 - 4.5.5 Das Register-Steuerelement kennen lernen [Seite 249]
6.5.6 - 4.5.6 Die Statusleiste programmieren [Seite 253]
6.5.7 - 4.5.7 Verwenden von Bild-Ressourcen [Seite 256]
6.5.8 - 4.5.8 Programmieren des Navigationssteuerelements [Seite 258]
7 - 5 Berichte [Seite 262]
7.1 - 5.1 Allgemeines [Seite 262]
7.1.1 - 5.1.1 Reportansichten [Seite 262]
7.1.2 - 5.1.2 Die OpenReport-Methode [Seite 263]
7.1.3 - 5.1.3 Parameterübergabe [Seite 264]
7.2 - 5.2 Wichtige Berichtseigenschaften [Seite 264]
7.2.1 - 5.2.1 Formateigenschaften [Seite 264]
7.2.2 - 5.2.2 Dateneigenschaften [Seite 265]
7.2.3 - 5.2.3 Grafikeigenschaften [Seite 265]
7.2.4 - 5.2.4 Linien- und Stifteigenschaften [Seite 269]
7.2.5 - 5.2.5 Schrifteigenschaften [Seite 270]
7.2.6 - 5.2.6 Farb- und Mustereigenschaften [Seite 270]
7.2.7 - 5.2.7 Sonstige Eigenschaften [Seite 272]
7.3 - 5.3 Berichtsereignisse [Seite 274]
7.3.1 - 5.3.1 Allgemeine Ereignisse [Seite 274]
7.3.2 - 5.3.2 Tastatur- und Mausereignisse [Seite 276]
7.4 - 5.4 Berichtsmethoden [Seite 277]
7.4.1 - 5.4.1 Grafikmethoden (Übersicht) [Seite 277]
7.4.2 - 5.4.2 Scale [Seite 277]
7.4.3 - 5.4.3 Line [Seite 278]
7.4.4 - 5.4.4 PSet [Seite 279]
7.4.5 - 5.4.5 Circle [Seite 280]
7.4.6 - 5.4.6 Print [Seite 281]
7.4.7 - 5.4.7 TextWidth und TextHeight [Seite 282]
7.4.8 - 5.4.8 Sonstige Methoden [Seite 283]
7.5 - 5.5 Weitere Features des Report-Objekts [Seite 283]
7.5.1 - 5.5.1 Rich-Text-Felder drucken [Seite 283]
7.5.2 - 5.5.2 Verlauf eines Memofeldes drucken [Seite 284]
7.5.3 - 5.5.3 Eine Liste der Anlagen drucken [Seite 284]
7.5.4 - 5.5.4 Berichte nachträglich filtern [Seite 287]
7.5.5 - 5.5.5 Berichte als PDF-Datei exportieren [Seite 288]
7.5.6 - 5.5.6 Berichte als RTF-Datei exportieren [Seite 289]
7.6 - 5.6 Das Printer-Objekt [Seite 289]
7.6.1 - 5.6.1 Wo finde ich das Printer-Objekt? [Seite 290]
7.6.2 - 5.6.2 Die Printers-Collection [Seite 290]
7.6.3 - 5.6.3 Auswahl eines Druckers [Seite 291]
7.6.4 - 5.6.4 Speichern von Berichts-Optionen [Seite 293]
7.6.5 - 5.6.5 Eigenschaften des Printers [Seite 294]
7.7 - 5.7 Direkte Druckausgabe [Seite 295]
7.8 - 5.8 Übersichten [Seite 295]
7.8.1 - 5.8.1 DrawMode-Eigenschaft [Seite 295]
7.8.2 - 5.8.2 Farbkonstanten [Seite 296]
7.9 - 5.9 Praxisbeispiele [Seite 296]
7.9.1 - 5.9.1 Aufruf eines Berichts mit Datenfilter [Seite 296]
7.9.2 - 5.9.2 Im Report gruppieren und rechnen [Seite 300]
7.9.3 - 5.9.3 Erstellen und Drucken eines Diagramms [Seite 304]
7.9.4 - 5.9.4 Berichte in Formularen anzeigen [Seite 308]
8 - 6 Programmieren mit Objekten [Seite 310]
8.1 - 6.1 Objektvariablen [Seite 310]
8.1.1 - 6.1.1 Objekttypen und Set-Anweisung [Seite 310]
8.1.2 - 6.1.2 Object-Datentyp [Seite 312]
8.1.3 - 6.1.3 Form- und Report-Objekt [Seite 313]
8.1.4 - 6.1.4 Control-Objekt [Seite 314]
8.2 - 6.2 Formular- und Berichtsmodule [Seite 318]
8.2.1 - 6.2.1 Instanzen von Formularen und Berichten [Seite 318]
8.2.2 - 6.2.2 Benutzerdefinierte Form-/Report-Objekte [Seite 320]
8.2.3 - 6.2.3 Eigenständige Klassenmodule [Seite 321]
8.3 - 6.3 Auflistungen [Seite 325]
8.3.1 - 6.3.1 Forms/Reports [Seite 325]
8.3.2 - 6.3.2 Controls [Seite 326]
8.3.3 - 6.3.3 Collection-Objekt [Seite 328]
8.3.4 - 6.3.4 Dictionary-Objekt [Seite 330]
8.3.5 - 6.3.5 Property und Properties [Seite 330]
8.3.6 - 6.3.6 Module-Objekt und Modules-Auflistung [Seite 331]
8.3.7 - 6.3.7 Reference-Objekt und References-Auflistung [Seite 333]
8.4 - 6.4 Die Access-Objekthierarchie [Seite 335]
8.4.1 - 6.4.1 Der Objektkatalog [Seite 335]
8.4.2 - 6.4.2 Das Application-Objekt allgemein [Seite 336]
8.4.3 - 6.4.3 Eigenschaften und Methoden des Application-Objekts [Seite 339]
8.4.4 - 6.4.4 Weitere wichtige Objekte [Seite 344]
8.4.5 - 6.4.5 AccessObject [Seite 345]
8.4.6 - 6.4.6 CurrentProject [Seite 346]
8.4.7 - 6.4.7 CurrentData [Seite 348]
8.5 - 6.5 Übersichten [Seite 348]
8.5.1 - 6.5.1 Konstanten der ControlType-Eigenschaft [Seite 348]
8.5.2 - 6.5.2 Rückgabewerte der CurrentObjectType-Funktion [Seite 349]
8.6 - 6.6 Praxisbeispiele [Seite 349]
8.6.1 - 6.6.1 Ein Steuerelemente-Array automatisch erstellen [Seite 349]
8.6.2 - 6.6.2 Mit Formular-Instanzen arbeiten [Seite 353]
8.6.3 - 6.6.3 Mit einer eigenständigen Klasse experimentieren [Seite 355]
8.6.4 - 6.6.4 Auf Objekte in Auflistungen zugreifen [Seite 358]
8.6.5 - 6.6.5 Properties-Auflistungen untersuchen [Seite 361]
9 - 7 DAO-Programmierung [Seite 366]
9.1 - 7.1 Allgemeines [Seite 366]
9.1.1 - 7.1.1 DBEngine [Seite 366]
9.1.2 - 7.1.2 Workspace-Objekt [Seite 367]
9.1.3 - 7.1.3 Database-Objekt [Seite 368]
9.1.4 - 7.1.4 Recordset-Objekt [Seite 368]
9.1.5 - 7.1.5 Verwendung der Datenbankobjekte [Seite 369]
9.2 - 7.2 Grundlegende Arbeitstechniken [Seite 369]
9.2.1 - 7.2.1 Arbeitsumgebung festlegen [Seite 370]
9.2.2 - 7.2.2 Datenbank anlegen und öffnen [Seite 370]
9.2.3 - 7.2.3 Tabellen/Indizes anlegen [Seite 374]
9.2.4 - 7.2.4 Tabellen einbinden [Seite 379]
9.2.5 - 7.2.5 Tabellen verknüpfen (Relationen) [Seite 380]
9.2.6 - 7.2.6 Abfragen erstellen/ausführen [Seite 382]
9.2.7 - 7.2.7 Öffnen von Tabellen/Abfragen [Seite 384]
9.3 - 7.3 Arbeiten mit Recordsets [Seite 387]
9.3.1 - 7.3.1 Eigenschaften und Methoden von Recordsets [Seite 387]
9.3.2 - 7.3.2 Datensätze anzeigen [Seite 390]
9.3.3 - 7.3.3 Datensätze hinzufügen/ändern [Seite 392]
9.3.4 - 7.3.4 Datensätze löschen [Seite 394]
9.3.5 - 7.3.5 Datensätze sortieren [Seite 396]
9.3.6 - 7.3.6 Datensätze suchen [Seite 397]
9.3.7 - 7.3.7 Datensätze filtern [Seite 398]
9.3.8 - 7.3.8 DAO in gebundenen Formularen [Seite 399]
9.3.9 - 7.3.9 Auf Anlage-Felder zugreifen [Seite 402]
9.3.10 - 7.3.10 Auf mehrwertige Felder zugreifen [Seite 405]
9.3.11 - 7.3.11 Verlaufsverfolgung eines Memo-Felds [Seite 406]
9.4 - 7.4 Weitere Funktionen [Seite 407]
9.4.1 - 7.4.1 Eigenschaften (Properties) [Seite 407]
9.4.2 - 7.4.2 Transaktionen [Seite 409]
9.5 - 7.5 Praxisbeispiele [Seite 410]
9.5.1 - 7.5.1 Eine Tabelle anlegen [Seite 410]
9.5.2 - 7.5.2 Navigieren mit DAO [Seite 413]
9.5.3 - 7.5.3 Den Datensatzzeiger bewegen [Seite 416]
9.5.4 - 7.5.4 In Recordsets suchen [Seite 420]
9.5.5 - 7.5.5 Eine Datenbank analysieren [Seite 423]
9.6 - 7.6 Komplexbeispiel: Telefonverzeichnis [Seite 426]
9.6.1 - 7.6.1 Eingabemaske [Seite 426]
9.6.2 - 7.6.2 Anforderungen [Seite 426]
9.6.3 - 7.6.3 Programmierung [Seite 427]
9.6.4 - 7.6.4 Test und Bemerkungen [Seite 436]
10 - 8 ADO-Programmierung [Seite 438]
10.1 - 8.1 Ein erster Blick auf ADO [Seite 438]
10.1.1 - 8.1.1 Kleines Einführungsbeispiel [Seite 439]
10.1.2 - 8.1.2 Zur Geschichte von ADO [Seite 440]
10.1.3 - 8.1.3 Hinweise zu den ADO-Bibliotheken [Seite 441]
10.1.4 - 8.1.4 ADO und OLE DB [Seite 442]
10.1.5 - 8.1.1 ADO-Objektmodell [Seite 443]
10.2 - 8.2 ADO-Grundoperationen [Seite 445]
10.2.1 - 8.2.1 Beziehungen zwischen den Objekten [Seite 445]
10.2.2 - 8.2.2 Die Verbindung zur Datenquelle [Seite 446]
10.2.3 - 8.2.3 Aktionsabfragen mit dem Command-Objekt [Seite 450]
10.2.4 - 8.2.4 Recordsets mit Daten füllen [Seite 452]
10.3 - 8.3 Weitere Operationen mit Recordsets [Seite 457]
10.3.1 - 8.3.1 Welche Recordset-Features werden unterstützt? [Seite 457]
10.3.2 - 8.3.2 Editieren von Datensätzen [Seite 458]
10.3.3 - 8.3.3 Hinzufügen von Datensätzen [Seite 459]
10.3.4 - 8.3.4 Löschen von Datensätzen [Seite 459]
10.3.5 - 8.3.5 Recordsets filtern [Seite 460]
10.3.6 - 8.3.6 Ungebundene Recordsets [Seite 461]
10.3.7 - 8.3.7 Recordsets abspeichern [Seite 462]
10.3.8 - 8.3.8 Bewegen in Recordsets [Seite 462]
10.3.9 - 8.3.9 Daten direkt einlesen [Seite 463]
10.3.10 - 8.3.10 Sortieren [Seite 464]
10.3.11 - 8.3.11 Suchen [Seite 465]
10.3.12 - 8.3.12 Ereignisse auswerten [Seite 465]
10.4 - 8.4 Zugriff auf ADO-Auflistungen [Seite 467]
10.4.1 - 8.4.1 Allgemeine Features [Seite 467]
10.4.2 - 8.4.2 Property und Properties [Seite 468]
10.4.3 - 8.4.3 Field und Fields [Seite 469]
10.4.4 - 8.4.4 Parameter und Parameters [Seite 470]
10.4.5 - 8.4.5 Error und Errors [Seite 471]
10.5 - 8.5 Übersichten [Seite 472]
10.5.1 - 8.5.1 Connection-Objekt [Seite 472]
10.5.2 - 8.5.2 Command-Objekt [Seite 473]
10.5.3 - 8.5.3 Recordset-Objekt [Seite 473]
10.6 - 8.6 Praxisbeispiele [Seite 475]
10.6.1 - 8.6.1 Mit ADO auf eine Access-Datenbank zugreifen [Seite 475]
10.6.2 - 8.6.2 Ein ADO-Datenklassenmodul verwenden [Seite 477]
10.6.3 - 8.6.3 Ein intelligentes ADO-Frontend entwickeln [Seite 480]
11 - 9 Datenbankverwaltung [Seite 486]
11.1 - 9.1 Datenbankverwaltung mit ADOX [Seite 486]
11.1.1 - 9.1.1 Datenbanken erstellen [Seite 488]
11.1.2 - 9.1.2 Tabellendefinition [Seite 490]
11.1.3 - 9.1.3 Indexdefinition [Seite 494]
11.1.4 - 9.1.4 Erstellen von Prozeduren und Sichten [Seite 496]
11.1.5 - 9.1.5 Tabellen verknüpfen (Relationen) [Seite 497]
11.2 - 9.2 Erstellen spezieller Feldtypen [Seite 498]
11.2.1 - 9.2.1 Automatische Zufallswerte (GUID) [Seite 498]
11.2.2 - 9.2.2 Memofeld mit Archiv-Funktion (Nur anfügen) [Seite 500]
11.2.3 - 9.2.3 Anlage-Feld [Seite 502]
11.2.4 - 9.2.4 Rich-Text-Feld [Seite 503]
11.2.5 - 9.2.5 Multivalue-Feld (MVF) [Seite 504]
11.2.6 - 9.2.6 Berechnete Spalten [Seite 509]
11.2.7 - 9.2.7 Beschreibung von Datenbankfeldern setzen [Seite 511]
11.3 - 9.3 Zugriffsschutz in Access-Datenbanken [Seite 513]
11.3.1 - 9.3.1 Grundlagen [Seite 513]
11.3.2 - 9.3.2 Sichern auf Datenbankebene (DAO) [Seite 515]
11.3.3 - 9.3.3 Sichern auf Datenbankebene (ADO/ADOX) [Seite 516]
11.3.4 - 9.3.4 Erstellen neuer Benutzer und Gruppen (DAO) [Seite 516]
11.3.5 - 9.3.5 Vergabe von Rechten (DAO) [Seite 518]
11.3.6 - 9.3.6 Komplettbeispiel: Nutzerbasierte Sicherheit [Seite 520]
11.3.7 - 9.3.7 Erstellen neuer Benutzer und Gruppen (ADOX) [Seite 525]
11.3.8 - 9.3.8 Vergabe von Rechten (ADOX) [Seite 526]
11.3.9 - 9.3.9 Verschlüsseln von Datenbanken [Seite 528]
11.4 - 9.4 Multiuserzugriff [Seite 531]
11.4.1 - 9.4.1 Verwenden der DAO [Seite 532]
11.4.2 - 9.4.2 Verwenden der ADO [Seite 535]
11.5 - 9.5 ODBC-Verbindungen [Seite 536]
11.5.1 - 9.5.1 Ein Blick auf den ODBC-Datenquellen-Administrator [Seite 536]
11.5.2 - 9.5.2 Erstellen einer ODBC-Verbindung (DAO) [Seite 538]
11.5.3 - 9.5.3 Öffnen einer ODBC-Verbindung (DAO) [Seite 539]
11.5.4 - 9.5.4 Öffnen einer ODBC-Verbindung (ADO) [Seite 541]
11.5.5 - 9.5.5 Konfigurieren von ODBC-Verbindungen [Seite 542]
11.6 - 9.6 Zugriff auf Fremdformate [Seite 542]
11.6.1 - 9.6.1 dBASE III/IV- und FoxPro-Datenbanken [Seite 543]
11.6.2 - 9.6.2 Textdateien (TXT/ASC/CSV) [Seite 547]
11.7 - 9.7 Einbinden externer Tabellen [Seite 551]
11.7.1 - 9.7.1 Verwenden der DAO [Seite 551]
11.7.2 - 9.7.2 Verwenden der ADOX [Seite 553]
11.8 - 9.8 Exportieren von Daten [Seite 555]
11.8.1 - 9.8.1 TransferDatabase-Methode [Seite 555]
11.8.2 - 9.8.2 Exportieren mit SQL-Anweisungen [Seite 556]
11.9 - 9.9 Replizieren von Datenbanken [Seite 556]
11.10 - 9.10 Optimierung [Seite 557]
11.10.1 - 9.10.1 Indizes [Seite 557]
11.10.2 - 9.10.2 Abfrage-Optimierung [Seite 557]
11.10.3 - 9.10.3 Weitere Möglichkeiten [Seite 558]
11.10.4 - 9.10.4 ADO/DAO/ODBC - Was ist schneller? [Seite 559]
11.11 - 9.11 Tipps & Tricks [Seite 561]
11.11.1 - 9.11.1 Wie prüft man die ADO-Versionsnummer? [Seite 561]
11.11.2 - 9.11.2 Access-Datenbanken exklusiv öffnen [Seite 561]
11.11.3 - 9.11.3 Access-Datenbanken im Netzwerk [Seite 562]
11.11.4 - 9.11.4 Alle aktiven Verbindungen zur Datenbank auflisten [Seite 562]
11.11.5 - 9.11.5 Das Datenbank-Kennwort ändern [Seite 563]
11.11.6 - 9.11.6 Abfragen über mehrere Datenbanken [Seite 564]
11.11.7 - 9.11.7 Datenbanken reparieren/komprimieren [Seite 564]
12 - 10 Microsoft SQL Server [Seite 566]
12.1 - 10.1 Ein erster Schock ... [Seite 566]
12.2 - 10.2 Allgemeines [Seite 567]
12.2.1 - 10.2.1 SQL Server LocalDB [Seite 568]
12.2.2 - 10.2.2 SQL Server Express [Seite 569]
12.2.3 - 10.2.3 Unterschiede SQL Server-Varianten/Jet-Engine [Seite 570]
12.2.4 - 10.2.4 Client- versus Fileserver-Programmierung [Seite 572]
12.2.5 - 10.2.5 Installation SQL Server Express [Seite 574]
12.2.6 - 10.2.6 Netzwerkzugriff für den SQL Server Express [Seite 578]
12.2.7 - 10.2.7 Die wichtigsten Tools von SQL Server [Seite 580]
12.2.8 - 10.2.8 Vordefinierte Datenbanken [Seite 583]
12.2.9 - 10.2.9 Einschränkungen [Seite 584]
12.2.10 - 10.2.10 Weitere SQL Server-Funktionen im Kurzüberblick [Seite 585]
12.2.11 - 10.2.11 Datenbanken verwalten [Seite 586]
12.3 - 10.3 Transact-SQL - die Sprache des SQL Servers [Seite 588]
12.3.1 - 10.3.1 Schreibweise [Seite 588]
12.3.2 - 10.3.2 Kommentare [Seite 589]
12.3.3 - 10.3.3 Zeichenketten [Seite 589]
12.3.4 - 10.3.4 Variablen deklarieren/verwenden [Seite 590]
12.3.5 - 10.3.5 Bedingungen mit IF/ELSE auswerten [Seite 591]
12.3.6 - 10.3.6 Verwenden von CASE [Seite 592]
12.3.7 - 10.3.7 Verwenden von WHILE.BREAK/CONTINUE [Seite 592]
12.3.8 - 10.3.8 Datum und Uhrzeit in T-SQL [Seite 593]
12.3.9 - 10.3.9 Verwenden von GOTO [Seite 593]
12.4 - 10.4 Praktisches Arbeiten mit dem SQL Server [Seite 594]
12.4.1 - 10.4.1 Erstellen neuer SQL Server-Datenbanken [Seite 594]
12.4.2 - 10.4.2 Erzeugen und Verwalten von Tabellen [Seite 595]
12.4.3 - 10.4.3 Erzeugen und Verwenden von Sichten (Views) [Seite 596]
12.4.4 - 10.4.4 Verwenden von Gespeicherten Prozeduren [Seite 598]
12.4.5 - 10.4.5 Programmieren von Triggern [Seite 602]
12.4.6 - 10.4.6 Erzeugen von Datenbankdiagrammen [Seite 606]
12.4.7 - 10.4.7 Volltextabfragen [Seite 607]
12.4.8 - 10.4.8 Datenbanken sichern und wiederherstellen [Seite 613]
12.5 - 10.5 Fehlerbehandlung [Seite 616]
12.5.1 - 10.5.1 Das Fehlermodell des SQL Servers [Seite 617]
12.5.2 - 10.5.2 Verwenden von @@ERROR [Seite 617]
12.5.3 - 10.5.3 Verwenden von RAISEERROR [Seite 618]
12.5.4 - 10.5.4 Fehlerbehandlung mit TRY...CATCH [Seite 619]
12.5.5 - 10.5.5 Fehlerbehandlung mit den ADO [Seite 621]
12.6 - 10.6 Datensicherheit auf dem Microsoft SQL Server [Seite 623]
12.6.1 - 10.6.1 Überblick Sicherheitsmodell [Seite 624]
12.6.2 - 10.6.2 Verwalten mit dem SQL Server Management Studio [Seite 626]
12.6.3 - 10.6.3 Verwalten mit T-SQL [Seite 630]
12.7 - 10.7 Tipps & Tricks [Seite 633]
12.7.1 - 10.7.1 Alle registrierten Microsoft SQL Server ermitteln [Seite 633]
12.7.2 - 10.7.2 Alle Datenbanken ermitteln [Seite 634]
12.7.3 - 10.7.3 Alle Tabellen ermitteln [Seite 634]
12.7.4 - 10.7.4 Eine Tabelle löschen [Seite 635]
12.7.5 - 10.7.5 Anzahl der Datensätze beschränken [Seite 636]
12.7.6 - 10.7.6 Platzhalterzeichen in TSQL [Seite 637]
12.7.7 - 10.7.7 Leerzeichen entfernen [Seite 637]
12.7.8 - 10.7.8 Teilstrings erzeugen [Seite 637]
12.7.9 - 10.7.9 Mit einer Datenbankdatei verbinden [Seite 638]
12.7.10 - 10.7.10 Warum wird @@ERROR nicht korrekt verarbeitet? [Seite 639]
12.7.11 - 10.7.11 Die Anzahl der Datensätze bestimmen [Seite 639]
12.7.12 - 10.7.12 Warum sind Abfragen mit Platzhaltern so langsam? [Seite 639]
12.7.13 - 10.7.13 Groß-/Kleinschreibung berücksichtigen [Seite 640]
12.7.14 - 10.7.14 Das Ergebnis einer Stored Procedure speichern [Seite 640]
12.7.15 - 10.7.15 Eine Datenbank umbenennen [Seite 640]
12.7.16 - 10.7.16 Eine Datenbank zwischen Servern verschieben [Seite 641]
12.7.17 - 10.7.17 Die Datenbankstruktur kopieren [Seite 642]
12.7.18 - 10.7.18 Nach dem Löschen IDENTITY auf 0 setzen [Seite 643]
12.7.19 - 10.7.19 Eine Tabellenspalte umbenennen [Seite 643]
12.7.20 - 10.7.20 Temporäre Tabellen unterscheiden [Seite 643]
12.7.21 - 10.7.21 Daten aus verschiedenen Datenbanken anzeigen [Seite 644]
12.7.22 - 10.7.22 Einen SMO-Mapper realisieren [Seite 644]
12.8 - 10.8 Übersichten [Seite 649]
12.8.1 - 10.8.1 Datentypen [Seite 649]
12.8.2 - 10.8.2 Unterschiede Access- und SQL Server-Datentypen [Seite 650]
13 - 11 Access und Azure SQL [Seite 652]
13.1 - 11.1 Einführung in SQL Azure-Datenbanken [Seite 653]
13.1.1 - 11.1.1 Das Grundprinzip der "Webdatenbank" [Seite 653]
13.1.2 - 11.1.2 Der Azure-Server [Seite 655]
13.1.3 - 11.1.3 Die Frage nach den Kosten [Seite 656]
13.2 - 11.2 Einrichten des Servers [Seite 657]
13.2.1 - 11.2.1 Die zentrale Organisationsstruktur [Seite 658]
13.2.2 - 11.2.2 Einen Server und eine Datenbank erstellen [Seite 659]
13.2.3 - 11.2.3 IP-Filter konfigurieren [Seite 663]
13.2.4 - 11.2.4 Bemerkungen zum neu erstellten Account [Seite 664]
13.2.5 - 11.2.5 Die drei konzeptionellen Zugriffsmodelle [Seite 664]
13.3 - 11.3 Administrieren von Azure SQL-Datenbanken [Seite 667]
13.3.1 - 11.3.1 Zugriff mit dem SQL Server Management Studio [Seite 667]
13.3.2 - 11.3.2 Weitere Accounts erstellen [Seite 669]
13.3.3 - 11.3.3 Lokale Datenbanken migrieren [Seite 672]
13.3.4 - 11.3.4 Migrieren von Access-Datenbanken [Seite 675]
13.4 - 11.4 Praktische Umsetzung in Access [Seite 677]
13.4.1 - 11.4.1 Tabellen einbinden [Seite 678]
13.4.2 - 11.4.2 DAO- oder ADO-Zugriff - keine Frage! [Seite 681]
13.4.3 - 11.4.3 Unsere AzureSQL-Library [Seite 681]
13.4.4 - 11.4.4 Verbindung mit ADO aufbauen [Seite 682]
13.4.5 - 11.4.5 Datenbank erstellen [Seite 686]
13.4.6 - 11.4.6 Ist die Datenbank schon vorhanden? [Seite 687]
13.4.7 - 11.4.7 Den aktuellen "Füllstand" abrufen [Seite 688]
13.4.8 - 11.4.8 Was passiert, wenn die Datenbank zu klein wird? [Seite 691]
13.4.9 - 11.4.9 Eine Datenbankkopie erstellen [Seite 691]
13.4.10 - 11.4.10 Tabelle(n) erstellen [Seite 692]
13.4.11 - 11.4.11 Daten exportieren [Seite 693]
13.4.12 - 11.4.12 Daten einbinden [Seite 694]
13.4.13 - 11.4.13 Daten lesen [Seite 695]
13.4.14 - 11.4.14 Daten schreiben [Seite 696]
13.5 - 11.5 Abschließende Hinweise [Seite 697]
13.5.1 - 11.5.1 Synchronisieren [Seite 697]
13.5.2 - 11.5.2 Performance-Tipps [Seite 698]
13.5.3 - 11.5.3 Die Firewall per T-SQL konfigurieren [Seite 698]
13.5.4 - 11.5.4 Arbeiten mit sqlcmd [Seite 700]
13.6 - 11.6 Fazit [Seite 700]
14 - 12 Zugriff auf SQLite [Seite 702]
14.1 - 12.1 Was eigentlich ist SQLite? [Seite 703]
14.1.1 - 12.1.1 Vorteile [Seite 703]
14.1.2 - 12.1.2 Nachteile [Seite 704]
14.2 - 12.2 Vorbereitungen [Seite 704]
14.2.1 - 12.2.1 Download/Installation des ODBC-Treibers [Seite 705]
14.2.2 - 12.2.2 Download/Installation SQLite for Excel [Seite 706]
14.3 - 12.3 Datenbank-Tools [Seite 707]
14.3.1 - 12.3.1 Database .NET [Seite 707]
14.3.2 - 12.3.2 SQLite Administrator [Seite 709]
14.4 - 12.4 Praktische Aufgabenstellungen [Seite 710]
14.4.1 - 12.4.1 Einbinden von SQLite-Tabellen per Assistent [Seite 710]
14.4.2 - 12.4.2 Einbinden von SQLite-Tabellen per VBA-Code [Seite 711]
14.4.3 - 12.4.3 Datenbank per Code erstellen [Seite 712]
14.4.4 - 12.4.4 Tabellen erzeugen [Seite 713]
14.4.5 - 12.4.5 Datenbankzugriff per ADO realisieren [Seite 715]
14.4.6 - 12.4.6 Die Bedeutung von Transaktionen bei SQLite [Seite 716]
14.4.7 - 12.4.7 SOUNDEX verwenden [Seite 717]
14.4.8 - 12.4.8 Volltextabfragen realisieren [Seite 718]
14.5 - 12.5 Praxisbeispiele [Seite 721]
14.5.1 - 12.5.1 Verwenden der Volltextsuche [Seite 721]
14.5.2 - 12.5.2 Implementieren der Klasse SQLiteDatabase [Seite 726]
14.5.3 - 12.5.3 Verwenden der Klasse SQLiteDatabase [Seite 736]
14.6 - 12.6 Tipps & Tricks [Seite 738]
14.6.1 - 12.6.1 Für Liebhaber der Kommandozeile - Sqlite3.exe [Seite 738]
14.6.2 - 12.6.2 Eine SQLite-Datenbank reparieren [Seite 740]
14.6.3 - 12.6.3 Eine Beispieldatenbank herunterladen [Seite 741]
14.6.4 - 12.6.4 Testen ob Tabelle vorhanden ist [Seite 741]
14.6.5 - 12.6.5 Die Datenbank defragmentieren [Seite 741]
14.6.6 - 12.6.6 Mehrere Datenbanken verknüpfen [Seite 742]
14.6.7 - 12.6.7 Eine Abfrage/Tabelle kopieren [Seite 742]
14.6.8 - 12.6.8 Ein Backup implementieren [Seite 743]
14.6.9 - 12.6.9 Tabellen zwischen Datenbanken kopieren [Seite 743]
14.6.10 - 12.6.10 Ersatz für TOP [Seite 743]
14.6.11 - 12.6.11 Metadaten auswerten [Seite 744]
14.6.12 - 12.6.12 Timestamp als Defaultwert verwenden [Seite 745]
14.6.13 - 12.6.13 Export in XML-Format [Seite 746]
14.7 - 12.7 Fazit [Seite 746]
15 - 13 Dateien und Verzeichnisse [Seite 750]
15.1 - 13.1 Allgemeines [Seite 750]
15.1.1 - 13.1.1 ANSI/ASCII/Unicode [Seite 750]
15.1.2 - 13.1.2 Gemeinsamer Dateizugriff [Seite 751]
15.1.3 - 13.1.3 Verwenden der File System Objects [Seite 751]
15.2 - 13.2 Zugriff auf das Dateisystem [Seite 753]
15.2.1 - 13.2.1 Ermitteln aller Laufwerke und deren Eigenschaften [Seite 753]
15.2.2 - 13.2.2 Ermitteln aller Verzeichnis-Eigenschaften [Seite 754]
15.2.3 - 13.2.3 Auflisten aller Unterverzeichnisse eines Folders [Seite 755]
15.2.4 - 13.2.4 Rekursiv alle Unterverzeichnisse auflisten [Seite 756]
15.2.5 - 13.2.5 Ein Verzeichnis erzeugen [Seite 757]
15.2.6 - 13.2.6 Das Datenbankverzeichnis bestimmen [Seite 758]
15.2.7 - 13.2.7 Abfragen des Temp-/System/...-Verzeichnisses [Seite 758]
15.2.8 - 13.2.8 Prüfen, ob eine Datei existiert [Seite 759]
15.2.9 - 13.2.9 Verzeichnisse/Dateien kopieren/löschen [Seite 760]
15.2.10 - 13.2.10 Auflisten aller Dateien eines Verzeichnisses [Seite 760]
15.2.11 - 13.2.11 Name, Pfad und Extension einer Datei ermitteln [Seite 761]
15.2.12 - 13.2.12 Einen Tempfile-Namen erzeugen [Seite 763]
15.3 - 13.3 Textdateien [Seite 763]
15.3.1 - 13.3.1 Klassischer Zugriff auf Textdateien [Seite 764]
15.3.2 - 13.3.2 Zugriff auf Textdateien mit den File System Objects [Seite 766]
15.4 - 13.4 Typisierte Dateien [Seite 769]
15.4.1 - 13.4.1 Öffnen [Seite 769]
15.4.2 - 13.4.2 Lesen/Schreiben [Seite 769]
15.5 - 13.5 Weitere Dateien [Seite 771]
15.5.1 - 13.5.1 Binärdateien [Seite 771]
15.5.2 - 13.5.2 INI-Dateien [Seite 772]
15.6 - 13.6 Die Registrierdatenbank [Seite 774]
15.6.1 - 13.6.1 Einführung [Seite 774]
15.6.2 - 13.6.2 API/VBA-Zugriff auf die Registrierungsdatenbank [Seite 775]
15.6.3 - 13.6.3 API-Konstanten/Funktionen für den Registry-Zugriff [Seite 776]
15.6.4 - 13.6.4 Prüfen, ob ein Schlüssel existiert [Seite 778]
15.6.5 - 13.6.5 Einen vorhandenen Wert auslesen [Seite 778]
15.6.6 - 13.6.6 Einen Schlüssel erstellen [Seite 779]
15.6.7 - 13.6.7 Einen Wert setzen bzw. ändern [Seite 780]
15.6.8 - 13.6.8 Einen Schlüssel löschen [Seite 780]
15.6.9 - 13.6.9 Ein Feld löschen [Seite 780]
15.6.10 - 13.6.10 Aufruf der Funktionen [Seite 781]
15.7 - 13.7 Dateidialoge [Seite 783]
15.7.1 - 13.7.1 Variante 1 (Office 16 Library) [Seite 784]
15.7.2 - 13.7.2 Variante 2 (Windows-API) [Seite 786]
15.7.3 - 13.7.3 Verzeichnisdialog (Windows-API) [Seite 791]
15.8 - 13.8 Übersichten [Seite 793]
15.8.1 - 13.8.1 Dateifunktionen in Access [Seite 793]
15.8.2 - 13.8.2 FSO-Eigenschaften und -Methoden [Seite 794]
15.9 - 13.9 Praxisbeispiele [Seite 795]
15.9.1 - 13.9.1 Auf eine Textdatei zugreifen [Seite 795]
15.9.2 - 13.9.2 Dateien suchen [Seite 800]
15.9.3 - 13.9.3 Die Shellfunktionen verwenden [Seite 802]
15.9.4 - 13.9.4 Einen Verzeichnisbaum in eine TreeView einlesen [Seite 807]
16 - 14 XML in Theorie und Praxis [Seite 808]
16.1 - 14.1 XML - etwas Theorie [Seite 808]
16.1.1 - 14.1.1 Allgemeines [Seite 808]
16.1.2 - 14.1.2 Der XML-Grundaufbau [Seite 811]
16.1.3 - 14.1.3 Wohlgeformte Dokumente [Seite 812]
16.1.4 - 14.1.4 Processing Instructions (PI) [Seite 814]
16.1.5 - 14.1.5 Elemente und Attribute [Seite 815]
16.1.6 - 14.1.6 Verwendbare Zeichensätze [Seite 816]
16.2 - 14.2 XSD-Schemas [Seite 818]
16.2.1 - 14.2.1 Das Grundprinzip [Seite 818]
16.2.2 - 14.2.2 Ein XSD-Schema mit Microsoft Access erzeugen [Seite 820]
16.3 - 14.3 XML-Verarbeitung mit dem DOM [Seite 824]
16.3.1 - 14.3.1 Was ist das DOM? [Seite 824]
16.3.2 - 14.3.2 Erste Schritte [Seite 825]
16.3.3 - 14.3.3 Erzeugen von Instanzen [Seite 826]
16.3.4 - 14.3.4 Laden von Dokumenten [Seite 827]
16.3.5 - 14.3.5 XML-Fehlerprüfung/-Analyse [Seite 828]
16.3.6 - 14.3.6 Erzeugen von XML-Dokumenten [Seite 830]
16.3.7 - 14.3.7 Auslesen von XML-Dateien [Seite 832]
16.3.8 - 14.3.8 Einfügen von Informationen [Seite 835]
16.3.9 - 14.3.9 Attribute oder Element [Seite 838]
16.3.10 - 14.3.10 Suchen in den Baumzweigen [Seite 841]
16.3.11 - 14.3.11 Das Interpretieren von Leerzeichen [Seite 844]
16.4 - 14.4 XML-Integration in Access [Seite 847]
16.4.1 - 14.4.1 Importieren [Seite 847]
16.4.2 - 14.4.2 Exportieren [Seite 850]
16.4.3 - 14.4.3 XML-Transformation mit XSLT [Seite 854]
16.4.4 - 14.4.4 Application-Objekt (ImportXML/ExportXML) [Seite 857]
16.4.5 - 14.4.5 ADO-Recordset [Seite 860]
16.5 - 14.5 Vor- und Nachteile von XML [Seite 862]
16.5.1 - 14.5.1 Grundsätzlicher Vergleich [Seite 863]
16.5.2 - 14.5.2 Zeitvergleich ADO/XML [Seite 863]
16.6 - 14.6 Praxisbeispiele [Seite 865]
16.6.1 - 14.6.1 Speichern im UTF-8-/UTF-16-Format [Seite 865]
16.6.2 - 14.6.2 UTF-8-/UTF-16 aus einem ADO-Stream laden [Seite 867]
16.6.3 - 14.6.3 XML-Daten asynchron verarbeiten [Seite 869]
16.6.4 - 14.6.4 XML-Daten in einer TreeView darstellen [Seite 871]
16.6.5 - 14.6.5 Navigieren zwischen einzelnen XML-Baumknoten [Seite 874]
16.6.6 - 14.6.6 ADO-XML-Streams nachbearbeiten [Seite 877]
16.6.7 - 14.6.7 Textdaten in XML-Dokumente umwandeln [Seite 880]
17 - 15 SQL im Einsatz [Seite 882]
17.1 - 15.1 Einführung [Seite 882]
17.1.1 - 15.1.1 SQL-Dialekte [Seite 883]
17.1.2 - 15.1.2 Kategorien von SQL-Anweisungen [Seite 883]
17.2 - 15.2 Etwas (Datenbank-)Theorie [Seite 885]
17.2.1 - 15.2.1 Allgemeines/Begriffe [Seite 885]
17.2.2 - 15.2.2 Normalisieren von Tabellen [Seite 890]
17.2.3 - 15.2.3 Beziehungen zwischen den Tabellen [Seite 895]
17.2.4 - 15.2.4 Verknüpfen von Tabellen [Seite 897]
17.3 - 15.3 Testprogramm und Beispieldatenbank [Seite 901]
17.3.1 - 15.3.1 Hinweise zur Bedienung [Seite 901]
17.3.2 - 15.3.2 Die Beispieldatenbank im Überblick [Seite 901]
17.3.3 - 15.3.3 ADO Query [Seite 902]
17.3.4 - 15.3.4 Bemerkungen [Seite 903]
17.4 - 15.4 Daten abfragen [Seite 904]
17.4.1 - 15.4.1 Abfragen mit SELECT [Seite 905]
17.4.2 - 15.4.2 Alle Spalten auswählen [Seite 905]
17.4.3 - 15.4.3 Auswahl der Spalten [Seite 906]
17.4.4 - 15.4.4 Filtern [Seite 907]
17.4.5 - 15.4.5 Beschränken der Ergebnismenge [Seite 913]
17.4.6 - 15.4.6 Eindeutige Records/doppelte Datensätze [Seite 914]
17.4.7 - 15.4.7 Tabellen verknüpfen [Seite 915]
17.4.8 - 15.4.8 Tabellen vereinigen [Seite 918]
17.4.9 - 15.4.9 Datensätze sortieren [Seite 919]
17.4.10 - 15.4.10 Datensätze gruppieren [Seite 919]
17.4.11 - 15.4.11 Unterabfragen [Seite 921]
17.4.12 - 15.4.12 Anlage-Felder mit SQL verwalten [Seite 925]
17.4.13 - 15.4.13 History-Felder mit SQL abfragen [Seite 927]
17.4.14 - 15.4.14 Mehrwertige Felder mit SQL abfragen [Seite 929]
17.5 - 15.5 Daten manipulieren [Seite 930]
17.5.1 - 15.5.1 Einfügen einzelner Datensätze [Seite 931]
17.5.2 - 15.5.2 Einfügen von Abfragedaten [Seite 932]
17.5.3 - 15.5.3 Exportieren/Importieren von Abfragedaten [Seite 934]
17.5.4 - 15.5.4 Aktualisieren/Ändern [Seite 936]
17.5.5 - 15.5.5 Löschen [Seite 937]
17.6 - 15.6 Erweiterte SQL-Funktionen [Seite 938]
17.6.1 - 15.6.1 Berechnete/Formatierte Spalten [Seite 939]
17.6.2 - 15.6.2 Berechnungsfunktionen [Seite 945]
17.6.3 - 15.6.3 NULL-Werte [Seite 946]
17.6.4 - 15.6.4 Datum und Zeit in SQL-Abfragen [Seite 948]
17.6.5 - 15.6.5 Datentypumwandlungen [Seite 953]
17.6.6 - 15.6.6 Kreuztabellenabfragen [Seite 954]
17.6.7 - 15.6.7 Steuerelemente in Abfragen verwenden [Seite 957]
17.6.8 - 15.6.8 Globale Variablen in Abfragen verwenden [Seite 958]
17.7 - 15.7 Datenbankverwaltung mit SQL (DDL) [Seite 958]
17.7.1 - 15.7.1 Datenbanken [Seite 959]
17.7.2 - 15.7.2 Tabellen [Seite 959]
17.7.3 - 15.7.3 Indizes [Seite 960]
17.7.4 - 15.7.4 Tabellen/Indizes löschen oder verändern [Seite 963]
17.7.5 - 15.7.5 Sichten (Views) [Seite 963]
17.7.6 - 15.7.6 Nutzer- und Rechteverwaltung [Seite 965]
17.7.7 - 15.7.7 Transaktionen [Seite 965]
17.8 - 15.8 SQL in der Access-Praxis [Seite 966]
17.8.1 - 15.8.1 SQL in Abfragen [Seite 966]
17.8.2 - 15.8.2 SQL im Basic-Code [Seite 967]
17.8.3 - 15.8.3 SQL beim Oberflächenentwurf [Seite 969]
17.8.4 - 15.8.4 VBA-Funktionen in SQL-Anweisungen [Seite 969]
17.9 - 15.9 Tipps & Tricks [Seite 971]
17.9.1 - 15.9.1 Wie kann ich die Anzahl der Datensätze ermitteln? [Seite 971]
17.9.2 - 15.9.2 Wie nutze ich Datumsteile in SQL zur Suche? [Seite 972]
17.9.3 - 15.9.3 Die Groß-/Kleinschreibung berücksichtigen [Seite 972]
17.9.4 - 15.9.4 Warum erhalte ich zu viele Datensätze ? [Seite 973]
17.9.5 - 15.9.5 Doppelte Datensätze aus einer Tabelle löschen [Seite 974]
17.10 - 15.10 Praxisbeispiele [Seite 975]
17.10.1 - 15.10.1 Ein komfortables SQL-Abfrageprogramm erstellen [Seite 975]
17.10.2 - 15.10.2 Datum und Zeit in SQL einbauen [Seite 977]
18 - 16 Anwendungsdesign [Seite 980]
18.1 - 16.1 Access-Oberflächengestaltung [Seite 980]
18.1.1 - 16.1.1 Beschriften der Kopfzeile [Seite 981]
18.1.2 - 16.1.2 Informationen in der Statuszeile anzeigen [Seite 983]
18.1.3 - 16.1.3 Fortschrittsanzeige mit dem Progressbar realisieren [Seite 984]
18.1.4 - 16.1.4 Navigationsbereich konfigurieren [Seite 985]
18.1.5 - 16.1.5 Access-Hauptfenster komplett ausblenden [Seite 991]
18.2 - 16.2 Steuern der Anwendung [Seite 994]
18.2.1 - 16.2.1 Autostart mit AutoExec-Makro [Seite 994]
18.2.2 - 16.2.2 Formulare automatisch starten [Seite 996]
18.2.3 - 16.2.3 Warten auf das Ende [Seite 996]
18.2.4 - 16.2.4 Access per VBA beenden [Seite 997]
18.2.5 - 16.2.5 Den Runtime-Modus aktivieren [Seite 997]
18.2.6 - 16.2.6 Befehlszeilen-Optionen verwenden [Seite 998]
18.3 - 16.3 Entwickeln von Assistenten und Add-Ins [Seite 1000]
18.3.1 - 16.3.1 Assistenten-Typen [Seite 1000]
18.3.2 - 16.3.2 Einbinden der Assistenten in die Access-IDE [Seite 1000]
18.3.3 - 16.3.3 Menü-Assistent (Beispiel) [Seite 1002]
18.3.4 - 16.3.4 Objekt-Assistent (Beispiel) [Seite 1004]
18.3.5 - 16.3.5 Steuerelemente-Assistent (Beispiel) [Seite 1008]
18.3.6 - 16.3.6 Eigenschaften-Assistent [Seite 1011]
18.4 - 16.4 Entwickeln/Einbinden von Managed Add-Ins [Seite 1012]
18.4.1 - 16.4.1 Interaktion Anwendung/Add-In [Seite 1012]
18.4.2 - 16.4.2 Entwurf des Add-Ins [Seite 1013]
18.4.3 - 16.4.3 Oberfläche [Seite 1015]
18.4.4 - 16.4.4 Der Quellcode des Add-Ins [Seite 1016]
18.4.5 - 16.4.5 Formularentwurf für das Add-In [Seite 1018]
18.4.6 - 16.4.6 Kompilieren und Einbinden [Seite 1018]
18.4.7 - 16.4.7 Testen [Seite 1019]
18.5 - 16.5 Libraries unter Access [Seite 1020]
18.5.1 - 16.5.1 Erstellen und Einbinden [Seite 1020]
18.5.2 - 16.5.2 Debugging [Seite 1021]
18.5.3 - 16.5.3 Einfaches Beispiel [Seite 1022]
18.5.4 - 16.5.4 Hinweise [Seite 1024]
18.6 - 16.6 Praxisbeispiele [Seite 1025]
18.6.1 - 16.6.1 Mehr über die aktuelle Access-Version erfahren [Seite 1025]
18.6.2 - 16.6.2 Access neu starten/Datenbank neu laden [Seite 1026]
18.6.3 - 16.6.3 Mit Reference-Objekten arbeiten [Seite 1027]
18.6.4 - 16.6.4 Benutzerdefinierte Eigenschaften einsetzen [Seite 1031]
18.6.5 - 16.6.5 Den aktuellen Datenbanknutzer ermitteln [Seite 1035]
18.6.6 - 16.6.6 Überlappende Fenster einstellen [Seite 1035]
18.6.7 - 16.6.7 Access-Optionen abrufen/setzen [Seite 1036]
19 - 17 Menüband und Backstage [Seite 1038]
19.1 - 17.1 Allgemeine Grundlagen [Seite 1038]
19.1.1 - 17.1.1 Manuelle Konfigurationsmöglichkeiten [Seite 1039]
19.1.2 - 17.1.2 Grundprinzip der Programmierung [Seite 1040]
19.1.3 - 17.1.3 Verwenden der Tabelle USysRibbons [Seite 1042]
19.1.4 - 17.1.4 Application.LoadCustomUI als Alternative [Seite 1043]
19.2 - 17.2 Ein kleines Testprogramm [Seite 1043]
19.3 - 17.3 Praktische Aufgabenstellungen [Seite 1045]
19.3.1 - 17.3.1 Infos über Steuerelemente und Symbole erhalten [Seite 1045]
19.3.2 - 17.3.2 Hauptregisterkarten ausblenden [Seite 1047]
19.3.3 - 17.3.3 Einzelne Registerkarten ausblenden [Seite 1048]
19.3.4 - 17.3.4 Einzelne Gruppen ausblenden [Seite 1049]
19.3.5 - 17.3.5 Registerkarten, Gruppen und Schaltflächen einfügen [Seite 1050]
19.3.6 - 17.3.6 Ereignisbehandlung mit VBA-Code/Makros [Seite 1052]
19.3.7 - 17.3.7 Verändern von Eigenschaften mit VBA-Callbacks [Seite 1053]
19.3.8 - 17.3.8 Aktualisieren des Menübands per VBA-Code [Seite 1053]
19.3.9 - 17.3.9 Kontextabhängige Registerkarten [Seite 1054]
19.3.10 - 17.3.10 Registerkarten per VBA aktivieren [Seite 1055]
19.3.11 - 17.3.11 Fehlermeldungen des Menübands anzeigen [Seite 1056]
19.3.12 - 17.3.12 Vorhandene Funktionen des Menübands ändern [Seite 1056]
19.3.13 - 17.3.13 Die Schnellzugriffsleiste erweitern/programmieren [Seite 1057]
19.4 - 17.4 Übersicht der Steuerelemente [Seite 1058]
19.4.1 - 17.4.1 labelControl-Steuerelement [Seite 1058]
19.4.2 - 17.4.2 Steuerelement [Seite 1058]
19.4.3 - 17.4.3 Steuerelement [Seite 1062]
19.4.4 - 17.4.4 toggleButton-Steuerelement [Seite 1063]
19.4.5 - 17.4.5 buttonGroup-Steuerelement [Seite 1064]
19.4.6 - 17.4.6 checkBox-Steuerelement [Seite 1065]
19.4.7 - 17.4.7 editBox-Steuerelement [Seite 1066]
19.4.8 - 17.4.8 Steuerelement [Seite 1067]
19.4.9 - 17.4.9 dropDownElement-Steuerelement [Seite 1071]
19.4.10 - 17.4.10 gallery-Steuerelement [Seite 1074]
19.4.11 - 17.4.11 menu-Steuerelement [Seite 1076]
19.4.12 - 17.4.12 splitButton-Steuerelement [Seite 1079]
19.4.13 - 17.4.13 dialogBoxLauncher [Seite 1080]
19.5 - 17.5 Die Backstage-Ansicht anpassen [Seite 1082]
19.5.1 - 17.5.1 Die Standardansicht verändern [Seite 1083]
19.5.2 - 17.5.2 Die drei möglichen Layouts für Registerkarten [Seite 1085]
19.5.3 - 17.5.3 Die neuen Möglichkeiten von Gruppen [Seite 1092]
19.5.4 - 17.5.4 Verwenden von LayoutContainern [Seite 1094]
19.5.5 - 17.5.5 Das Verhalten der Schaltflächen beeinflussen [Seite 1095]
19.5.6 - 17.5.6 Mit VBA/Makros auf Ereignisse reagieren [Seite 1096]
19.6 - 17.6 Tipps & Tricks [Seite 1097]
19.6.1 - 17.6.1 Die guten alten Access 2003-Menüs anzeigen [Seite 1097]
19.6.2 - 17.6.2 Das Office-Menü für Access 2007 anpassen [Seite 1099]
19.6.3 - 17.6.3 XML-Daten komfortabel editieren [Seite 1100]
19.6.4 - 17.6.4 Arbeiten mit dem RibbonCreator [Seite 1101]
19.7 - 17.7 Übersichten [Seite 1102]
20 - 18 Programmschnittstellen [Seite 1104]
20.1 - 18.1 Zwischenablage [Seite 1104]
20.1.1 - 18.1.1 Kopieren/Einfügen mittels DoCmd-Objekt [Seite 1104]
20.1.2 - 18.1.2 Ein Clipboard-Objekt programmieren [Seite 1105]
20.2 - 18.2 API- und DLL-Einbindung [Seite 1108]
20.2.1 - 18.2.1 Allgemeines [Seite 1108]
20.2.2 - 18.2.2 Und was ist mit der 64-Bit Access Version? [Seite 1109]
20.2.3 - 18.2.3 Woher bekomme ich Infos über die Win32-API? [Seite 1111]
20.2.4 - 18.2.4 Einbinden der Deklaration [Seite 1112]
20.2.5 - 18.2.5 Wert oder Zeiger? [Seite 1114]
20.2.6 - 18.2.6 Übergabe von Strings [Seite 1115]
20.2.7 - 18.2.7 Verwenden von As Any [Seite 1116]
20.2.8 - 18.2.8 Übergabe von Arrays [Seite 1116]
20.2.9 - 18.2.9 Besonderheiten mit Records [Seite 1117]
20.2.10 - 18.2.10 Zuordnen der Datentypen [Seite 1119]
20.3 - 18.3 OLE/ActiveX [Seite 1120]
20.3.1 - 18.3.1 Überblick [Seite 1120]
20.3.2 - 18.3.2 OLE [Seite 1121]
20.3.3 - 18.3.3 Übersicht zum Objektfeld-Steuerelement [Seite 1122]
20.3.4 - 18.3.4 Programmieren mit dem Objektfeld [Seite 1125]
20.3.5 - 18.3.5 ActiveX-Code-Komponenten (OLE-Automation) [Seite 1128]
20.3.6 - 18.3.6 Programmieren mit ActiveX-Code-Komponenten [Seite 1129]
20.4 - 18.4 DDE [Seite 1131]
20.4.1 - 18.4.1 Funktionsprinzip [Seite 1131]
20.4.2 - 18.4.2 Verwenden von Steuerelementen [Seite 1132]
20.4.3 - 18.4.3 VBA-Programmierung [Seite 1133]
20.5 - 18.5 Scanner-Unterstützung per WIA [Seite 1135]
20.5.1 - 18.5.1 Was kann WIA? [Seite 1135]
20.5.2 - 18.5.2 Installation/Vorbereitung [Seite 1135]
20.5.3 - 18.5.3 Einstieg mit kleiner Beispielanwendung [Seite 1136]
20.5.4 - 18.5.4 Reagieren auf das Verbinden/Trennen von Geräten [Seite 1137]
20.5.5 - 18.5.5 Ermitteln der verfügbaren Geräte [Seite 1138]
20.5.6 - 18.5.6 Anzeige der Geräteeigenschaften [Seite 1138]
20.5.7 - 18.5.7 Ein Bild einlesen [Seite 1140]
20.5.8 - 18.5.8 Bild(er) drucken (Assistent) [Seite 1141]
20.5.9 - 18.5.9 Den Scanner-Assistent aufrufen [Seite 1142]
20.5.10 - 18.5.10 Grafikbearbeitung [Seite 1143]
20.6 - 18.6 Zugriff auf Excel-Arbeitsmappen [Seite 1145]
20.6.1 - 18.6.1 Zugriffsmöglichkeiten [Seite 1145]
20.6.2 - 18.6.2 TransferSpreadsheet [Seite 1146]
20.6.3 - 18.6.3 Import/Export per DAO [Seite 1150]
20.6.4 - 18.6.4 Daten auslesen [Seite 1154]
20.6.5 - 18.6.5 Zugriff auf Tabellenbereiche [Seite 1156]
20.6.6 - 18.6.6 OLE-Automation [Seite 1157]
20.7 - 18.7 Praxisbeispiele [Seite 1160]
20.7.1 - 18.7.1 Eine externe Anwendung starten [Seite 1160]
20.7.2 - 18.7.2 Informationen über das aktuelle System ermitteln [Seite 1162]
20.7.3 - 18.7.3 Das aktuelle Betriebssystem ermitteln [Seite 1165]
20.7.4 - 18.7.4 Den Windows-Lizenznehmer ermitteln [Seite 1168]
20.7.5 - 18.7.5 Zeitmessungen in Access durchführen [Seite 1170]
20.7.6 - 18.7.6 Microsoft Word über ActiveX steuern [Seite 1174]
20.7.7 - 18.7.7 Microsoft Excel über ActiveX steuern [Seite 1178]
21 - Index [Seite 1180]

Dateiformat: ePUB
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat EPUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader - beide kostenlos (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie die kostenlose App Adobe Digital Editions oder eine andere Lese-App für E-Books (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nur bedingt: Kindle)

Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

47,99 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
ePUB mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
PDF mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
Hinweis: Die Auswahl des von Ihnen gewünschten Dateiformats und des Kopierschutzes erfolgt erst im System des E-Book Anbieters
E-Book bestellen