Page 1 of 2

Script pausieren/fortsetzen

Posted: 27 Jun 2022, 05:52
by Boss55
:? Hallo Forum,

der alte Mann ist am basteln und braucht eure kompetente Hilfe.

Mit dem Befehl

run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb

starte ich eine Access-Datenbank, funktioniert so weit.

Ich würde gerne noch ein paar Befehle einbauen, die jedoch erst NACH dem Schliessen der Datenbank abgearbeitet werden sollen.
Die DB wird nicht über ALT+F4, sondern in Access über eine Schaltfläche mit hinterlegtem Script geschlossen (das ist alles nur geklaut).

Das Script sollte dann nach Schliessung der DB ohne weitere Aktion meinerseits weiterlaufen (ja, faul ist der Kerl auch noch).

Habe schon mit Pause experimentiert, kriege es aber nicht gebacken, wer kann mir weiterhelfen ?

Beim Antworten bitte bedenken, Erklärungen bitte für Dummies, gehe zielstrebig auf die 70 zu und in dem Alter ist die Auffassungsgabe nicht mehr ganz so fit.

Allen die sich die Zeit nehmen dies zu lesen und/oder zu antworten im Voraus besten Dank.

bye

Re: Script pausieren/fortsetzen

Posted: 27 Jun 2022, 15:01
by flyingDman
runwait ?
Run / RunWait

Runs an external program. Unlike Run, RunWait will wait until the program finishes before continuing.

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 01:43
by Boss55
Moin !

Danke für eure Antworten.

Hinter der Schaltfläche liegt ein VBA-Script. (gnadenlos abgekupfert).

Runwait habe ich jetzt ausprobiert, aber alle Befehle die darauf folgen werden ignoriert, zb

send !t (blendet die Taskleiste wieder ein)
Send #{Esc} (deaktiviert die Bildschirmlupe)

Auch wenn ich die DB nicht über das VBA-Script sondern über die Windows Tastenkombination ALT+ F4 beende, verhält sich das so, was nach m.A. dieses VBA als Fehlerursache ausschliesst.

Wo ist da der Haken ??

Schönen Tag

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 02:48
by Gerdi
eventuell kannst Du mit

Code: Select all

run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
Process, WaitClose, %MdbPID%, 99999999
heraus bekommen wo es hängt

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 04:31
by Boss55
Moin !
heraus bekommen wo es hängt
..wenn ich das könnte, hätte ich hier nicht gepostet.

Mit diesem Befehl wird alles nachfolgende Befehle ebenfalls ignoriert.

bye

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 04:58
by BoBo
Nachteilig ist es dein script nicht sehen zu können!
Wir kennen weder vorgelagerte noch nachgelagerte deiner Befehlssequenzen.
Und kontinuierliches Raten macht's auf Dauer nur mäßig unterhaltsam.
:think:

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 05:11
by Gerdi
was passiert vor und nach beenden der DB

Code: Select all

MsgBox %A_LineNumber%
run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose, %MdbPID%, 99999999
MsgBox %A_LineNumber%
schau auch im Taskmanager nach ob und von wann bis wann die MdbPID vorkommt.

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 05:59
by Gerdi
lass Parameter 3 mit den vielen 9en weg

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 07:51
by Boss55
Hallo !
@BoBo
Spar dir doch dein gemotze, keiner zwingt dich dazu, hier zu antworten.

@Gerdi
Erst mal many thx für deine Gedul und deine Mühe.
Das Script bringt
Msgbox 1
DB startet
Msdbox 3 und Msgbox 4

Im Taskmanager läuft Access als Dienst weiter mit der PID 15548.

Hilft dir das irgendwie weiter.

bye

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 08:28
by BoBo
@BoBo
Spar dir doch dein gemotze, keiner zwingt dich dazu, hier zu antworten.
Dies war keine Antwort auf deine Frage, sonder ein konstruktiver Hinweis darauf, deine Supporter mit der Bereitstellung (d)eines Codes zu unterstützen.
Das ist in diesem Forum gängige, und bewährte Praxis. Zudem verbleibt es mir dich auf die Foren-Regeln bzgl. deines konfrontativen "Tonfalls" zu verweisen.
Happy scripting 8-)

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 09:09
by Gerdi
Im Taskmanager läuft Access als Dienst weiter mit der PID 15548.
Du brauchst irgend ein Schließ-Ereignis auf das Du reagieren kannst!

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 11:21
by Boss55
Ballo !
Du brauchst irgend ein Schließ-Ereignis auf das Du reagieren kannst
Sorry, versteh ich nicht, nicht meine Welt, ich geb´s auf.

