Benutzer mit den meisten Antworten
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.
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- Als Antwort markiert Peter DoeringMVP, Moderator Montag, 1. November 2010 09:50
-
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
- Als Antwort markiert Peter DoeringMVP, Moderator Montag, 1. November 2010 09:50
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- Als Antwort markiert Peter DoeringMVP, Moderator Montag, 1. November 2010 09:50
-
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
- Als Antwort markiert Peter DoeringMVP, Moderator Montag, 1. November 2010 09:50