PDA

Vollständige Version anzeigen : MsgBox


MickeyZ
17.01.2008, 15:05
Hallo,

gibt es die Möglichkeit, daß bei einer Messagebox, die nur einen OK-Button enthält diesen nach einer bestimmten Zeit z.B. 10 Sekunden automatisch zu aktivieren??

Danke im voraus
Mickey

Gunter Avenius
17.01.2008, 15:11
Hallo,

Eine Lösung von H. Habermacher findest Du hier... (http://groups.google.de/group/microsoft.public.de.access/browse_thread/thread/ffe7c58ae980fecc/003394128d60dee2?lnk=st&q=timedmsgbox+habermacher#003394128d60dee2)

MickeyZ
17.01.2008, 15:22
Vielen Dank schon mal.
Wie baue ich das jetzt hinter meinen Button? Ich habe mir das Standardmodul kopiert aber wie komme ich über meinen Button jetzt dahin. Hinter dem OK befindet sich ja eine Aktion die ausgeführt werden soll. Hintergrund ist der, daß wenn diese MsgBox kommt, die Anwender OK drücken sollen und dann wird eine Aktualisierung vorgenommen. Für die Anwender, die die Anwendung aufhaben aber gerade nicht am Platz sind, soll halt nach einer bestimmten Zeit automatisch das "OK gedrückt" werden.

Anne Berg
17.01.2008, 15:51
Hallo,

wenn du dir das Beispiel einmal anschaust, so kannst du die Funktion folgendermaßen aufrufen:? timedMsgBox( _
"Soll die Box sofort geschlossen werden?", _
3, _
"Schliesst automatisch nach 3 Sekunden", _
vbYesNo + vbDefaultButton1 + vbQuestion) Dies entspricht unter Berücksichtigung deiner Vorgaben folgender VBA-Codierung:If timedMsgBox( _
"Deine Meldung", _
10, _
"Schliesst automatisch nach 10 Sekunden", _
vbOK) = vbOK Then
' ... dein Code
End IfDu kannst auch einfach schreibenCall timedMsgBox( _
"Deine Meldung", _
10, _
"Schliesst automatisch nach 10 Sekunden", _
vbOK)
' ... dein Codedenn eine MsgBox ist immer ein Dialogfenster, d.h. der Code wird unterbrochen bis sie geschlossen wird.

Gunter Avenius
17.01.2008, 15:51
Hallo,

so sollte es tun:
timedMsgBox "Mein Text", 5, "Titel", 0
' Weiter gehts

MickeyZ
21.01.2008, 12:51
erst einmal vielen Dank für die Hilfe! Ich melde mich erst heute, da mich innerhalb von Minuten ein Magen-Darm-Virus lahm gelegt hat.
Das haut jetzt prima hin. Ein Problem habe ich aber noch. Der Code der nach der Box kommt ist das Schließen der Datenbank. Die wird auch geschlossen, aber Access bleibt unten in der Taskleiste stehen und kann nur über den Task-Manager beendet werden. Kann man das beheben?

So sieht mein Code aus:

Private Sub Form_Timer()
Dim DBSchließen As String

DBSchließen = Dir("C:\Programme\Access\De_Smeet\accessende.xls", vbHidden)
If DBSchließen <> "" Then
Call timedMsgBox( _
"Die Datenbank wird aufgrund von Wartungsarbeiten jetzt geschlossen", _
10, _
"Schliesst automatisch nach 10 Sekunden", _
vbOK)

Application.Quit acQuitSaveAll
End If

End Sub


????

Anne Berg
21.01.2008, 12:58
Hallo Mickey,

an der Prozedur wird das IMHO nicht liegen. Schau dir dazu mal Access-FAQ 7.5 (http://www.donkarl.com/FAQ/FAQ7Bugs.htm#7.5) an, dort findest du Anregungen zur Ursachenbehebung.