Hallo Community,
dank der großen Hilfe hier im Forum bin ich mit meiner Anwendung so ziemlich ans Ende gelangt.
Nun bin ich optimieren.
Folgendes:
Ich habe z.B. 8 Hauptberichte die vom Aufbau her identisch sind. Nur die darin befindlichen Unterberichte sind verschieden.
Nun wollte ich mittels der Function" .SourceObject" beim öffnen des Hauptberichts je nach Bedarf auf den entsprechenden Unterbericht verweisen.
If Me!rptUnterbericht_1.SourceObject = "" Then rptUnterbericht_1.SourceObject = "rptUnterbericht_1"
Nur klappt das nicht?
Bei den Formularen klappt es mit dieser Methode doch auch.
Muss man bei den Berichen anders vorgehen( z.B. mit OpenArgs)?
Wenn ja wie?
Der Vorteil wäre (dachte ich), dass ich dann anstatt der 8 Hauptberichte nur noch 4 Hauptberichte hätte.
Gruß
Hubert
Hallo,
Du verwechselst Unterbericht mit Unterberichts-Steuerelement.
Klick mal das Unterberichts-Control am Rand an, dann wird dir in den Eigenschaften der Name angezeigt. Diesen musst du verwenden für die Zuordnung.
Andreas
Hallo Hubert,
Zitat von: trebuh am November 14, 2015, 13:07:21Nur klappt das nicht?
welche Fehlermeldung wird dir denn angezeigt?
Und was das betrifft:
ZitatIch habe z.B. 8 Hauptberichte die vom Aufbau her identisch sind.
ZitatDer Vorteil wäre (dachte ich), dass ich dann anstatt der 8 Hauptberichte nur noch 4 Hauptberichte hätte.
Warum vier, wenn doch alle gleich sind?
Hallo Hondo,
ZitatKlick mal das Unterberichts-Control am Rand an, dann wird dir in den Eigenschaften der Name angezeigt. Diesen musst du verwenden für die Zuordnung.
Bist Du sicher? Damit ordnest Du einem Control doch ein weiteres zu. IMO ist das SourceObject eines Unterbericht-Steuerelements aber ein Bericht.
gruss ekkehard
Hallo,
klar bin ich sicher,
Das Control angeklickt zeigt die Eigenschaften des Controls - was denn sonst?
Z.B. wenn das Control "Untergeordnet1" heißt, dann lautet der Code:
Me.Untergeordnet1.SourceObject = "Berichtsname"
Andreas
Hi,
ich denke, das Problem lässt sich möglicherweise folgendermaßen lösen:
Anstelle von
ZitatDu verwechselst Unterbericht mit Unterberichts-Steuerelement.
sollte es vielleicht besser heißen:
ZitatDu verwechselst MÖGLICHERWEISE Unterbericht mit Unterberichts-Steuerelement.
Konkret:
Es geht hier um den Namen des Unterformular-Steuerelements und nicht um den Namen des Formulars das als Unterformular eingebunden wurde oder werden soll.
Naja, die Möglichkeit ist schon ziemlich konkret wenn Unterbericht identisch mit dem Control ist vom Namen her.
Andreas
Hi!
Upps, habe jetzt gar nicht mitbekommen, das so viele Antworten kamen.
Also es ging schon darum, auf ein anderes Unterformular (Control) zu verweisen. (Nicht auf die Datensatzherkunft)
Fehler lag aber bei mir :-[
Man sollte halt von Anfang an sauber programmieren und nicht mal schnell was probieren.
Da schleichen sich halt doch kleine Fehler ein, die man danach aufwendig suchen muss. >:(
Desweiteren ist es halt auch sinnvoll, was neues an einer Testanwendung auszuprobieren (wegen der Übersicht).
(Müsste ich aber allmählich selber wissen). ;D
Aber jetzt klappts, und die Anwendung ist wieder ein wenig übersichtlicher (pflegeleichter) und von der Dateigröße her kleiner geworden
@ MaggieMay
ZitatWarum vier, wenn doch alle gleich sind?
Vom Aufbau sind die Hauptberichte gleich, nur die Unterberichte beziehen sich auf eine andere Tabelle.
Somit sind jetzt die Herkunftsobjekte der Unterformulare im Hauptbericht leer.
Diese Herkunftsobjekte werden dann beim Öffnen des Hauptberichts im Ereignis (Private Sub Report_Open(Cancel As Integer)) je nach Fall zugewiesen.
Me.Untergeordnet1.SourceObject = "Berichtsname_1"
Me.Untergeordnet2.SourceObject = "Berichtsname_2"
...
Gruß und schönen Sonntag
Hubert
Hallo Hondo,
ZitatZ.B. wenn das Control "Untergeordnet1" heißt, dann lautet der Code:
Me.Untergeordnet1.SourceObject = "Berichtsname"
Bin ich ganz bei dir, hatte dieses
ZitatKlick mal das Unterberichts-Control am Rand an, dann wird dir in den Eigenschaften (des Controls) der Name (des Controls) angezeigt.
eben so () verstanden. Und dass Control und Unterbericht den gleichen Namen haben gibt es bei mir nicht. Macht, wie man sieht, nur Probleme.
gruss ekkehard
ZitatVom Aufbau sind die Hauptberichte gleich, nur die Unterberichte beziehen sich auf eine andere Tabelle.
Sorry, aber dafür brauchst du doch keine vier Hauptberichte, wenn sie sich lediglich durch die Datenquelle der Unterberichte unterscheiden. Das lässt sich doch dynamisch lösen, wie du es bereits selbst beschrieben hast.