Access programmieren - Grundlagen und Praxiswissen. Für die Versionen 2010, 2013 und 2016

Walter Doberenz, Thomas Gewinnus

Access programmieren

Grundlagen und Praxiswissen. Für die Versionen 2010, 2013 und 2016

2016

1199 Seiten

Format: PDF, ePUB, Online Lesen

E-Book: €  59,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446450592

 

Inhaltsverzeichnis

6

Teil I: Grundlagen

6

Teil II: Datenschnittstellen

12

Teil III: Weitere Technologien

19

Vorwort

28

1 Einführung

34

1.1 VBA-Programmierung in Access

34

1.1.1 Visual Basic versus VBA

34

1.1.2 Objekt- und ereignisorientierte Programmierung

35

1.1.3 VBA- oder Makro-Programmierung?

36

1.1.4 Die VBA-Entwicklungsumgebung

37

1.1.5 Formularentwurf

37

1.1.6 Code-Fenster und Symbolleiste

38

1.1.7 Das Eigenschaftenfenster

39

1.1.8 Der Projekt-Explorer

40

1.1.9 Das Code-Fenster

40

1.1.10 Arbeiten mit der Hilfe

43

1.2 Sicherheitseinstellungen

44

1.2.1 Zur Geschichte der Access-Sicherheit

44

1.2.2 Eine nicht vertrauenswürdige Datenbank öffnen

45

1.2.3 Das Sicherheitscenter

47

1.2.4 Definition vertrauenswürdiger Speicherorte

50

1.3 Einführungsbeispiele

51

1.3.1 Erstellen der Testdatenbank

52

1.3.2 Konventionelle Programmierung

53

1.3.3 Programmieren mit VBA

57

1.3.4 Automatische Makrokonvertierung

62

1.3.5 Programmieren mit Datenmakros

63

1.4 Highlights und Features von Access 2016

65

1.4.1 Zur Geschichte der Vorgängerversionen

65

1.4.2 Microsoft Access 2016 – viel Lärm um nichts?

68

1.4.3 Der inoffizielle Access-Friedhof (Access 2013/2016)

69

1.5 Übersichten und Ergänzungen

69

1.5.1 Deutsche und englische Bezeichner

69

1.5.2 DoCmd-Objekt

71

2 Programmieren mit VBA

74

2.1 Datentypen, Variablen und Konstanten

74

2.1.1 Übersicht

74

2.1.2 Variablendeklaration

75

2.1.3 Konstantendeklaration

80

2.1.4 Gültigkeitsbereiche

81

2.2 Einzelheiten zu den Datentypen

84

2.2.1 Single- und Double-Datentypen

84

2.2.2 Integer-, Long- und Boolean-Datentypen

84

2.2.3 Date-Datentyp

85

2.2.4 Currency-Datentyp

87

2.2.5 String-Datentyp

88

2.2.6 Variant-Datentyp

90

2.3 Datenfelder (Arrays)

93

2.3.1 Statische Arrays

93

2.3.2 Dynamische Arrays

95

2.4 Benutzerdefinierte Datentypen

97

2.4.1 Type-Anweisung

97

2.4.2 With-Anweisung

98

2.4.3 Strings innerhalb Type

98

2.4.4 Enumerationen

99

2.4.5 Arrays in benutzerdefinierten Typen

100

2.5 Operatoren

101

2.5.1 Arithmetische Operatoren

102

2.5.2 Logische Operatoren

104

2.5.3 Vergleichsoperatoren

105

2.6 Kontrollstrukturen

106

2.6.1 Bedingte Verzweigungen

106

2.6.2 Schleifenanweisungen

108

2.6.3 GoTo und GoSub

110

2.7 Zeichenkettenfunktionen

111

2.7.1 Stringverarbeitung

111

2.7.2 Format-Funktion

113

2.8 Vordefinierte Funktionen

117

2.8.1 Mathematische Funktionen

117

2.8.2 Finanzmathematische Funktionen

120

2.8.3 Datums-/Zeitfunktionen

121

2.9 Benutzerdefinierte Funktionen/Prozeduren

124

2.9.1 Funktion

124

2.9.2 Prozedur

125

2.9.3 Parameterübergabe ByRef oder ByVal

125

2.9.4 Optionale Argumente

126

2.9.5 Benannte Argumente

127

2.9.6 Parameter-Arrays

127

2.9.7 Dynamische Arrays als Argumente

128

2.9.8 Rückgabe von Arrays

128

2.9.9 Private-, Public- und Static-Deklarationen

129

2.10 Fehlersuche

131

2.10.1 Direktfenster

132

2.10.2 Verwendung des Debug-Objekts

132

2.10.3 Arbeiten mit dem Lokal-Fenster

133

2.10.4 Überwachungs-Fenster

135

2.10.5 Noch mehr Debugging

136

2.11 Fehlerbehandlung

140

2.11.1 Anweisungen zum Error-Handling

140

2.11.2 Beispiele zum Error-Handling

141

2.11.3 Fehlerbehandlung per Ereignis

143

2.11.4 Fehlerbehandlung komplett deaktivieren

144

2.12 Standarddialogfelder

144

2.12.1 Einfache Anweisung

145

2.12.2 Ausführliche Anweisung

146

2.12.3 Rückgabewerte der MsgBox-Funktion

146

2.12.4 Abfrage von Werten mit der InputBox-Funktion

148

2.13 Übersichten und Ergänzungen

149

2.13.1 Datumskonstanten

149

2.13.2 Rückgabewerte der VarType-Funktion

149

2.14 Praxisbeispiele

150

2.14.1 In einem Textfeld suchen

150

2.14.2 Zeitangaben runden

151

2.14.3 Das Wochenende feststellen

