Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

VBA-Schulung 2003-03-27/28Makros in der Standard-DB2 Makros in der Standard-Datenbank.

Ähnliche Präsentationen


Präsentation zum Thema: "VBA-Schulung 2003-03-27/28Makros in der Standard-DB2 Makros in der Standard-Datenbank."—  Präsentation transkript:

1

2 VBA-Schulung /28Makros in der Standard-DB2 Makros in der Standard-Datenbank

3 VBA-Schulung /28Makros in der Standard-DB3 Auto-Makros Auto-Makros werden in bestimmten Fällen automatisch von orgData aufgerufen (es sind keine Events) AutoOpen  Beim Starten von orgData AutoClose  Beim Schliessen von orgData CloseRequest  „Kurz“ vor dem Schliessen von orgData ModeChanged  beim Wechsels vom Benutzer- in den Konfigurationsmodus und umgekehrt, auch beim Starten der Datenbank Auto-Makros müssen sich im Modul Macros befinden

4 VBA-Schulung /28Makros in der Standard-DB4 Modul Macros Nur Prozeduren aus den Modulen Macros und UserMacros können mit Schaltflächen verknüpft oder im Menü Aktionen angezeigt werden. Die zu verknüpfende Prozedur muss als öffentlich (Public) deklariert sein. Public Sub ShowAlarms() Eigene Erweiterungen sollten im Modul UserMacros untergebracht werden

5 VBA-Schulung /28Makros in der Standard-DB5 ButtonMacros Ein „Zwischenmodul“ Hinzugefügt, um das Modul Macros zu „entlasten“ Im Modul Macros hauptsächlich nur Aufrufe der entsprechenden Prozeduren aus ButtonMacros Möglichkeit der Parametrisierung, z.B. : ButtonMacros.DialNumber "Telefon1()"

6 VBA-Schulung /28Makros in der Standard-DB6 Module Weitere Module: AdminTools: Administrator-Tools GlobalDefs: Deklarationen von globalen Objektvariablen und Konstanten IconTools: Tools für Icons und Schaltflächen ImageListTools: Tools für Abbildungslisten Invoicing: Aufrufmodul für Fakturierungsfunktionen MarkTools: Tools für Markierungen Quicksort: Sortieralgorithmus Registry: Funktionen für den Zugriff auf die Registry Tools: Allgemeine, von mehreren Modulen/Klassen benutzte Tools WinAPI: Funktionen für den Zugriff auf die windows-API (Application Programming Interface)

7 VBA-Schulung /28Makros in der Standard-DB7 CDatabaseSupport CDatabaseSupport: Hilfsklasse mit mehreren allgemeinen unterstützenden Prozeduren, u.a. für das Füllen von Comboboxen mit allen... Feldern einer Tabelle: LoadFieldsCombobox Indezes einer Tabelle: LoadIndexesCombobox Tabellen: LoadTablesCombobox Werten einer persistenten (Feld-)Variable: LoadPersVarsCombobox Datenbank-Benutzern: LoadUsersCombobox Benutzer-Markierungen: LoadUserMarksCombobox Summierungsausdrücken: LoadSumExpressionsCombobox

8 VBA-Schulung /28Makros in der Standard-DB8 CDatabaseSupport Beispiel für LoadXXXComboBox: Neues Formular erstellen FDatabaseSupportExample: cboTables cboFields cboIndexes cboUsers cboCreditCard cmdClose

9 VBA-Schulung /28Makros in der Standard-DB9 CDatabaseSupport Private Sub UserForm_Initialize() InitGlobalObjects With gobjDatabaseSupport.LoadTablesCombobox cboTables.LoadUsersCombobox cboUsers.LoadPersVarsCombobox Database.Parser.PersistVars("lt_Kreditkarte"), cboCreditCard End With End Sub

10 VBA-Schulung /28Makros in der Standard-DB10 CDatabaseSupport Private Sub cboTables_Click() With gobjDatabaseSupport.LoadFieldsCombobox Database.Tables(cboTables.Value), cboFields.LoadIndexesCombobox Database.Tables(cboTables.Value), cboIndexes End With End Sub Private Sub cmdClose_Click() Me.Hide End Sub

11 VBA-Schulung /28Makros in der Standard-DB11 CDatabaseSupport LoadXXXComboBox: Als Parameter kann anstatt einer ComboBox auch eine ListBox übergeben werden

12 VBA-Schulung /28Makros in der Standard-DB12 CDatabaseSupport GetItem(pTable As OrgDbServer31.Table) Liefert eine den aktuellen Datensatz identifizierende Zeichenkette, z. B. den Namen für Adressen oder Betreff für Dokumente. Der auszuwertende Ausdruck sollte sich für jede Tabelle in der Tabelleneigenschaft "ItemExpression" befinden.

