Office: (Office 2003) Abfangen von Laufzeitfehler 2501

Helfe beim Thema Abfangen von Laufzeitfehler 2501 in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo in die Runde, im Ereignis Bei Ohne Daten eines Berichts lasse ich eine Meldung ausgeben, wenn der Bericht leer ist. Den Bericht rufe ich über... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von RookieOne, 29. März 2009.

  1. Abfangen von Laufzeitfehler 2501


    Hallo in die Runde,

    im Ereignis Bei Ohne Daten eines Berichts lasse ich eine Meldung ausgeben, wenn der Bericht leer ist.

    Den Bericht rufe ich über eine Schaltfläche auf und habe dort - analog zu DonKarl's FAQ 5.8 - eine Fehlerbehandlung eingefügt.

    Wenn der Bericht ohne Daten geöffnet wird, bekomme ich nun die Messagebox (gewollt) und danach trotzdem den Laufzeitfehler 2501. Habe ich hier noch etwas im VBA-Code vergessen?

    Code:
    :)
     
    RookieOne, 29. März 2009
    #1
  2. Nutze doch das Berichtsereignis "Bei ohne Daten"
    Code:
     
  3. Probier's mal so:
    Code:
    Eidit: Oder so wie Elmar vorschlägt :-)
    maike
     
    maikek, 31. März 2009
    #3
  4. Abfangen von Laufzeitfehler 2501

    Moin Maike, hallo Elmar,

    vielen Dank für die Tipps. So wie Elmar es vorschlug, hatte ich es ja bereits im Berichtsereignis eingegeben.

    Daraufhin bekommt der Benutzer ein kleines Meldungsfenster, wenn der Bericht keine Daten hat. Wird die Meldung mit Klick auf den OK-Button quittiert, erhalte ich gleich danach den Laufzeitfehler 2501 (Die Aktion OpenReport wurde abgebrochen).

    Wenn ich auf den Debuggen-Button klicke, präsentiert mir Access das folgende Bild (siehe Attachment)...

    @Maike: Mit deinem Vorschlag bekomme ich auch den Fehler 2501.

    Wenn ich den datenlosen Bericht allein öffne und die Meldung mit OK quittiere, produziert Access keinen Laufzeitfehler 2501.

    Gruß, Rookie
     
    RookieOne, 31. März 2009
    #4
  5. Hallo zusammen,

    ich habe das Problem mit DCount umgangen:

    Code:
    ... klappt prima *Smilie

    Einen schönen Tag wünscht

    RookieOne
     
    RookieOne, 31. März 2009
    #5
  6. Hi,

    naja, das ist ja eine andere Lösung. Das OhneDaten-Eriegnis tritt so erst gar nicht ein. *Smilie

    Du könntest das Docmd.OpenReport einbetten in einen Fehlerblock:

    Code:
    Dann kannst du das NoData-Ereignis nutzen (so ist es ja gedacht). Das Cancel = True "bricht den Bericht ab", was dem Docmd.OpenReport einen Fehlschalg meldet. Der ist aber durch das On Error resnue next "egal" und wird separat abgetestet.

    Aber wenns läuft... Dlookup ist halt langsam. Und außerdem ist das ja quasi doppelt gemoppelt.

    Gruß
     
    Atrus2711, 31. März 2009
    #6
  7. \@RookieOne
    Du musst meinen Code aber auch schon richtig abschreiben *wink.gif*
    (bei deiner Version fehlt die Sprungmarke für Exit Sub und dein Befehl lautet weiterhin Resume Next ...)
    maike
     
    maikek, 1. April 2009
    #7
  8. Abfangen von Laufzeitfehler 2501

    *redface ups, ja - mein Fehler. Aber auch korrigiert gibt's den gleichen Fehler...

    Code:
    Aber auch mit dem Beispiel von Atrus erhalte ich den Laufzeitfehler 2501. Langsam überlege ich, ob Access da einfach die Fehlerbehandlung bei Öffnen des Berichts ignoriert. Ich hab' da jetzt schon einiges probiert - vom simplen On Error Resume Next bis hin zu euren Beispielen.

    Markiert wird beim Debuggen ständig die Zeile

    Code:
    Gruß, Rookie
     
    RookieOne, 1. April 2009
    #8
  9. Hi,

    in meiner Version: die war aus dem Kopf. Setz mal einen haltepunkt auf das Openreport ,und dann mach mal mit F8 zeilenweite weiter, und schaue dir die Err.Number an. Villeicht ist es eine andere.
     
    Atrus2711, 1. April 2009
    #9
  10. Hallo Atrus,

    dann springt er zum NoData-Ereignis des Berichts

    Code:
    Wobei im VBA-Editor die Zeile Private Sub Report_NoData(Cancel As Integer) gelb markiert wird.

    Nochmal F8 gedrückt, wird die Zeile MsgBox "Der Bericht enthält keine Daten.", vbExclamation Or vbOKOnly, "Keine Daten" markiert.

    Ein weiteres Mal F8: Die Messagebox vom Bericht wird angezeigt

    Weiter mit OK: Gelbmarkierung von Cancel = True und End Sub.

    Schlussendlich Markierung des Haltepunktes bei DoCmd.OpenReport...

    *entsetzt Es hat den Anschein, als ob da eine Schleife abläuft.
     
    RookieOne, 1. April 2009
    #10
  11. Code:
    das würde ich auch anmeckern *wink.gif* . Laut meiner Kenntnis müsste hier die Syntax lauten:
    DoCmd.OpenReport Berichtsname[, Ansicht][, Filtername][, Bedingung]
    In deimen Fall also:
    Code:
    maike
     
    maikek, 1. April 2009
    #11
  12. Hallo Maike,

    nein, daran scheint es nicht zu liegen.... gleiches Phänomen *frown.gif*
     
    RookieOne, 1. April 2009
    #12
  13. Abfangen von Laufzeitfehler 2501

    Der Code aus #8 ist korrekt und es besteht kein Anlass für den Verdacht auf eine Schleife.

    Wie geht es denn nach dem Öffnen weiter? Dann müsste doch der Zeiger auf Code:
    stehen.
     
    Anne Berg, 1. April 2009
    #13
  14. Hi,

    ich habe das mal nachgebaut. Hier gibts keine Schleife. Was machst du anders?

    Start über das Formular.
     
    Atrus2711, 1. April 2009
    #14
  15. Hallo Anne,

    meinst du: Nach Öffnen des Berichts? Dann soll er mit DoCmd.Close acForm, "frmAuswahl_VE_LHO" das Auswahlformular schließen...
     
    RookieOne, 1. April 2009
    #15