bye

Re: Script pausieren/fortsetzen

Posted: 28 Jun 2022, 16:44
by Gerdi
Die DB wird nicht über ALT+F4, sondern in Access über eine Schaltfläche mit hinterlegtem Script geschlossen
was schließt sich, wenn die Schaltfläche betätigt wird?
Wenn das ein Fenster ist, kann man mit WinWaitClose weiterkommen. Aufs Prozessende warten hatten wir oben schon probiert, wobei hier noch anzumerken wäre, dass die Ausgabe der letzten MsgBox 5 statt 4 hätte lauten müssen. Es sei denn, statt Parameter 3 der 4. Zeile, wurde die ganze 4. Zeile gelöscht.

Re: Script pausieren/fortsetzen

Posted: 30 Jun 2022, 10:57
by Boss55
Hallo,

und nochmals vielen Dank für deine Ausdauer. Habe versucht mit Winwaitclose was zu reißen, hat aber auch nicht funktioniert, vielleicht bin ich auch einfach nur zu blöd.

Das Problem mit wwc könnte auch seim das ich keine exe starte sondern eine Datei.
Die Msg-Box hat die 4 zurückgegeben, Tippfehler meinerseits.
However, habe das jetzt mit einer Batch gelöst, funktioniert nicht ganz wie gewünscht, muss per Tastendruck eingreifen, erfüllt aber seinen Zweck.
Werde das einfach so lassen, habe keinen Bock mehr, weiter rumzufrickeln, bringt nur Frust.

Dir nochmals vielen Dank für deine Geduld und die Mühe die du investiert hast.

bye

Re: Script pausieren/fortsetzen

Posted: 30 Jun 2022, 15:34
by Gerdi
Das Problem mit wwc könnte auch seim das ich keine exe starte sondern eine Datei.
diese Vermutung hatte ich auch beim warten auf Prozessende, aber bei

Code: Select all

MsgBox %A_LineNumber%
run "C:\temp\9.txt",,,MdbPID
; run notepad.exe "C:\temp\9.txt",,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose,%MdbPID%
MsgBox %A_LineNumber%
funktioniert das warten auf schließen von Notepad. Egal ob ich den Text direkt starte oder über Notepad.exe

@alle
es hatte allerdings nicht verlässlich funktioniert mit

Code: Select all

Process, WaitClose,%MdbPID%,99999999
wofür ich keine Erklärung habe.

Re: Script pausieren/fortsetzen

Posted: 02 Jul 2022, 10:27
by Boss55
Hallo,

der alte Mann gibt doch noch keine Ruhe (klarer Fall von Altersstarsinn) :mrgreen: :mrgreen:

Habe jetzt diesen Code zusammengeschludert

Code: Select all

run "D:\Programme (x86)\Microsoft Office\Office12\MSACCESS.EXE" F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose,%MdbPID%, 99999999
send !t
Send #{Esc}
der auch so lange funktioniert, bis ich die Zeile mit der MsgBox lösche, weil unerwünscht und muss immer mit ok bestätigt werden.
Dann endet das Script beim Schliessen der Datenbank.

Welchen Befehl kann ich da ersatzweise verwenden, ohne das ich da eingreifen muss, denn sonst scheint es, als würde waitClose die PID nicht mitbekommen.

Oder lieg ich da völlig daneben ?

bye

Re: Script pausieren/fortsetzen

Posted: 02 Jul 2022, 11:41
by BoBo

Re: Script pausieren/fortsetzen

Posted: 02 Jul 2022, 12:29
by Boss55
Hallo,
RunWait
hatten wir schon,hat nicht funktioniert. Brauch einen Befehl, mit dem man den Wert aus mdbPID an Waitclose übergeben kann.

bye

Re: Script pausieren/fortsetzen

Posted: 02 Jul 2022, 12:33
by flyingDman

Re: Script pausieren/fortsetzen

Posted: 02 Jul 2022, 19:34
by Gerdi

Code: Select all

run "D:\Programme (x86)\Microsoft Office\Office12\MSACCESS.EXE" "F:\Eigene_Dateien\Datenbank\Musik\musik.mdb",,,MdbPID
Sleep 2000
Process, WaitClose,%MdbPID%
; Aktionen nach schließen der  Datenbank
Ich weiß immer noch nicht ob Du es schon wie drüber ohne 99999999 probiert hast?
Mit der 99999999 scheint der Befehl nicht wie in der Hilfe beschrieben zu funktionieren.