Discussion:
Function nach aktualisieren
(zu alt für eine Antwort)
Jörg Harnisch
2004-09-23 12:10:21 UTC
Permalink
Hallo NG,

ich möchte gerne nach dem aktualisieren einer Tabelle aus externen Daten
(SQL) eine Funktion zum ersetzen einiger Werte laufen lassen. Die Funktion
ist fertig, aber wie wird sie nach dem Update gestartet ? Gibt es da ein
fertiges Ereignis (afterSQLUpdate) oder so ?

Bitte um Hilfe


mfG
Jörg
Susanne Wenzel
2004-09-25 08:16:44 UTC
Permalink
Hallo Jörg,
Post by Jörg Harnisch
ich möchte gerne nach dem aktualisieren einer Tabelle aus externen Daten
(SQL) eine Funktion zum ersetzen einiger Werte laufen lassen. Die Funktion
ist fertig, aber wie wird sie nach dem Update gestartet ? Gibt es da ein
fertiges Ereignis (afterSQLUpdate) oder so ?
durch welche Aktion aktualisierst Du denn Deine Tabelle?

Wäre es denn eine Möglichkeit für Dich, eine kleine Prozedur zu schreiben,
die als erstes die Tabelle aktualisiert und als zweites Deine Funktion
aufruft?

HTH
Viele Grüße aus dem hohen Norden Deutschlands
Susanne
Thomas Ramel
2004-09-25 09:46:52 UTC
Permalink
Grüezi Jörg

Jörg Harnisch schrieb am 23.09.2004
Post by Jörg Harnisch
ich möchte gerne nach dem aktualisieren einer Tabelle aus externen Daten
(SQL) eine Funktion zum ersetzen einiger Werte laufen lassen. Die Funktion
ist fertig, aber wie wird sie nach dem Update gestartet ? Gibt es da ein
fertiges Ereignis (afterSQLUpdate) oder so ?
Wie ea bei SQL-Abfragen aussieht, kann ich nicht genau sagen, aber ich
könnte mir vorstellen, dass das Worksheet_Calculate()-Ereignis des
Tabellenblattes beim aktualisieren anspringt.

Daran könntest Du dann deine Funktion koppeln.

Ein Rechtsklick auf den Tabellenblattreiter der Tabelle, die deine Daten
nach der Abfrage enthält --> Code enzeigen.
Kopiere nun die folgenden zeilen 1:1 in das nun geöffnete Code-Fenster und
verlasse den VBA-Editor mit Alt+Q wieder:

Private Sub Worksheet_Calculate()
MsgBox "Das Tabellenblatt wurde neu berechnet"
End Sub

Aktualisiere nun deine Abfrage und teste, ob die MsgBox ausgelöst wird.
Falls nicht, kannst Du mit der folgenden Formel irgendwo im Tabellenblatt
das Neuberechnen 'erzwingen':

=ANZAHL2(A:A)

Anstelle der MsgBox kannst du den Aufruf deines Makros oder deiner Funktion
setzen.
--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

[Win XP Pro SP-1 / xl2000 SP-3]
Jörg Harnisch
2004-09-27 09:24:51 UTC
Permalink
Post by Thomas Ramel
Aktualisiere nun deine Abfrage und teste, ob die MsgBox ausgelöst wird.
Falls nicht, kannst Du mit der folgenden Formel irgendwo im Tabellenblatt
Hallo,

letzteres hat funktioniert. Danke schön.
Thomas Ramel
2004-09-27 11:50:15 UTC
Permalink
Grüezi Jörg

Jörg Harnisch schrieb am 27.09.2004
Post by Jörg Harnisch
Post by Thomas Ramel
Aktualisiere nun deine Abfrage und teste, ob die MsgBox ausgelöst wird.
Falls nicht, kannst Du mit der folgenden Formel irgendwo im Tabellenblatt
letzteres hat funktioniert. Danke schön.
Aber gerne doch - Danke auch für die Rückmeldung.
--
Mit freundlichen Grüssen

Thomas Ramel
- MVP für Microsoft-Excel -

[Win XP Pro SP-1 / xl2000 SP-3]
Lesen Sie weiter auf narkive:
Loading...