Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ADAT©2005 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Programmierung in Access - VBA.

Ähnliche Präsentationen


Präsentation zum Thema: "ADAT©2005 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Programmierung in Access - VBA."—  Präsentation transkript:

1 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Programmierung in Access - VBA

2 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 2 Version 1.0a Grundsätzliches Automatisierung von Abläufen VBA Visual Basic for Application –nahezu identisch mit VB 6.0 –wesentliche Unterschiede zu VB.net –Ereignis gesteuerte Programmierung 3 Komponenten –Entwicklungsumgebung Kein Macro Recorder Viele Komfortfunktionen –Sprache Visual Basic ist leicht zu lernen Viele Analogien zu anderen Programmiersprachen –Objektmodell Für jedes MS Office Modul ähnlich aber anders VB - Hilfe verwenden

3 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 3 Version 1.0a Entwicklungsumgebung Doppelclick auf Modul / Alt+F11 Project (Projektmanager) –Access - Klassenobjekte (z.B. Formular) –Module (z.B.: ModHilf) - benutzererstellt –Klassenmodule Code Bereich - 1 Fenster je Modul –2 Dropdown Boxen (Objekte, Ereignisse / Prozeduren) –Einzel Prozedur / Gesamtmodulanzeige unterer linker Rand

4 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 4 Version 1.0a Entwicklungsumgebung FS Eigenschaftenfenster –Name bzw. Formulareigenschaften bei Access - Klassenobjekten Direktfenster –Ausgaben aus Modulen mit debug.print –Direkte Befehlseingabe ?.. print Beispiel: Ausgabe von Datum und Zeit –Sub - Prozedurunterprogramm –Befehle: MsgBox, Strings, Verkettung, Variablen - definition, eingebaute Konstante, Fortsetzungszeile –Strg+Leertaste - Code Completion –Funktion Msgbox aufrufen (ohne / mit Parametern in Klammern) –debug.print - Ergebnis in Direktfenster –Parameterinfo - Toolbar "Bearbeiten" –Hilfe - F1

5 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 5 Version 1.0a Entwicklungsumgebung FS 2 VBA ist "case insensitiv" - automatische Anpassung der Schreibweise Variable können, müssen aber nicht deklariert werden (impliziter Typ: Variant) Kontextmenü -> Definition springt zur Definition der Variablen (oder Meldung) Syntaxfehler werden sofort erkannt Ausführen von Prozedurunterprogrammen (, F5)

6 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 6 Version 1.0a Entwicklungsumgebung FS 3 Testen –2. Beispiel: Schleife –Auskommentieren: Zeichen: ' oder Toolbarfunktionen (Bearbeiten) –Bearbeiten -> Suchen / Ersetzen –Haltepunkte –Toolbar Debuggen Einzelschritt, Prozedurschritt, Weiter, Abbrechen Position verschieben Codeänderungen vornehmen Direktfensterüberprüfungen –Überwachungsfenster Menüfunktion: Überwachung hinzufügen –Lokal - Fenster

7 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 7 Version 1.0a Entwicklungsumgebung FS 4 Auflistungen bearbeiten –Objekt - Katalog (F2) –Objekttypendeklaration statisch dynamisch –For Each... Next zum Durchlaufen von Auflistungen –"." und "!" Notation "." bei Verweis auf eingebaute Unterobjekte "!" bei Verweis auf Userdefinierte Objekte

8 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 8 Version 1.0a Entwicklungsumgebung FS 4 Konstante –Erste 2 Buchstaben - Verweis auf Bibliothek ac - Access z.B.: acTextBox als Controltyp vb - Visual Basic z.B.: vbOkCancel ad - ADO z.B. adAddNew Zuweisungen –Variable: "=" –Objektreferenzen: "set" –Benannte Parameter ":="

9 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 9 Version 1.0a Sprache Variable –Name 1. Buchstabe danach Alphanumerische Zeichen oder "_" –Groß- und Kleinschreibung zur Lesbarkeit einsetzen (z.B.: FehlerMeldung) –Automatische Deklaration und Initialisierung –Empfehlung: Am Beginn der Prozedur deklarieren. Erzwingbar mit "Option Explicit" am Modulanfang –Definition mit: DIM STATIC PRIVATE PUBLIC

10 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 10 Version 1.0a Sprache FS Variablen FS –Beispiel: DIM i as Integer –Datentyp nach as: Byte, Boolean, Currency (15 Stellen vor und 4 Stellen nach dem Komma), Date (8 Byte), Decimal, Double, Integer (2 Byte), Long (4 Byte), Object, Single, String, Variant –Kurzform Integer: zahl%, Long: zahllang&, Currency: String: mystr$, Double: dz# –Array: dim sarr(3,2) as string, redim sarr(5,4) –Definitionsort gibt scope an lokal (in Prozedur) - modul (in Deklarationen) - global (Public)

