none
Ausdruck eines Berichtsdatensatzes beenden, falls Unterbericht ohne Daten

    Frage

  • Ich verwende einen Untbericht innerhalb eines Berichtes. Der UBericht enthält Rechnungspositionen.

    Der Ausdruck des betreffenden Datensatzes innerhalb des Berichts soll unterdrückt werden, falls der UBericht keine Daten enthält.

    Ich hätte auf den ersten Blick das Ereignis 'Bei Ohne Daten' im AUge, aber das scheint nicht für den entsprechenden UBericht zuzureffen.

     

     

    Samstag, 25. September 2010 13:21

Antworten

  • Hallo NicoNi,

    NicoNi schrieb folgendes:

    Ich verwende einen Untbericht innerhalb eines Berichtes. Der UBericht enthält Rechnungspositionen.

    Der Ausdruck des betreffenden Datensatzes innerhalb des Berichts soll unterdrückt werden, falls der UBericht keine Daten enthält.

    Ich hätte auf den ersten Blick das Ereignis 'Bei Ohne Daten' im AUge, aber das scheint nicht für den entsprechenden UBericht zuzureffen.

    Überprüfe bevor Du den Hauptbericht aufrufst ob für den Unterbericht Datensätze vorhanden sind.

    If DCount("*","TabelleAbfrage","ID=999") > 0 then
       Docmd.OpenReport "DeinBericht"
    End If

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Dienstag, 26. Oktober 2010 11:27
    Moderator
  • Hallo NicoNi

    Die einfachste Methode ist, diese Datensätze gar nicht in den Report einfliessen zu lassen.

    du kannst die Abfrage hinter dem Bericht z.B. so ändern, dass Du:

    - einen Inner Join mit den UBE Datensätzen machst, womit nur noch die BE erscheinen, welche UBE Datensätze haben. Damit diese nur einmal erscheinen, keine Felder der UBE Datenquelle aufnehmen und die Berichtsdatenquelle gruppieren.

    - über eine WHERE EXISTS(SELECT xx FROM <UBESource> WHERE <UBESourceID> = <BESourceID>)

    - über einen DCOUNT() in der Where Bedingung diese auschliesen, welche keinen UBE Datensatz haben

    IMO ist der zweite Ansatz der sinnvollste, zudem benötigst Du dafür kein VBA, um den Datensatz zu unterdrücken.

    HTH

    henry

    Mittwoch, 27. Oktober 2010 12:37

Alle Antworten

  • Hallo NicoNi,

    NicoNi schrieb folgendes:

    Ich verwende einen Untbericht innerhalb eines Berichtes. Der UBericht enthält Rechnungspositionen.

    Der Ausdruck des betreffenden Datensatzes innerhalb des Berichts soll unterdrückt werden, falls der UBericht keine Daten enthält.

    Ich hätte auf den ersten Blick das Ereignis 'Bei Ohne Daten' im AUge, aber das scheint nicht für den entsprechenden UBericht zuzureffen.

    Überprüfe bevor Du den Hauptbericht aufrufst ob für den Unterbericht Datensätze vorhanden sind.

    If DCount("*","TabelleAbfrage","ID=999") > 0 then
       Docmd.OpenReport "DeinBericht"
    End If

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    Dienstag, 26. Oktober 2010 11:27
    Moderator
  • Hallo NicoNi

    Die einfachste Methode ist, diese Datensätze gar nicht in den Report einfliessen zu lassen.

    du kannst die Abfrage hinter dem Bericht z.B. so ändern, dass Du:

    - einen Inner Join mit den UBE Datensätzen machst, womit nur noch die BE erscheinen, welche UBE Datensätze haben. Damit diese nur einmal erscheinen, keine Felder der UBE Datenquelle aufnehmen und die Berichtsdatenquelle gruppieren.

    - über eine WHERE EXISTS(SELECT xx FROM <UBESource> WHERE <UBESourceID> = <BESourceID>)

    - über einen DCOUNT() in der Where Bedingung diese auschliesen, welche keinen UBE Datensatz haben

    IMO ist der zweite Ansatz der sinnvollste, zudem benötigst Du dafür kein VBA, um den Datensatz zu unterdrücken.

    HTH

    henry

    Mittwoch, 27. Oktober 2010 12:37