13 VBA-Schulung /28Makros in der Standard-DB13 CDatabaseSupport GetItemName(pTable As OrgDbServer31.Table) Liefert eine Bezeichnung für Datensätze der übergebenen Tabelle, z. B. "Adresse" für die Tabelle "Adressen" Die Bezeichnung sollte sich für jede Tabelle in der Tabelleneigenschaft "ItemName" befinden.

14 VBA-Schulung /28Makros in der Standard-DB14 CDatabaseSupport GetItem und GetItemName testen txtItemName txtItem

15 VBA-Schulung /28Makros in der Standard-DB15 CDatabaseSupport Private Sub cboTables_Click() Dim tbl As OrgDbServer31.Table Set tbl = Database.Tables(cboTables.Value) With gobjDatabaseSupport.LoadFieldsCombobox tbl, cboFields.LoadIndexesCombobox tbl, cboIndexes txtItem.Text =.GetItem(tbl) txtItemName.Text =.GetItemName(tbl) End With End Sub

16 VBA-Schulung /28Makros in der Standard-DB16 CConfig CConfig: Hilfsklasse mit Prozeduren für das Lesen und Schreiben von: Benutzer-, Tabellen- oder Datenbank- Eigenschaften

17 VBA-Schulung /28Makros in der Standard-DB17 CConfig Read- / WritePrivateSetting Private Benutzereigenschaften Nur für den aktuellen Benutzer Read- / WriteTableSetting Tabelleneigenschaften Schreiben nur mit Datenbankverwaltungsrechten Read- / WriteDatabaseSetting Datenbankeigenschaften Schreiben nur mit Datenbankverwaltungsrechten

18 VBA-Schulung /28Makros in der Standard-DB18 CConfig Read- / WriteXXXSetting werden benutzt um dauerhaft Einstellungen zu speichern. Insbesondere Read- / WritePrivateSetting werden benutzt um Benutzereinstellungen zu speichern Beispiel: FUserSettings.SaveSettings

19 VBA-Schulung /28Makros in der Standard-DB19 CTableProperties CTableProperties: Speichert die aktuellen Tabelleneinstellungen und stellt sie wieder her Folgende Einstellungen werden gespeichert: Aktueller Datensatz Sichtbare Datensätze (alle / nur markierte / nur nicht markierte) Aktueller Index

20 VBA-Schulung /28Makros in der Standard-DB20 CTableProperties CTableProperties benutzen wir, wenn wir in einer Tabelle Informationen aus anderen Datensätzen benötigen, dem Benutzer jedoch seine aktuelle Ansicht nicht verändern wollen. Bsp: CInvoicing.UpdateTurnover

21 VBA-Schulung /28Makros in der Standard-DB21 CTableProperties Dim objProp As New CTableProperties ' Aktuelle Einstelungen merken objProp.Init gTables.GetTable(dbtblArtikel) objProp.Save ' diverse Aktionen durchführen... With gTables.GetTable(dbtblArtikel).Indexes.SetActiveIndex "ID", ORGDB_NAV_NOEVENTS.SetShowMarked True, ORGDB_NAV_NOEVENTS.SetShowNotMarked True, ORGDB_NAV_NOEVENTS.GoTop ORGDB_NAV_NOEVENTS... End With ' Einstellungen wiederherstellen objProp.Restore

22 VBA-Schulung /28Makros in der Standard-DB22 CTables CTables kapselt die Namen der Tabellen in der Datenbank Dank der Auflistung CTablesDatabaseTablesEnum und Intellisense können wir schneller Quellcode schreiben: gTables.GetTable(dbtblAktivitäten)

23 VBA-Schulung /28Makros in der Standard-DB23 CApplications, CAppX CApplications kapselt den Aufruf von anderen Anwendungen über COM Wird aufgerufen von den spezifischen Klassen CAppOutlook CAppPhone CAppPrint CAppWord Diese Klassen kapseln spezifische Funktionen der jeweiligen Anwendung

24 VBA-Schulung /28Makros in der Standard-DB24 COrgDataEvents COrgDataEvents: Fängt OrgData-Events ab Ermöglich die Überlagerung und Deaktivierung von Standard-Menüeinträgen Prozedur mOrgData_Command: Ausführung von eigenen Makros, über einen Parameter kann bestimmt werden, ob das Standard-Verhalten ausgeführt werden soll Prozedur mOrgData_CommandAvailable: Deaktivierung von Menüpunkten, wenn Menüpunkte nur bei Erfüllung von bestimmten Bedingungen zur Verfügung stehen sollen

25 VBA-Schulung /28Makros in der Standard-DB25 Haben Sie Fragen?

26 VBA-Schulung /28Makros in der Standard-DB26 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "VBA-Schulung 2003-03-27/28Makros in der Standard-DB2 Makros in der Standard-Datenbank."

Ähnliche Präsentationen


Google-Anzeigen