Access-Makro ausführen auf Terminalserver

  • Hallo liebe Gemeinde,

    ich würde gerne wissen wollen, ob mir jemand einen Tipp geben könnte, wie ich am besten ein Access-Makro auf einem Terminalserver 2008 automatisch starte.

    Der Taskplaner bringt mich nicht wirklich ans Ziel, denn Access wird so offenbar im Hintergrund ausgeführt, so dass das Makro garnicht ausgeführt wird.

    Würde es über Autoit Sinn machen? Quasi Batchdatei mittels Taskplaner aufrufen, der dann Autoit aufruft und Autoit ruft das Access-Makro auf geht irgendwie auch nicht...?!

    EDIT: Benutzer ist "nur" getrennt, also weiterhin "angemeldet"

    Einmal editiert, zuletzt von Sonderbaar (6. August 2018 um 14:57) aus folgendem Grund: Nachtrag EDIT

  • Macht sowas Sinn? Quasi ein eigener Taskplaner?

    Nehmen wir mal an, dieses Script läuft rund um die Uhr. Jeden Tag um 15:30h soll die ShellExecute ausgeführt werden... danach soll es logischweise nicht nochmal ausgeführt werden, es wir ja schließlich das Access-Makro ausgeführt... wäre suboptimal, wenn es mehrfach ausgeführt wird... danach soll das Script quasi "schlafen" bzw. bis zum nächsten Tag die Zeit abfragen... ist 15:30h wieder 1x ausführen, dann bis zum nächsten Tag ruhen... mir scheint es so besser zu funktionieren als über den Windows-Taskplaner...

    EDIT: Das Access-Makro ist so gebaut, dass es am Ende Access verlassen soll! Ich sollte dann wohl besser $pid wieder leeren oder? Oder doch lieber mit IfProcessExists arbeiten???

    Einmal editiert, zuletzt von Sonderbaar (7. August 2018 um 10:02)

  • Hallo Sonderbaar

    Hast du dieses Skript denn unter den gleichen Bedingungen geprüft? Also mit getrennter Session? Ich würde eigentlich die gleichen Probleme erwarten.

    Der Taskplaner wäre eigentlich natürlich besser, als ständig ein laufen zu lassen..

    Bei einem Blick auf dieses Skript glaube ich auch nicht, dass es erfüllt, was du beschreibst. Die Bedingung If $pid = "" Then muss weg. Sonst wird das ShellExecute nur einmal ausgeführt, wenn Skript und System rund um die Uhr laufen.

    Grüße autoiter

  • Also soweit ich es erruieren konnte wird es tatsächlich bei getrennter Verbindung ausgeführt...

    Ich würde glaube ich vor dem ExitLoop den If $pid wieder auf "" setzen?!

    Ich bin natürlich auch für andere Vorschläge offen, vielleicht wäre es hilfreich, wenn du mein Thema doch in die Hilfe verschieben würdest?! Bei Off-Topic guckt man ja doch nicht sooft rein...

  • EDIT: Das Access-Makro ist so gebaut, dass es am Ende Access verlassen soll! Ich sollte dann wohl besser $pid wieder leeren oder? Oder doch lieber mit IfProcessExists arbeiten???

    Dir geht es nur darum, dass das Makro einmal am Tag ausgeführt wird? Wenn du das im Skript prüfen möchtest, dann speichere bei der Ausführung von ShellExecute den Tag @MDAY in einer Variable und bei der Prüfung der Uhrzeit prüfst du einfach ob @MDAY mit dem Inhalt dieser Variable übereinstimmt. Wenn ja, dann wurde das Makro an dem Tag bereits gestartet..

    Am besten wäre es aber, hier meldet sich noch jemand, der mehr Ahnung vom Taskplaner hat als wir :D

    Grüße autoiter

  • Offenbar bin ich einfach zu blöd... Ich habe "unabhängig von der Benutzersitzung" und mit "Priviligierten Rechten" angehakt gehabt...

    Ohne die Beiden macht der Taskplaner genau das was er soll...