11 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 11 Version 1.0a Sprache FS 2 Konstante –Dezimalzahl (z.B.: 38) –Hexadezimalzahl (z.B.: &hF4) –Datum (z.B.: #1/1/2006#) –Definition mit const

12 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 12 Version 1.0a Beispiel Bilder verwalten Bilder in Datenbank Tabellen - OLE Feld (z.B.: tblKunst) –Formularassistent erzeugt ein gebundenes Objektfeld –nur BMP's direkt anzeigbar –für andere Formate wird ein OLE Server benötigt MS Photo Editor hat OLE Server MS Picture Manager (Office 2003 nicht) –Kompliziertes Einfügen Kontext Menü -> Objekt einfügen -> aus Datei erstellen -> Auswählen –Viel Platz in Tabelle benötigt

13 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 13 Version 1.0a Beispiel Bilder verwalten Bilder in Dateisystem Tabelle mit Textfeld für DateiPfad –Formular mit Assistent erzeugen –Bildsteuerelement hinzufügen –eigene Prozedur zum Anzeigen der Bilder –Aufruf der Prozedur bei Ereignissen: Beim Anzeigen des Formulars (Ereignisroutine: Current) Nach Eingabe (Nach Aktualisierung) des Dateinamens (Ereignisroutine: AfterUpdate) In Access Klassenmodul einfügen (sonst "Me" nicht verwendbar) –Kommando Schaltfläche für Fileauswahl (Achtung: Verweise hinzufügen: Microsoft Office 11.0 Object Library)

14 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 14 Version 1.0a Beispiel Bilder verwalten Bilder im Report Bild Steuerelement einfügen Ereignisroutine für beim Drucken "Detailbereich_Print" schreiben "Picture" Eigenschaft des Bildsteuerelementes auf Dateinamen aus Textfeld setzen

15 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 15 Version 1.0a Sortieren im Formular Formulareigenschaft: "Sortiert nach" (Daten) auf Feld setzen (z.B.: [PLZ]) (mehrere Felder durch "," trennen) Beim Start des Formulars: Schaltfläche "Filter/Sortierung anwenden" drücken Sortierung initialisiert das "RecordSet"

16 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 16 Version 1.0a Sortieren im Formular Programmgesteuertes Umsortieren Tabelle tblKunden erstellen (siehe Beispieldatenbank) Formular frmKunden erstellen oder generieren. –ev. in Ereignisroutine "Form_Load" die OrderByOn Eigenschaft auf "True" setzen. Kommandoschaltflächen für jede Sortierart ins Formular einfügen Ereignisroutine für "Click" Ereignis der Schaltfächen –Recordset von Formular holen –Primary Key Wert speichern –"OrderBy" Eigenschaft setzen –Im neuen Recordset zu gespeichertem Primary Key navigieren

17 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 17 Version 1.0a Mit Formulare Programmieren Ereignisse bezogen auf Formular Öffnen von Formularen –DoCmd.OpenForm (siehe frmKunden in Beispieldatenbank) Ereignisse –unüberschaubare Menge –Formular - Ereignisreihenfolge: ÖffnenSchließen Beim ÖffnenBeim Entladen Beim LadenBeim Deaktivieren Bei GrößenänderungBeim Schließen Beim Aktivieren Beim Anzeigen

18 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 18 Version 1.0a Mit Formulare Programmieren FS2 Ereignisse bezogen auf Daten Bearbeiten von Datensätzen –Beginnt vor der ersten Änderung eines Feldes –Endet mit der Speicherung des Datensatzes Ereignisreihenfolge: –Vor Eingabe (nur bei neuen Datensätzen) –Bei Geändert (Beim ersten Eingeben oder Löschen eines Zeichens) –Vor Aktualisierung (Vor der Datensatzspeicherung) –Nach Aktualisierung –Nach Eingabe –Beim Anzeigen Abbruch falls möglich mit "Cancel = True"

19 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Mit Formulare Programmieren FS3 Startformular Start Formular –Extras -> Start -> Formular / Seite anzeigen: Startformular eintragen –Nodrwind Datenbank Start -> Hauptübersicht OpenForms Funktion als Ausdruck aufgerufen (Modul Form_Hauptübersicht) Fehlerbehandlung –OnError goto.... –Resume..... –Labels

20 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 20 Version 1.0a Mit Formulare Programmieren FS4 Bestellformular Bestellungen –Bestellungen Unterformular Verknüpft über Bestellnr Formularfuß –Feld: BestellZwischensumme –Feld: Zwischensumme Berechnung aus Unterformular gesperrt angezeigt

21 ADAT©2005 Dipl. - Ing. Walter SabinSeite: 21 Version 1.0a Mit Formulare Programmieren FS5 Beziehungsarten Einfache Tabelle, Abfrage oder 1:1 Beziehung –Detailansicht oder Übersichtslisten –ev. mit "Lookup" Feldern Navigationsleiste und Bildlaufleisten erforderlich? –wenn nein: Formateigenschaften ausblenden: Bildlaufleisten -> nein, Datensatzmarkierer -> nein, Navigationsschaltflächen -> nein, Trennlinie -> nein Schaltflächen OK und Abbrechen –Ok Verlässt Formula mit Speicherung –Abbrechen Verläßt ohne Speicherung


Herunterladen ppt "ADAT©2005 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Programmierung in Access - VBA."

Ähnliche Präsentationen


Google-Anzeigen