153

2.14.4 Mit dynamischen Arrays rechnen

154

2.14.5 Arbeiten mit dem Debugger

158

3 Makros – eine Einführung

164

3.1 Klassische Makros

164

3.1.1 Entwurfsoberfläche

164

3.1.2 Eigenständige Makros

165

3.1.3 Eingebettete Makros

168

3.1.4 Das AutoKeys-Makro

172

3.1.5 Das AutoExec-Makro

174

3.1.6 Potenziell gefährliche Makroaktionen

174

3.2 Datenmakros

175

3.2.1 Einsatzmöglichkeitem

176

3.2.2 Funktionsprinzip

176

3.2.3 Erzeugen von Datenmakros

177

3.2.4 Datenmakros umbenennen, löschen und ändern

178

3.2.5 USysApplicationLog

178

3.2.6 Aktionen in Datenmakros

179

3.2.7 Auswahl des richtigen Tabellenereignisses

180

3.3 Praxisbeispiele

181

3.3.1 Eingabe-Formular mit neuem Datensatz öffnen

182

3.3.2 Einen Datensatznavigator selbst bauen

183

3.3.3 Ein ereignisgesteuertes Datenmakro erstellen

185

3.3.4 Arbeiten mit einem benannten Datenmakro

190

3.3.5 Per VBA auf ein benanntes Datenmakro zugreifen

194

3.3.6 Änderungen von Tabelleninhalten protokollieren

195

4 Formulare und Steuerelemente

198

4.1 Allgemeines

198

4.1.1 Gruppen von Eigenschaften

199

4.1.2 Methoden

199

4.1.3 Gruppen von Ereignissen

199

4.2 Das Form-Objekt

200

4.2.1 Format-Eigenschaften

200

4.2.2 Daten-Eigenschaften

207

4.2.3 Weitere Eigenschaften

207

4.2.4 Fenster- und Fokus-Ereignisse

209

4.2.5 Tastatur- und Maus-Ereignisse

211

4.2.6 Daten- und Filter-Ereignisse

213

4.2.7 Weitere Ereignisse

215

4.2.8 Methoden

215

4.2.9 Unterformulare

218

4.3 Steuerelemente (Controls)

219

4.3.1 Allgemeines

219

4.3.2 Allgemeine Eigenschaften auf einen Blick

220

4.3.3 Allgemeine Ereignisse auf einen Blick

230

4.3.4 Methoden von Steuerelementen

231

4.3.5 Das Screen-Objekt

232

4.4 ActiveX-Steuerelemente

234

4.4.1 Vergleich mit den integrierten Steuerelementen

234

4.4.2 StatusBar als Beispiel

236

4.5 Praxisbeispiele

240

4.5.1 Das Textfeld programmieren

240

4.5.2 In ungebundene Textfelder ein- und ausgeben

242

4.5.3 Ein ungebundenes Kombinationsfeld füllen

243

4.5.4 Ein Unterformular programmieren

246

4.5.5 Das Register-Steuerelement kennen lernen

249

4.5.6 Die Statusleiste programmieren

253

4.5.7 Verwenden von Bild-Ressourcen

256

4.5.8 Programmieren des Navigationssteuerelements

258

5 Berichte

262

5.1 Allgemeines

262

5.1.1 Reportansichten

262

5.1.2 Die OpenReport-Methode

263

5.1.3 Parameterübergabe

264

5.2 Wichtige Berichtseigenschaften

264

5.2.1 Formateigenschaften

264

5.2.2 Dateneigenschaften

265

5.2.3 Grafikeigenschaften

265

5.2.4 Linien- und Stifteigenschaften

269

5.2.5 Schrifteigenschaften

270

5.2.6 Farb- und Mustereigenschaften

270

5.2.7 Sonstige Eigenschaften

272

5.3 Berichtsereignisse

274

5.3.1 Allgemeine Ereignisse

274

5.3.2 Tastatur- und Mausereignisse

276

5.4 Berichtsmethoden

277

5.4.1 Grafikmethoden (Übersicht)

277

5.4.2 Scale

277

5.4.3 Line

278

5.4.4 PSet

279

5.4.5 Circle

280

5.4.6 Print

281

5.4.7 TextWidth und TextHeight

282

5.4.8 Sonstige Methoden

283

5.5 Weitere Features des Report-Objekts

283

5.5.1 Rich-Text-Felder drucken

283

5.5.2 Verlauf eines Memofeldes drucken

284

5.5.3 Eine Liste der Anlagen drucken

284

5.5.4 Berichte nachträglich filtern

287

5.5.5 Berichte als PDF-Datei exportieren

288

5.5.6 Berichte als RTF-Datei exportieren

289

5.6 Das Printer-Objekt

289

5.6.1 Wo finde ich das Printer-Objekt?

290

5.6.2 Die Printers-Collection

290

5.6.3 Auswahl eines Druckers

291

5.6.4 Speichern von Berichts-Optionen

293

5.6.5 Eigenschaften des Printers

294

5.7 Direkte Druckausgabe

295

5.8 Übersichten

295

5.8.1 DrawMode-Eigenschaft

295

5.8.2 Farbkonstanten

296

5.9 Praxisbeispiele

296

5.9.1 Aufruf eines Berichts mit Datenfilter

296

5.9.2 Im Report gruppieren und rechnen

300

5.9.3 Erstellen und Drucken eines Diagramms

304

5.9.4 Berichte in Formularen anzeigen

308

6 Programmieren mit Objekten

310

6.1 Objektvariablen

310

6.1.1 Objekttypen und Set-Anweisung

310

6.1.2 Object-Datentyp

312

6.1.3 Form- und Report-Objekt

313

