Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Fehlermeldung beim Ausführen Ereignisprozedur





Frage

Habe es nun endlich hinbekommen, daß bei Doppelklick auf das Feld "Email" das Outlookfenster "Neue Nachricht" geöffnet wird und automatisch die Adresse übernommen wird. Nun bringt er mir aber, wenn ich das Fenster schließe, ohne eine Mail gesendet zu haben, folgende Fehlermeldung: Laufzeitfehler 2501 Die Aktion SendObject wurde abgebrochen. Sie haben eine Methode des DoCmd-objekts verwendet, um in VB eine Aktion auszuführen, haben aber dann in einem Dialogfeld auf „Abrechen“ geklickt. Sie haben z. B. mit der Close-Methode ein geändertes Formular geschlossen und haben dann in dem Dialogfeld, das Sie danach fragt, ob Sie die an dem Forumular vorgenommenen Änderungen speichern möchten auf „Abrechen“ geklickt. Was bedeutet das und was soll ich tun? Gruß Annett

Antwort 1 von 14071

Hallo Annett,

also der grosse Z bin ich in VBA auch nicht. Aber dein Problem kommt daher, dass die Aktion (mail schicken) nicht zu Ende geführt wurde. Du wirst also eine if then else ...-Anweisung einbauen müssen, die bei Abbruch (mail) zu deiner Datenbank zurückkehrt.

Ciao
Jürgen

Antwort 2 von Annett

Also wenn ich ehrlich bin, dann war dies meine erste VBA-Aktion überhaupt. Ich kenne mich sonst in Access zwar sehr gut aus und habe auch schon einige Datenbanken erstellt...aber von VBA verstehe ich sonst nur Bahnhof...Hab mit Hilfe von einigen Leuten die angesprochene Prozedur hinbekommen, aber nun weiß ich auch nicht, wie man das, was Du mir gerade angeboten hast umsetzt...

Kannst mir vielleicht noch nen Tip zu dieser "Else-Funktion" geben?

Danke Annett

Antwort 3 von 14071

Hi Annett,

nun ja, VBA hab ich auch noch nicht programmiert. Mein Tip bezieht sich darauf, dein VBA abzubrechen, wenn auf abbrechen geklickt wird. Müsste also in etwa so aussehen: if klick"abbrechen" then goto end, else (braucht man dann glaub ich gar nicht einzugeben) wird das Programm fortgesetzt. Kann auch sein, dass die Prozedur do while oder so heissen muss. Aber den genauen Code muss dir jemand geben, der VBA programmieren kann.

Ciao
Jürgen

P.S. im ersten posting ist doch glatt crac_k wegzensiert worden.

Antwort 4 von Annett

Hab verstanden was Du meinst - ist ne gute Idee. Aber eines weiß ich nicht...wie benenne ich die Schaltfläche "abbrechen" damit er weiß, was ich meine? Hab noch nichts dazu finden können. Jedes Objekt hat doch einen festgelegten Namen, oder? Bin echt voll der Laie - sorry *g*

Gruß Annett

Antwort 5 von Mick

Hallo Annett, Du kannst in einer Funktion ein sog. Error-Handling einbauen. Das Einfachste ist, Du gibst in Deiner Funktion als erste Zeile "On Error Resume next" ein, damit wird der Fehler einfach übergangen. Wenn Du auf den Fehler reagieren möchtest, dann als Beispiel:

function beispiel

on error goto err_beispiel

code.....

exit_beispiel:
end function

err_beispiel:
if err = 2501 then
msgbox("Sie haben die Funktion abgebrochen")
else
msgbox(error$)
end if
resume exit_beispiel

end function

Gruss Mick

Antwort 6 von Axel

Hallo Annett
Konntest du was mit meinem Hinweis auf dein Summenfeld im Bericht was anfangen?
Deine Frage stand hier:
https://supportnet.de/discussion/listmessages.asp?content=&recno=43546&adminrecno=23

Gruß:Axel

Antwort 7 von Annett

Hi Axel,

danke der Nachfrage. Hab mit dem Bericht "Konzerte" noch gar nicht weitergemacht. Aber ich kann auch mit den SQL-Anweisungen wenig anfangen bzw. ich hab mich noch nicht damit beschäftigt. Ist sicher gar nicht so schwer. Wenn ich das Prob mit dem oben beschriebenen Fehler behoben habe, werde ich mich wieder den Konzerten zuwenden. Ich melde mich wieder, wenn es recht ist, okay?

Erstmal vielen vielen Dank - auch an Mick!

Grüße
Annett

Antwort 8 von Annett

SUPER! Mick - Du bist ein Genie *g* Hat geklappt mit: On Error Resume next

Danke Danke

Annett