Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von komma4 » Sa, 28.11.2009 16:09

eBayer hat geschrieben:warum keine Formulare verwenden?
Wie geschrieben:

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.

Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von eBayer » Sa, 28.11.2009 10:00

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
Ereignisse.jpg
Ereignisse.jpg (57.59 KiB) 761 mal betrachtet

Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von komma4 » Fr, 27.11.2009 19:48

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)

Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von oliver1804 » Fr, 27.11.2009 18:10

Hallo,
komma4 hat geschrieben:Die Manipulation in (HSQLDB-)Base-Tabellen lösen keine Ereignisse aus.
ich verwende http://www.sqlite.org/ mit http://www.ch-werner.de/sqliteodbc/
komma4 hat geschrieben:Es gibt Datenbanken welche die sog. Trigger unterstützen.
Gestartet werden dann aber SQL-Skripte - keine OOo-Makros.
Stimmt, SQLite unterstützt dies Trigger-Dings auch - hab insgesamt 91 Stück davon in meiner Datenbank ;-)

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?
Ich benutz Trigger, um in LOG-Tables INSERT/UPDATE/DELETE zu protokollieren.

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???

Re: Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von komma4 » Fr, 27.11.2009 17:24

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?

Makroauslösung in Abhängigkeit von INSERT/UPDATE oder DELETE

von oliver1804 » Fr, 27.11.2009 15:42

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

Nach oben