6.1.4 Control-Objekt

314

6.2 Formular- und Berichtsmodule

318

6.2.1 Instanzen von Formularen und Berichten

318

6.2.2 Benutzerdefinierte Form-/Report-Objekte

320

6.2.3 Eigenständige Klassenmodule

321

6.3 Auflistungen

325

6.3.1 Forms/Reports

325

6.3.2 Controls

326

6.3.3 Collection-Objekt

328

6.3.4 Dictionary-Objekt

330

6.3.5 Property und Properties

330

6.3.6 Module-Objekt und Modules-Auflistung

331

6.3.7 Reference-Objekt und References-Auflistung

333

6.4 Die Access-Objekthierarchie

335

6.4.1 Der Objektkatalog

335

6.4.2 Das Application-Objekt allgemein

336

6.4.3 Eigenschaften und Methoden des Application-Objekts

339

6.4.4 Weitere wichtige Objekte

344

6.4.5 AccessObject

345

6.4.6 CurrentProject

346

6.4.7 CurrentData

348

6.5 Übersichten

348

6.5.1 Konstanten der ControlType-Eigenschaft

348

6.5.2 Rückgabewerte der CurrentObjectType-Funktion

349

6.6 Praxisbeispiele

349

6.6.1 Ein Steuerelemente-Array automatisch erstellen

349

6.6.2 Mit Formular-Instanzen arbeiten

353

6.6.3 Mit einer eigenständigen Klasse experimentieren

355

6.6.4 Auf Objekte in Auflistungen zugreifen

358

6.6.5 Properties-Auflistungen untersuchen

361

7 DAO-Programmierung

366

7.1 Allgemeines

366

7.1.1 DBEngine

366

7.1.2 Workspace-Objekt

367

7.1.3 Database-Objekt

368

7.1.4 Recordset-Objekt

368

7.1.5 Verwendung der Datenbankobjekte

369

7.2 Grundlegende Arbeitstechniken

369

7.2.1 Arbeitsumgebung festlegen

370

7.2.2 Datenbank anlegen und öffnen

370

7.2.3 Tabellen/Indizes anlegen

374

7.2.4 Tabellen einbinden

379

7.2.5 Tabellen verknüpfen (Relationen)

380

7.2.6 Abfragen erstellen/ausführen

382

7.2.7 Öffnen von Tabellen/Abfragen

384

7.3 Arbeiten mit Recordsets

387

7.3.1 Eigenschaften und Methoden von Recordsets

387

7.3.2 Datensätze anzeigen

390

7.3.3 Datensätze hinzufügen/ändern

392

7.3.4 Datensätze löschen

394

7.3.5 Datensätze sortieren

396

7.3.6 Datensätze suchen

397

7.3.7 Datensätze filtern

398

7.3.8 DAO in gebundenen Formularen

399

7.3.9 Auf Anlage-Felder zugreifen

402

7.3.10 Auf mehrwertige Felder zugreifen

405

7.3.11 Verlaufsverfolgung eines Memo-Felds

406

7.4 Weitere Funktionen

407

7.4.1 Eigenschaften (Properties)

407

7.4.2 Transaktionen

409

7.5 Praxisbeispiele

410

7.5.1 Eine Tabelle anlegen

410

7.5.2 Navigieren mit DAO

413

7.5.3 Den Datensatzzeiger bewegen

416

7.5.4 In Recordsets suchen

420

7.5.5 Eine Datenbank analysieren

423

7.6 Komplexbeispiel: Telefonverzeichnis

426

7.6.1 Eingabemaske

426

7.6.2 Anforderungen

426

7.6.3 Programmierung

427

7.6.4 Test und Bemerkungen

436

8 ADO-Programmierung

438

8.1 Ein erster Blick auf ADO

438

8.1.1 Kleines Einführungsbeispiel

439

8.1.2 Zur Geschichte von ADO

440

8.1.3 Hinweise zu den ADO-Bibliotheken

441

8.1.4 ADO und OLE DB

442

8.1.1 ADO-Objektmodell

443

8.2 ADO-Grundoperationen

445

8.2.1 Beziehungen zwischen den Objekten

445

8.2.2 Die Verbindung zur Datenquelle

446

8.2.3 Aktionsabfragen mit dem Command-Objekt

450

8.2.4 Recordsets mit Daten füllen

452

8.3 Weitere Operationen mit Recordsets

457

8.3.1 Welche Recordset-Features werden unterstützt?

457

8.3.2 Editieren von Datensätzen

458

8.3.3 Hinzufügen von Datensätzen

459

8.3.4 Löschen von Datensätzen

459

8.3.5 Recordsets filtern

460

8.3.6 Ungebundene Recordsets

461

8.3.7 Recordsets abspeichern

462

8.3.8 Bewegen in Recordsets

462

8.3.9 Daten direkt einlesen

463

8.3.10 Sortieren

464

8.3.11 Suchen

465

8.3.12 Ereignisse auswerten

465

8.4 Zugriff auf ADO-Auflistungen

467

8.4.1 Allgemeine Features

467

8.4.2 Property und Properties

468

8.4.3 Field und Fields

469

8.4.4 Parameter und Parameters

470

8.4.5 Error und Errors

471

8.5 Übersichten

472

8.5.1 Connection-Objekt

472

8.5.2 Command-Objekt

473

8.5.3 Recordset-Objekt

473

8.6 Praxisbeispiele

475

8.6.1 Mit ADO auf eine Access-Datenbank zugreifen

475

8.6.2 Ein ADO-Datenklassenmodul verwenden

477

8.6.3 Ein intelligentes ADO-Frontend entwickeln

480

9 Datenbankverwaltung

486

9.1 Datenbankverwaltung mit ADOX

