Oktober 31, 2020, 22:51:02

Neuigkeiten:

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


Bei Report ohne Daten vom Formular aus

Begonnen von uwe01, Mai 04, 2020, 10:01:48

⏪ vorheriges - nächstes ⏩

uwe01

Morgen,
habe da leider noch ein Problem beim Report ohne Daten.
@Franz du hattest mir ja schon bei Report ohne Daten geholfen. Was ja auch klappt, wenn ich nur den Report aufrufe.
Aber das neue Problem was ich jetzt habe ist, wenn aus einem Formular den Report aufrufe klappt das leider nicht mehr.
Jetzt zu meinem Problem.
Ich rufe aus mein Hauptformular ein Auswahl Formular mit Optionsgruppe auf wo man einige Optionen auswählen kann. Ergebnis zum Drucker senden, nach Excel Exportieren und am Bildschirm anzeigen.
Select Case Me!AuswahlUnfall
   
    '----------------------------------------------------------------------------------
    ' Anwendungen für Reparaturen
    '----------------------------------------------------------------------------------
            Case 1
        'der Bericht wird zm Drucker gesendet
    DoCmd.OpenReport "rptReparaturen", acViewNormal
        'Schließt im anschluss das Auswahl Formular
    DoCmd.Close acForm, "frmReparaturAuswahlmitUnfall"
        'Öffnet das Hauptmenü
    DoCmd.OpenForm "Hauptmenü"
   
        Case 2
        'Unterdrückt die Fehlermeldung
    On Error Resume Next
        'Die Daten der Abfrage werden an Excel gesendet
    DoCmd.OutputTo acOutputReport, "rptReparaturen"
        'Schließt im anschluss das Auswahl Formular
    DoCmd.Close acForm, "frmReparaturAuswahlmitUnfall"
        'Öffnet das Hauptmenü
    DoCmd.OpenForm "Hauptmenü"
   
        Case 3
        'Unterdrückt die Fehlermeldung
    On Error Resume Next
        'Der Report wird nur am Bildschirm angezeigt und in 100% der Größe dargestellt
    DoCmd.OpenReport "rptReparaturen", acViewPreview
    RunCommand acCmdZoom100
        'Schließt nach dem Senden den Bericht
    DoCmd.Close acForm, "Hauptmenü"
        'Schließt im anschluss das Auswahl Formular
    DoCmd.Close acForm, "frmReparaturAuswahlmitUnfall"
    'DoCmd.OpenForm "Hauptmenü"


Das geht auch soweit alles zum Drucker, nach Excel mit und ohne Daten ist ok.
Nur wenn ich mir den Report am Bildschirm darstellen möchte klappt das nur wenn Daten vorhanden sind, wenn keine Daten vorhanden sind und ich die Meldung ,,Das keine Daten vorhanden sind" klappt das nicht. Sondern beim bestätigen der durch OK sehe ich nur noch von Access das Menü band und die Access Objekte. Nur mein Hauptformular wird nicht geöffnet. Warum???
Hat da einer eine Idee.
Gruß Uwe01
Win XP neu Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

Hallo,

lies mal den Code und tue so, als wärst Du der Rechner ..  ;)

Naja, wenn das "Hauptmenü" geschlossen wird, wird es halt auch nicht angezeigt...

uwe01

Hallo Franz,
wenn ich das Formular nicht schließe sitzt es doch vor dem Report Ansicht, und das ist nicht so günstig.
Genauso ist es auch wenn ich OpenForm"Haupmenü" hinter dem Close Form "frmReparatumitUnfall" setze.
Gruß Uwe01
Win XP neu Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

Hallo,

das ist ja nun ein anderes Problem...

Trotzdem versteh ich nicht, was Du machen willst. 

Lt. Code öffnest Du einen Report, schließt das Form "Hauptmenü", dann das Form "frmReparaturAuswahlmitUnfall" und fertig...

uwe01

Hallo,
ja das ist ja richtig. Nur möchte ich halt eine Info rausgeben wenn keine Daten für den ausgewählten Zeitraum vorhanden sind.
Und wenn ich im Report bei Ohne Daten die Ereignisprozedur erstelle habe ich halt das Problem.
Gruß Uwe01
Win XP neu Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

Hallo,

Du kannst ja auch vor dem Öffnen des Report mit Hilfe der DCOUNT()-Funktion und Angaben des passenden Filters (Where-Condition) prüfen, ob es DS gibt und entspr. reagieren..

uwe01

Hallo,
kannst du mir diese mal genauer beschreiben, diese zwei Funktionen sagen mir nichts. Und wo würden die Funktionen hin kommen :(
Gruß Uwe01
Win XP neu Win 10, Access 2002/2013
Bitte um Verständliche Antworten !

DF6GL

Hallo,

zwei Funktionen???  Dcount ist nur eine...

schau in der VBA-Hilfe nach Dcount ...



.
.
.
  Case 3

  If Dcount("*","abfBerichtabfrage","[Datumsfeld] between " & Format(Me!DatumVon,"\#yyyy-mm-dd\#") & " and " & Format(Me!DatumBis,"\#yyyy-mm-dd\#") ) > 0 Then
             DoCmd.OpenReport "rptReparaturen", acViewPreview    'Report evtl. als Popup einstellen
             RunCommand acCmdZoom100
  Else
   Msgbox " Keine Druckdaten vorhanden"
  End If
.
.


uwe01

Hallo Franz,
ich Danke dir für deine Schnellen Antworten und deiner Hilfsbereitschaft. Ich werde bei Gelegenheit deine letzte Antwort testen. Ich habe jetzt erst einmal mein Report als PopUp gesetzt und es klappt wohl auch so wie es aussieht.
Und werde erstmal meine Frage auf Erledigt setzen.
Gruß Uwe01
Win XP neu Win 10, Access 2002/2013
Bitte um Verständliche Antworten !