Hallo,
ich möchte, daß ein Makro ausgelöst wird, bevor auf eine Tabelle entweder ein
1. DELETE
oder
2. UPDATE/INSERT erfolgt.
Wie schaffe ich es, dies nicht über die Ereignisse (Eigenschaften) einzelner Formulare zu verknüpfen, sondern über ein ständig laufendes Makro, das auf beide Ereignisse prüft?
Danke für Eure Tipps
Oliver
Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
Moderator: Moderatoren
-
- **
- Beiträge: 39
- Registriert: Fr, 27.11.2009 15:07
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
Die Manipulation in (HSQLDB-)Base-Tabellen lösen keine Ereignisse aus.
Es gibt Datenbanken welche die sog. Trigger unterstützen.
Gestartet werden dann aber SQL-Skripte - keine OOo-Makros.
Welche Zweck verfolgt Deine Nachfrage?
Kannst Du eine Protokollierung (handelt es sich darum?) nicht per Historie (update-timestamp, Löschkennzeichen, usw.) erstellen?
Es gibt Datenbanken welche die sog. Trigger unterstützen.
Gestartet werden dann aber SQL-Skripte - keine OOo-Makros.
Welche Zweck verfolgt Deine Nachfrage?
Kannst Du eine Protokollierung (handelt es sich darum?) nicht per Historie (update-timestamp, Löschkennzeichen, usw.) erstellen?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
-
- **
- Beiträge: 39
- Registriert: Fr, 27.11.2009 15:07
Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
Hallo,

Mein (momentanes) Problem ist, daß ich im Rahmen eines Anmeldeprozesses eine USER-ID in eine Variable geschrieben hab, deren Inhalt ich nun bei jedem INSERT/UPDATE/DELETE in das USER-ID-Feld der jeweiligen Tabelle schreiben möchte (beim DELETE erfolgt natürlich zunächst ein UPDATE und dann erst das DELETE).
Ich kann meine Makros natürlich an die entsprechenden Formularereignisse (Löschen bestätigen & Vor der Datensatzaktion) hängen, aber ich find das reichlich nervig, da ich das für jedes Formular wiederholen muß - wenn es professioneller ginge, dann wär mir das lieber.
Zu meinem Background: SQL relativ gut, funktionales Skripten (http://de.wikipedia.org/wiki/Gawk) auch ganz ordentlich, Basic & OOP hab ich erst im Rahmen von OpenOffice ein wenig kennengelernt (Buch vom Krumbein). Ich hoffe, das dies eine hilfreiche Info erleichtert???
ich verwende http://www.sqlite.org/ mit http://www.ch-werner.de/sqliteodbc/komma4 hat geschrieben:Die Manipulation in (HSQLDB-)Base-Tabellen lösen keine Ereignisse aus.
Stimmt, SQLite unterstützt dies Trigger-Dings auch - hab insgesamt 91 Stück davon in meiner Datenbankkomma4 hat geschrieben:Es gibt Datenbanken welche die sog. Trigger unterstützen.
Gestartet werden dann aber SQL-Skripte - keine OOo-Makros.

Ich benutz Trigger, um in LOG-Tables INSERT/UPDATE/DELETE zu protokollieren.komma4 hat geschrieben:Welche Zweck verfolgt Deine Nachfrage?
Kannst Du eine Protokollierung (handelt es sich darum?) nicht per Historie (update-timestamp, Löschkennzeichen, usw.) erstellen?
Mein (momentanes) Problem ist, daß ich im Rahmen eines Anmeldeprozesses eine USER-ID in eine Variable geschrieben hab, deren Inhalt ich nun bei jedem INSERT/UPDATE/DELETE in das USER-ID-Feld der jeweiligen Tabelle schreiben möchte (beim DELETE erfolgt natürlich zunächst ein UPDATE und dann erst das DELETE).
Ich kann meine Makros natürlich an die entsprechenden Formularereignisse (Löschen bestätigen & Vor der Datensatzaktion) hängen, aber ich find das reichlich nervig, da ich das für jedes Formular wiederholen muß - wenn es professioneller ginge, dann wär mir das lieber.
Zu meinem Background: SQL relativ gut, funktionales Skripten (http://de.wikipedia.org/wiki/Gawk) auch ganz ordentlich, Basic & OOP hab ich erst im Rahmen von OpenOffice ein wenig kennengelernt (Buch vom Krumbein). Ich hoffe, das dies eine hilfreiche Info erleichtert???
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
mmm, wie wäre es mit:
* schreibe den Benutzernamen (zusätzlich) in eine Datei
* setze Trigger ein, um den Inhalte dieser Datei als Spaltenwert zu setzen. Zum Lesen der Datei sollten Befehle existieren
Viel Erfolg!
(mein alternatives Vorgehen: keine Formulare verwenden! Ich benötigte bislang meist sehr einfache E/A-Dialoge, die ich mit BASIC erstellt und kontrolliert habe. Dort kannst Du dann "alles" programmieren, was Du möchtest. Einmal Routinen für Dialog, Kontrollfelder, DB-Zugriffe und Ereignisse programmiert... Historisch gewachsen, vielseitig und wiederverwendbar. YMMV)
* schreibe den Benutzernamen (zusätzlich) in eine Datei
* setze Trigger ein, um den Inhalte dieser Datei als Spaltenwert zu setzen. Zum Lesen der Datei sollten Befehle existieren
Viel Erfolg!
(mein alternatives Vorgehen: keine Formulare verwenden! Ich benötigte bislang meist sehr einfache E/A-Dialoge, die ich mit BASIC erstellt und kontrolliert habe. Dort kannst Du dann "alles" programmieren, was Du möchtest. Einmal Routinen für Dialog, Kontrollfelder, DB-Zugriffe und Ereignisse programmiert... Historisch gewachsen, vielseitig und wiederverwendbar. YMMV)
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
Hallo zusammen,
Frage an Winfried: warum keine Formulare verwenden?
Ich habe die hier beschriebenen Probleme nicht und steuere einiges über Formularereignisse.
Diese Aussage kann ich sowohl für die eingebaute HSQLDB wie für MySQL machen.
Gruß eBayer
Frage an Winfried: warum keine Formulare verwenden?
Ich habe die hier beschriebenen Probleme nicht und steuere einiges über Formularereignisse.
Diese Aussage kann ich sowohl für die eingebaute HSQLDB wie für MySQL machen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE
Wie geschrieben:eBayer hat geschrieben:warum keine Formulare verwenden?
das ist mein Vorgehen, da historisch gewachsen.
Bei neuen Projekten (Aufgaben) nutze ich vorhandene Skripte, Routinen etc. um Datenbanken, Tabellen, Dialoge, Vorlagen, ... zu erstellen/kopieren/anzupassen.
Das passt eben für meine (berufl.) Tätigkeit - bei Oliver, Dir oder sonst wem sieht das i.d.R. anders aus.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)