486

9.1.1 Datenbanken erstellen

488

9.1.2 Tabellendefinition

490

9.1.3 Indexdefinition

494

9.1.4 Erstellen von Prozeduren und Sichten

496

9.1.5 Tabellen verknüpfen (Relationen)

497

9.2 Erstellen spezieller Feldtypen

498

9.2.1 Automatische Zufallswerte (GUID)

498

9.2.2 Memofeld mit Archiv-Funktion (Nur anfügen)

500

9.2.3 Anlage-Feld

502

9.2.4 Rich-Text-Feld

503

9.2.5 Multivalue-Feld (MVF)

504

9.2.6 Berechnete Spalten

509

9.2.7 Beschreibung von Datenbankfeldern setzen

511

9.3 Zugriffsschutz in Access-Datenbanken

513

9.3.1 Grundlagen

513

9.3.2 Sichern auf Datenbankebene (DAO)

515

9.3.3 Sichern auf Datenbankebene (ADO/ADOX)

516

9.3.4 Erstellen neuer Benutzer und Gruppen (DAO)

516

9.3.5 Vergabe von Rechten (DAO)

518

9.3.6 Komplettbeispiel: Nutzerbasierte Sicherheit

520

9.3.7 Erstellen neuer Benutzer und Gruppen (ADOX)

525

9.3.8 Vergabe von Rechten (ADOX)

526

9.3.9 Verschlüsseln von Datenbanken

528

9.4 Multiuserzugriff

531

9.4.1 Verwenden der DAO

532

9.4.2 Verwenden der ADO

535

9.5 ODBC-Verbindungen

536

9.5.1 Ein Blick auf den ODBC-Datenquellen-Administrator

536

9.5.2 Erstellen einer ODBC-Verbindung (DAO)

538

9.5.3 Öffnen einer ODBC-Verbindung (DAO)

539

9.5.4 Öffnen einer ODBC-Verbindung (ADO)

541

9.5.5 Konfigurieren von ODBC-Verbindungen

542

9.6 Zugriff auf Fremdformate

542

9.6.1 dBASE III/IV- und FoxPro-Datenbanken

543

9.6.2 Textdateien (TXT/ASC/CSV)

547

9.7 Einbinden externer Tabellen

551

9.7.1 Verwenden der DAO

551

9.7.2 Verwenden der ADOX

553

9.8 Exportieren von Daten

555

9.8.1 TransferDatabase-Methode

555

9.8.2 Exportieren mit SQL-Anweisungen

556

9.9 Replizieren von Datenbanken

556

9.10 Optimierung

557

9.10.1 Indizes

557

9.10.2 Abfrage-Optimierung

557

9.10.3 Weitere Möglichkeiten

558

9.10.4 ADO/DAO/ODBC – Was ist schneller?

559

9.11 Tipps & Tricks

561

9.11.1 Wie prüft man die ADO-Versionsnummer?

561

9.11.2 Access-Datenbanken exklusiv öffnen

561

9.11.3 Access-Datenbanken im Netzwerk

562

9.11.4 Alle aktiven Verbindungen zur Datenbank auflisten

562

9.11.5 Das Datenbank-Kennwort ändern

563

9.11.6 Abfragen über mehrere Datenbanken

564

9.11.7 Datenbanken reparieren/komprimieren

564

10 Microsoft SQL Server

566

10.1 Ein erster Schock ...

566

10.2 Allgemeines

567

10.2.1 SQL Server LocalDB

568

10.2.2 SQL Server Express

569

10.2.3 Unterschiede SQL Server-Varianten/Jet-Engine

570

10.2.4 Client- versus Fileserver-Programmierung

572

10.2.5 Installation SQL Server Express

574

10.2.6 Netzwerkzugriff für den SQL Server Express

578

10.2.7 Die wichtigsten Tools von SQL Server

580

10.2.8 Vordefinierte Datenbanken

583

10.2.9 Einschränkungen

584

10.2.10 Weitere SQL Server-Funktionen im Kurzüberblick

585

10.2.11 Datenbanken verwalten

586

10.3 Transact-SQL – die Sprache des SQL Servers

588

10.3.1 Schreibweise

588

10.3.2 Kommentare

589

10.3.3 Zeichenketten

589

10.3.4 Variablen deklarieren/verwenden

590

10.3.5 Bedingungen mit IF/ELSE auswerten

591

10.3.6 Verwenden von CASE

592

10.3.7 Verwenden von WHILE…BREAK/CONTINUE

592

10.3.8 Datum und Uhrzeit in T-SQL

593

10.3.9 Verwenden von GOTO

593

10.4 Praktisches Arbeiten mit dem SQL Server

594

10.4.1 Erstellen neuer SQL Server-Datenbanken

594

10.4.2 Erzeugen und Verwalten von Tabellen

595

10.4.3 Erzeugen und Verwenden von Sichten (Views)

596

10.4.4 Verwenden von Gespeicherten Prozeduren

598

10.4.5 Programmieren von Triggern

602

10.4.6 Erzeugen von Datenbankdiagrammen

606

10.4.7 Volltextabfragen

607

10.4.8 Datenbanken sichern und wiederherstellen

613

10.5 Fehlerbehandlung

616

10.5.1 Das Fehlermodell des SQL Servers

617

10.5.2 Verwenden von @@ERROR

617

10.5.3 Verwenden von RAISEERROR

618

10.5.4 Fehlerbehandlung mit TRY...CATCH

619

10.5.5 Fehlerbehandlung mit den ADO

621

10.6 Datensicherheit auf dem Microsoft SQL Server

623

10.6.1 Überblick Sicherheitsmodell

624

10.6.2 Verwalten mit dem SQL Server Management Studio