Thema:

Abfangen von Laufzeitfehler 2501

Die Seite wird geladen...
  1. Abfangen von Laufzeitfehler 2501 - Similar Threads - Abfangen Laufzeitfehler 2501

  2. Fehlermeldung abfangen: "Zugriff verweigert

    in Microsoft Excel Hilfe
    Fehlermeldung abfangen: "Zugriff verweigert: Hallo zusammen, wie im Betreff schon erwähnt möchte ich eine Fehlermeldung abfangen und eine Msgbox erscheinen lassen: In meiner Excel Liste kann man per Knopfdruck andere Excellisten öffnen....
  3. Sicherheitshinweis abfangen

    in Microsoft Excel Hilfe
    Sicherheitshinweis abfangen: Hallo, ich habe eine Exceldatei und möchte daraus beliebig viele Excel Dateien (*.XLSM) hintereinander aufrufen und den Inhalt auslesen. Bei jedem Öffnen kommt der Sicherheitshinweis, das es sich...
  4. Div durch 0 abfangen

    in Microsoft Excel Hilfe
    Div durch 0 abfangen: Hi, ich habe ein Excel-File mit sehr vielen "Division durch 0" Fehler. Dies kann man ja per Formel abfangen, aber da sitze ich sehr lang :-) Gibt es in VBa eine Möglichkeit, all diese Fehler auf...
  5. Tastatureingabe abfangen

    in Microsoft Access Hilfe
    Tastatureingabe abfangen: Hallo zusammen ich möchte die Übertragung eines BARCODE Scanners per VBA einlesen und in einer tabelle speichern. Dazu überträgt dieser über die Standard KBD Schnittstelle da ganze einfach und...
  6. Fehler in Abfrage "abfangen"

    in Microsoft Access Hilfe
    Fehler in Abfrage "abfangen": Hallo zusammen, ich habe eine Abfrage, die bei Datensätzen zu denen kein Link zu einer bestimmten Abfrage existiert, einen Fehler ausgibt. (Ich hoffe das Bild m Anhang hilft das Problem zu...
  7. Laufzeitfehler 13 abfangen

    in Microsoft Access Hilfe
    Laufzeitfehler 13 abfangen: Hallo, ich bins mal wieder, in einer alten Datenbank habe ich eine Textspalte in einer Tabelle, die Zahlen enthält. Diese Spalte wird zur Berechnung benötigt. Beim Testen habe ich bemerkt, dass...
  8. Fehler abfangen VBA

    in Microsoft Excel Hilfe
    Fehler abfangen VBA: Hallo, ich habe einen Code, in dem die selektierten LEEREN Zellen mit einer Null aufgefüllt werden soll. Das funktioniert auch. Aber wenn in dem Bereich keine leeren Zellen vorhanden sind, kommt...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden