Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bericht schliessen

Begonnen von Liene, April 04, 2020, 12:42:31

⏪ vorheriges - nächstes ⏩

Liene

Hallo, wenn ich eine Bericht aufrufe und dieser hat keine Daten habe ich:

Private Sub Report_NoData(Cancel As Integer)
    MsgBox "Für die Firma sind keine Datensätze vorhanden"
    Cancel = True
End Sub


Klappt natürlich, aber wenn ich die MsgBox schließe, kommt immer noch:
"Aktion OpenReport wurde abgebrochen"

Kann man diese Meldung irgendwie unterdrücken

Gruß Liene

MzKlMu

Hallo,
die Fehlermeldung gehört zu dem Code mit dem Du den Bericht öffnest.
Zeige bitte den Code dazu und nenne die Fehlernummer.
Gruß Klaus

ebs17

Über eine Fehlerbehandlung - die für eine richtige Anwendung obligatorisch sein sollte - kann man diesen Fehler separat abfangen und meldungslos übergehen.

Den Zustand der Datenlosigkeit könnte man aber auch vor Berichtsöffnung ermitteln und das Ganze dann gleich sein lassen: Erst gucken, ob Loch in der Wand, und dann erst Kopf durch.
Mit freundlichem Glück Auf!

Eberhard

Liene

Hallo Franz,

den Bericht öffne ich schlicht mit

        DoCmd.OpenReport ReportName:="Firma", view:=acViewPreview

die genannte Meldung wird im Bericht beim Ereignis: "Bei Ohne Daten" erzeugt

ebs:
Zitat
Den Zustand der Datenlosigkeit könnte man aber auch vor Berichtsöffnung ermitteln und das Ganze dann gleich sein lassen: Erst gucken, ob Loch in der Wand, und dann erst Kopf durch.

Das hört sich gut an, aber wie mache das bei Berichtseröffnung, wie kann dort ermitteln werden das der Bericht keine daten enthält

MzKlMu

Hallo,
ZitatHallo Franz,
Wer ist Franz ?  ;D
Zitatdie genannte Meldung wird im Bericht beim Ereignis: "Bei Ohne Daten" erzeugt
Nein, das ist ein Irrtum, das scheint nur so. Die Meldung kommt aus dem aufrufenden Ereignis, weil das ja abgebrochen wird.
Du beantwortest auch nicht alle Fragen:
Zitat... und nenne die Fehlernummer.
Zitatwie kann dort ermitteln werden das der Bericht keine daten enthält
Der Bericht beruht doch bestimmt auf einer Abfrage.
Du musst also nur die Datensätze zählen die diese Abfrage liefert.
Wenn Datensatzzahl = 0, Bericht nicht öffnen.

Jede VBA Prozedur/Funktion sollte eine Fehlerbehndlung enthalten, dort kann man gezielt Meldungen bei einer bestimmten Fehlernummer (daher die Frage) unterdrücken und ggf. durch eine eigene Meldung ersetzen.
Gruß Klaus

Liene

Sehr geehrte Herr MzKLMu,

entschuldigen Sie bitte, dass ich Sie einfach mit Franz angeredet habe!!

Leider kann ich die Frage nach der Fehlernummer nicht beantworten, da bei mir weder beim Aufruf noch beim Öffnen des Berichtes eine Fehlermeldung erscheint (Fehlerbehandlung vorhanden)

Wie könnte ich das Zählen der Datensätze denn vor öffnen des Berichtes realisieren

Gruß Liene

MzKlMu

Hallo,
Zitatda bei mir weder beim Aufruf noch beim Öffnen des Berichtes eine Fehlermeldung erscheint (Fehlerbehandlung vorhanden)
Du hast doch weiter oben geschrieben, dass eine Fehlermeldung kommt ("Aktion OpenReport....) und diese Meldung hat eine Nummer.
In den von Dir gezeigten Codezeilen gibt es nicht die Spur einer Fehlerbehandlung.
Wenn doch vorhanden, den Code bitte vollständig zeigen.
ZitatWie könnte ich das Zählen der Datensätze denn vor öffnen des Berichtes realisieren
Wie lautet die Datenherkunft/Datenquelle des Berichts?

PS:
Hier im Forum wird sich nicht gesiezt.

Gruß Klaus

DF6GL

Hallo,

und hier ist Franz   ;D 8)

quick&dirty:

ZitatSub btnPreview_Click()
On Error Resume Next  'aber bitte nur in diesem speziellen Fall!
DoCmd.OpenReport ReportName:="Firma", view:=acViewPreview
End Sub

Liene

Hallo,

vielen Dank für die Antwort, leider bleibt die Codeerweiterung ohne Wirkung.
Die MsBox Meldung. "Aktion OpenReport wurde abgebrochen" erscheint auch ohne Fehlermeldung

Gruß Liene

DF6GL

Hallo,
  zeig mal Deinen Code (copy&paste), der den Bericht öffnet...

Oder verwendest Du am Ende ein Makro?

MzKlMu

Hallo,
ZitatDie MsBox Meldung. "Aktion OpenReport wurde abgebrochen"
Das ist die Fehlermeldung. Und die hat eine Nummer.

Du willst hier Hilfe und beantwortest aber keine Fragen und geht nur unzureichend auf Hinweise ein.
ZitatWie lautet die Datenherkunft/Datenquelle des Berichts?

Zeige bitte den Code vollständig zum Aufruf des Berichts, mit der Fehlerbehandlung die Du ja nach Deiner Aussage hast.
Gruß Klaus

Liene

#11
Aufruf zum Drucken

Public Function DruckFirmen()
On Error GoTo Err_Fehler

        DoCmd.OpenReport ReportName:="Firma", view:=acViewPreview, _
        WhereCondition:="INr=Forms!Firmen!Firmen_UF!INr"

exit_Err_Fehler:
Exit Function
Err_Fehler:
    MsgBox Err.Description, vbInformation, " Meine Firma"
    Resume exit_Err_Fehler
End Function



Beaker s.a.

Hallo Liene,
MsgBox Err.Number & vbcrlf & Err.Description, vbInformation, " Meine Firma"
Zeigt dir auch die Fehlernummer an.
Kleiner Tipp; - wenn man noch nicht so sicher mit VBA ist, sollte man sich vielleicht
etwas intensiver mit den Anzeigen der IntelliSense beschäftigen. Also nicht einfach
C&P sondern mal selber tippen. Dabei taucht diese Hilfe nämlich auf sobald man den
"." hinter einem Objekt tippt (s. Anlage).
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
und die Frage nach der Datenherkunft für den Bericht ist immer noch nicht beantwortet.
Über die DAtenherkunft könnte man nämlich prüfen, ob es Datensätze gibt, vor dem Öffnen.
Gruß Klaus

Liene

Hallo an Alle,

ich bedanke mich für Eure Hinweise. Nach meiner Ansicht laufen die geschilderten MsBox-Anzeigen alle ohne einen Fehler ab. Es sind doch lediglich Hinweise.

Ich bedanke mich und denke mal über einen anderen Lösungsweg nach

Gruß Liene