626

10.6.3 Verwalten mit T-SQL

630

10.7 Tipps & Tricks

633

10.7.1 Alle registrierten Microsoft SQL Server ermitteln

633

10.7.2 Alle Datenbanken ermitteln

634

10.7.3 Alle Tabellen ermitteln

634

10.7.4 Eine Tabelle löschen

635

10.7.5 Anzahl der Datensätze beschränken

636

10.7.6 Platzhalterzeichen in TSQL

637

10.7.7 Leerzeichen entfernen

637

10.7.8 Teilstrings erzeugen

637

10.7.9 Mit einer Datenbankdatei verbinden

638

10.7.10 Warum wird @@ERROR nicht korrekt verarbeitet?

639

10.7.11 Die Anzahl der Datensätze bestimmen

639

10.7.12 Warum sind Abfragen mit Platzhaltern so langsam?

639

10.7.13 Groß-/Kleinschreibung berücksichtigen

640

10.7.14 Das Ergebnis einer Stored Procedure speichern

640

10.7.15 Eine Datenbank umbenennen

640

10.7.16 Eine Datenbank zwischen Servern verschieben

641

10.7.17 Die Datenbankstruktur kopieren

642

10.7.18 Nach dem Löschen IDENTITY auf 0 setzen

643

10.7.19 Eine Tabellenspalte umbenennen

643

10.7.20 Temporäre Tabellen unterscheiden

643

10.7.21 Daten aus verschiedenen Datenbanken anzeigen

644

10.7.22 Einen SMO-Mapper realisieren

644

10.8 Übersichten

649

10.8.1 Datentypen

649

10.8.2 Unterschiede Access- und SQL Server-Datentypen

650

11 Access und Azure SQL

652

11.1 Einführung in SQL Azure-Datenbanken

653

11.1.1 Das Grundprinzip der "Webdatenbank"

653

11.1.2 Der Azure-Server

655

11.1.3 Die Frage nach den Kosten

656

11.2 Einrichten des Servers

657

11.2.1 Die zentrale Organisationsstruktur

658

11.2.2 Einen Server und eine Datenbank erstellen

659

11.2.3 IP-Filter konfigurieren

663

11.2.4 Bemerkungen zum neu erstellten Account

664

11.2.5 Die drei konzeptionellen Zugriffsmodelle

664

11.3 Administrieren von Azure SQL-Datenbanken

667

11.3.1 Zugriff mit dem SQL Server Management Studio

667

11.3.2 Weitere Accounts erstellen

669

11.3.3 Lokale Datenbanken migrieren

672

11.3.4 Migrieren von Access-Datenbanken

675

11.4 Praktische Umsetzung in Access

677

11.4.1 Tabellen einbinden

678

11.4.2 DAO- oder ADO-Zugriff – keine Frage!

681

11.4.3 Unsere AzureSQL-Library

681

11.4.4 Verbindung mit ADO aufbauen

682

11.4.5 Datenbank erstellen

686

11.4.6 Ist die Datenbank schon vorhanden?

687

11.4.7 Den aktuellen "Füllstand" abrufen

688

11.4.8 Was passiert, wenn die Datenbank zu klein wird?

691

11.4.9 Eine Datenbankkopie erstellen

691

11.4.10 Tabelle(n) erstellen

692

11.4.11 Daten exportieren

693

11.4.12 Daten einbinden

694

11.4.13 Daten lesen

695

11.4.14 Daten schreiben

696

11.5 Abschließende Hinweise

697

11.5.1 Synchronisieren

697

11.5.2 Performance-Tipps

698

11.5.3 Die Firewall per T-SQL konfigurieren

698

11.5.4 Arbeiten mit sqlcmd

700

11.6 Fazit

700

12 Zugriff auf SQLite

702

12.1 Was eigentlich ist SQLite?

703

12.1.1 Vorteile

703

12.1.2 Nachteile

704

12.2 Vorbereitungen

704

12.2.1 Download/Installation des ODBC-Treibers

705

12.2.2 Download/Installation SQLite for Excel

706

12.3 Datenbank-Tools

707

12.3.1 Database .NET

707

12.3.2 SQLite Administrator

709

12.4 Praktische Aufgabenstellungen

710

12.4.1 Einbinden von SQLite-Tabellen per Assistent

710

12.4.2 Einbinden von SQLite-Tabellen per VBA-Code

711

12.4.3 Datenbank per Code erstellen

712

12.4.4 Tabellen erzeugen

713

12.4.5 Datenbankzugriff per ADO realisieren

715

12.4.6 Die Bedeutung von Transaktionen bei SQLite

716

12.4.7 SOUNDEX verwenden

717

12.4.8 Volltextabfragen realisieren

718

12.5 Praxisbeispiele

721

12.5.1 Verwenden der Volltextsuche

721

12.5.2 Implementieren der Klasse SQLiteDatabase

726

12.5.3 Verwenden der Klasse SQLiteDatabase

736

12.6 Tipps & Tricks

738

12.6.1 Für Liebhaber der Kommandozeile – Sqlite3.exe

738

12.6.2 Eine SQLite-Datenbank reparieren

740

12.6.3 Eine Beispieldatenbank herunterladen

741

12.6.4 Testen ob Tabelle vorhanden ist

741

12.6.5 Die Datenbank defragmentieren

741

12.6.6 Mehrere Datenbanken verknüpfen

742

12.6.7 Eine Abfrage/Tabelle kopieren

742

12.6.8 Ein Backup implementieren

743

12.6.9 Tabellen zwischen Datenbanken kopieren

743

12.6.10 Ersatz für TOP

743

12.6.11 Metadaten auswerten

744

12.6.12 Timestamp als Defaultwert verwenden

745

12.6.13 Export in XML-Format

746

12.7 Fazit

746

13 Dateien und Verzeichnisse

750

13.1 Allgemeines

750

13.1.1 ANSI/ASCII/Unicode

750

13.1.2 Gemeinsamer Dateizugriff

751

13.1.3 Verwenden der File System Objects

751

13.2 Zugriff auf das Dateisystem

753

13.2.1 Ermitteln aller Laufwerke und deren Eigenschaften

753

13.2.2 Ermitteln aller Verzeichnis-Eigenschaften

754

13.2.3 Auflisten aller Unterverzeichnisse eines Folders

755

13.2.4 Rekursiv alle Unterverzeichnisse auflisten

756

13.2.5 Ein Verzeichnis erzeugen

757

13.2.6 Das Datenbankverzeichnis bestimmen

758

13.2.7 Abfragen des Temp-/System/...-Verzeichnisses

758

13.2.8 Prüfen, ob eine Datei existiert

759

13.2.9 Verzeichnisse/Dateien kopieren/löschen

760

13.2.10 Auflisten aller Dateien eines Verzeichnisses

760

13.2.11 Name, Pfad und Extension einer Datei ermitteln

761

13.2.12 Einen Tempfile-Namen erzeugen

763

13.3 Textdateien

763

13.3.1 Klassischer Zugriff auf Textdateien

764

13.3.2 Zugriff auf Textdateien mit den File System Objects

766

13.4 Typisierte Dateien

769

13.4.1 Öffnen

769

13.4.2 Lesen/Schreiben

769

13.5 Weitere Dateien

771

13.5.1 Binärdateien

771

13.5.2 INI-Dateien

772

13.6 Die Registrierdatenbank

774

13.6.1 Einführung

774

13.6.2 API/VBA-Zugriff auf die Registrierungsdatenbank

775

13.6.3 API-Konstanten/Funktionen für den Registry-Zugriff

776

13.6.4 Prüfen, ob ein Schlüssel existiert

778

13.6.5 Einen vorhandenen Wert auslesen

778

13.6.6 Einen Schlüssel erstellen

779

13.6.7 Einen Wert setzen bzw. ändern

780

13.6.8 Einen Schlüssel löschen

780

13.6.9 Ein Feld löschen

780

13.6.10 Aufruf der Funktionen

781

13.7 Dateidialoge

783

13.7.1 Variante 1 (Office 16 Library)

784

13.7.2 Variante 2 (Windows-API)

786

13.7.3 Verzeichnisdialog (Windows-API)

791

13.8 Übersichten

793

13.8.1 Dateifunktionen in Access

793

13.8.2 FSO-Eigenschaften und -Methoden

794

13.9 Praxisbeispiele

795

13.9.1 Auf eine Textdatei zugreifen

795

13.9.2 Dateien suchen

800

13.9.3 Die Shellfunktionen verwenden

802

13.9.4 Einen Verzeichnisbaum in eine TreeView einlesen

807

14 XML in Theorie und Praxis

808

14.1 XML – etwas Theorie

808

14.1.1 Allgemeines

808

14.1.2 Der XML-Grundaufbau

811

14.1.3 Wohlgeformte Dokumente

812

14.1.4 Processing Instructions (PI)

814

14.1.5 Elemente und Attribute

815

14.1.6 Verwendbare Zeichensätze

816

14.2 XSD-Schemas

818

14.2.1 Das Grundprinzip

818

14.2.2 Ein XSD-Schema mit Microsoft Access erzeugen

820

14.3 XML-Verarbeitung mit dem DOM

824

14.3.1 Was ist das DOM?

824

14.3.2 Erste Schritte

825

14.3.3 Erzeugen von Instanzen

826

14.3.4 Laden von Dokumenten

827

14.3.5 XML-Fehlerprüfung/-Analyse

828

14.3.6 Erzeugen von XML-Dokumenten

830

14.3.7 Auslesen von XML-Dateien

832

14.3.8 Einfügen von Informationen

835

14.3.9 Attribute oder Element

838

14.3.10 Suchen in den Baumzweigen

841

14.3.11 Das Interpretieren von Leerzeichen

844

14.4 XML-Integration in Access

847

14.4.1 Importieren

847

14.4.2 Exportieren

850

14.4.3 XML-Transformation mit XSLT

854

14.4.4 Application-Objekt (ImportXML/ExportXML)

857

14.4.5 ADO-Recordset

860

14.5 Vor- und Nachteile von XML

862

14.5.1 Grundsätzlicher Vergleich

863

14.5.2 Zeitvergleich ADO/XML

863

14.6 Praxisbeispiele

865

14.6.1 Speichern im UTF-8-/UTF-16-Format

865

14.6.2 UTF-8-/UTF-16 aus einem ADO-Stream laden

867

14.6.3 XML-Daten asynchron verarbeiten

869

14.6.4 XML-Daten in einer TreeView darstellen

871

14.6.5 Navigieren zwischen einzelnen XML-Baumknoten

874

14.6.6 ADO-XML-Streams nachbearbeiten

877

14.6.7 Textdaten in XML-Dokumente umwandeln

880

15 SQL im Einsatz

882

15.1 Einführung

882

15.1.1 SQL-Dialekte

883

15.1.2 Kategorien von SQL-Anweisungen

883

15.2 Etwas (Datenbank-)Theorie

885

15.2.1 Allgemeines/Begriffe

885

15.2.2 Normalisieren von Tabellen

890

15.2.3 Beziehungen zwischen den Tabellen

895

15.2.4 Verknüpfen von Tabellen

897

15.3 Testprogramm und Beispieldatenbank

901

15.3.1 Hinweise zur Bedienung

901

15.3.2 Die Beispieldatenbank im Überblick

901

15.3.3 ADO Query

902

15.3.4 Bemerkungen

903

15.4 Daten abfragen

904

15.4.1 Abfragen mit SELECT

905

15.4.2 Alle Spalten auswählen

905

15.4.3 Auswahl der Spalten

906

15.4.4 Filtern

907

15.4.5 Beschränken der Ergebnismenge

913

15.4.6 Eindeutige Records/doppelte Datensätze

914

15.4.7 Tabellen verknüpfen

915

15.4.8 Tabellen vereinigen

918

15.4.9 Datensätze sortieren

919

15.4.10 Datensätze gruppieren

919

15.4.11 Unterabfragen

921

15.4.12 Anlage-Felder mit SQL verwalten

925

15.4.13 History-Felder mit SQL abfragen

927

15.4.14 Mehrwertige Felder mit SQL abfragen

929

15.5 Daten manipulieren

930

15.5.1 Einfügen einzelner Datensätze

931

15.5.2 Einfügen von Abfragedaten

932

15.5.3 Exportieren/Importieren von Abfragedaten

934

15.5.4 Aktualisieren/Ändern

936

15.5.5 Löschen

937

15.6 Erweiterte SQL-Funktionen

938

15.6.1 Berechnete/Formatierte Spalten

939

15.6.2 Berechnungsfunktionen

945

15.6.3 NULL-Werte

946

15.6.4 Datum und Zeit in SQL-Abfragen

948

15.6.5 Datentypumwandlungen

953

15.6.6 Kreuztabellenabfragen

954

15.6.7 Steuerelemente in Abfragen verwenden

957

15.6.8 Globale Variablen in Abfragen verwenden

958

15.7 Datenbankverwaltung mit SQL (DDL)

958

15.7.1 Datenbanken

959

15.7.2 Tabellen

959

15.7.3 Indizes

960

15.7.4 Tabellen/Indizes löschen oder verändern

963

15.7.5 Sichten (Views)

963

15.7.6 Nutzer- und Rechteverwaltung

965

15.7.7 Transaktionen

965

15.8 SQL in der Access-Praxis

966

15.8.1 SQL in Abfragen

966

15.8.2 SQL im Basic-Code

967

15.8.3 SQL beim Oberflächenentwurf

969

15.8.4 VBA-Funktionen in SQL-Anweisungen

969

15.9 Tipps & Tricks

971

15.9.1 Wie kann ich die Anzahl der Datensätze ermitteln?

971

15.9.2 Wie nutze ich Datumsteile in SQL zur Suche?

972

15.9.3 Die Groß-/Kleinschreibung berücksichtigen

972

15.9.4 Warum erhalte ich zu viele Datensätze ?

973

15.9.5 Doppelte Datensätze aus einer Tabelle löschen

974

15.10 Praxisbeispiele

975

15.10.1 Ein komfortables SQL-Abfrageprogramm erstellen

975

15.10.2 Datum und Zeit in SQL einbauen

977

16 Anwendungsdesign

980

16.1 Access-Oberflächengestaltung

980

16.1.1 Beschriften der Kopfzeile

981

16.1.2 Informationen in der Statuszeile anzeigen

983

16.1.3 Fortschrittsanzeige mit dem Progressbar realisieren

984

16.1.4 Navigationsbereich konfigurieren

985

16.1.5 Access-Hauptfenster komplett ausblenden

991

16.2 Steuern der Anwendung

994

16.2.1 Autostart mit AutoExec-Makro

994

16.2.2 Formulare automatisch starten

996

16.2.3 Warten auf das Ende

996

16.2.4 Access per VBA beenden

997

16.2.5 Den Runtime-Modus aktivieren

997

16.2.6 Befehlszeilen-Optionen verwenden

998

16.3 Entwickeln von Assistenten und Add-Ins

1000

16.3.1 Assistenten-Typen

1000

16.3.2 Einbinden der Assistenten in die Access-IDE

1000

16.3.3 Menü-Assistent (Beispiel)

1002

16.3.4 Objekt-Assistent (Beispiel)

1004

16.3.5 Steuerelemente-Assistent (Beispiel)

1008

16.3.6 Eigenschaften-Assistent

1011

16.4 Entwickeln/Einbinden von Managed Add-Ins

1012

16.4.1 Interaktion Anwendung/Add-In

1012

16.4.2 Entwurf des Add-Ins

1013

16.4.3 Oberfläche

1015

16.4.4 Der Quellcode des Add-Ins

1016

16.4.5 Formularentwurf für das Add-In

1018

16.4.6 Kompilieren und Einbinden

1018

16.4.7 Testen

1019

16.5 Libraries unter Access

1020

16.5.1 Erstellen und Einbinden

1020

16.5.2 Debugging

1021

16.5.3 Einfaches Beispiel

1022

16.5.4 Hinweise

1024

16.6 Praxisbeispiele

1025

16.6.1 Mehr über die aktuelle Access-Version erfahren

1025

16.6.2 Access neu starten/Datenbank neu laden

1026

16.6.3 Mit Reference-Objekten arbeiten

1027

16.6.4 Benutzerdefinierte Eigenschaften einsetzen

1031

16.6.5 Den aktuellen Datenbanknutzer ermitteln

1035

16.6.6 Überlappende Fenster einstellen

1035

16.6.7 Access-Optionen abrufen/setzen

1036

17 Menüband und Backstage

1038

17.1 Allgemeine Grundlagen

1038

17.1.1 Manuelle Konfigurationsmöglichkeiten

1039

17.1.2 Grundprinzip der Programmierung

1040

17.1.3 Verwenden der Tabelle USysRibbons

1042

17.1.4 Application.LoadCustomUI als Alternative

1043

17.2 Ein kleines Testprogramm

1043

17.3 Praktische Aufgabenstellungen

1045

17.3.1 Infos über Steuerelemente und Symbole erhalten

1045

17.3.2 Hauptregisterkarten ausblenden

1047

17.3.3 Einzelne Registerkarten ausblenden

1048

17.3.4 Einzelne Gruppen ausblenden

1049

17.3.5 Registerkarten, Gruppen und Schaltflächen einfügen

1050

17.3.6 Ereignisbehandlung mit VBA-Code/Makros

1052

17.3.7 Verändern von Eigenschaften mit VBA-Callbacks

1053

17.3.8 Aktualisieren des Menübands per VBA-Code

1053

17.3.9 Kontextabhängige Registerkarten

1054

17.3.10 Registerkarten per VBA aktivieren

1055

17.3.11 Fehlermeldungen des Menübands anzeigen

1056

17.3.12 Vorhandene Funktionen des Menübands ändern

1056

17.3.13 Die Schnellzugriffsleiste erweitern/programmieren

1057

17.4 Übersicht der Steuerelemente

1058

17.4.1 labelControl-Steuerelement

1058

17.4.2 Steuerelement

1058

17.4.3 Steuerelement

1062

17.4.4 toggleButton-Steuerelement

1063

17.4.5 buttonGroup-Steuerelement

1064

17.4.6 checkBox-Steuerelement

1065

17.4.7 editBox-Steuerelement

1066

17.4.8 Steuerelement

1067

17.4.9 dropDownElement-Steuerelement

1071

17.4.10 gallery-Steuerelement

1074

17.4.11 menu-Steuerelement

1076

17.4.12 splitButton-Steuerelement

1079

17.4.13 dialogBoxLauncher

1080

17.5 Die Backstage-Ansicht anpassen

1082

17.5.1 Die Standardansicht verändern

1083

17.5.2 Die drei möglichen Layouts für Registerkarten

1085

17.5.3 Die neuen Möglichkeiten von Gruppen

1092

17.5.4 Verwenden von LayoutContainern

1094

17.5.5 Das Verhalten der Schaltflächen beeinflussen

1095

17.5.6 Mit VBA/Makros auf Ereignisse reagieren

1096

17.6 Tipps & Tricks

1097

17.6.1 Die guten alten Access 2003-Menüs anzeigen

1097

17.6.2 Das Office-Menü für Access 2007 anpassen

1099

17.6.3 XML-Daten komfortabel editieren

1100

17.6.4 Arbeiten mit dem RibbonCreator

1101

17.7 Übersichten

1102

18 Programmschnittstellen

1104

18.1 Zwischenablage

1104

18.1.1 Kopieren/Einfügen mittels DoCmd-Objekt

1104

18.1.2 Ein Clipboard-Objekt programmieren

1105

18.2 API- und DLL-Einbindung

1108

18.2.1 Allgemeines

1108

18.2.2 Und was ist mit der 64-Bit Access Version?

1109

18.2.3 Woher bekomme ich Infos über die Win32-API?

1111

18.2.4 Einbinden der Deklaration

1112

18.2.5 Wert oder Zeiger?

1114

18.2.6 Übergabe von Strings

1115

18.2.7 Verwenden von As Any

1116

18.2.8 Übergabe von Arrays

1116

18.2.9 Besonderheiten mit Records

1117

18.2.10 Zuordnen der Datentypen

1119

18.3 OLE/ActiveX

1120

18.3.1 Überblick

1120

18.3.2 OLE

1121

18.3.3 Übersicht zum Objektfeld-Steuerelement

1122

18.3.4 Programmieren mit dem Objektfeld

1125

18.3.5 ActiveX-Code-Komponenten (OLE-Automation)

1128

18.3.6 Programmieren mit ActiveX-Code-Komponenten

1129

18.4 DDE

1131

18.4.1 Funktionsprinzip

1131

18.4.2 Verwenden von Steuerelementen

1132

18.4.3 VBA-Programmierung

1133

18.5 Scanner-Unterstützung per WIA

1135

18.5.1 Was kann WIA?

1135

18.5.2 Installation/Vorbereitung

1135

18.5.3 Einstieg mit kleiner Beispielanwendung

1136

18.5.4 Reagieren auf das Verbinden/Trennen von Geräten

1137

18.5.5 Ermitteln der verfügbaren Geräte

1138

18.5.6 Anzeige der Geräteeigenschaften

1138

18.5.7 Ein Bild einlesen

1140

18.5.8 Bild(er) drucken (Assistent)

1141

18.5.9 Den Scanner-Assistent aufrufen

1142

18.5.10 Grafikbearbeitung

1143

18.6 Zugriff auf Excel-Arbeitsmappen

1145

18.6.1 Zugriffsmöglichkeiten

1145

18.6.2 TransferSpreadsheet

1146

18.6.3 Import/Export per DAO

1150

18.6.4 Daten auslesen

1154

18.6.5 Zugriff auf Tabellenbereiche

1156

18.6.6 OLE-Automation

1157

18.7 Praxisbeispiele

1160

18.7.1 Eine externe Anwendung starten

1160

18.7.2 Informationen über das aktuelle System ermitteln

1162

18.7.3 Das aktuelle Betriebssystem ermitteln

1165

18.7.4 Den Windows-Lizenznehmer ermitteln

1168

18.7.5 Zeitmessungen in Access durchführen

1170

18.7.6 Microsoft Word über ActiveX steuern

1174

18.7.7 Microsoft Excel über ActiveX steuern

1178

Index

1180

 

© 2009-2024 ciando GmbH