Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access XP: Unterformular Herkunft nach Abhängigkeit erstellen?





Frage

Hallo Leute, ich habe ein riesiges Problem, Ich habe einen Bericht in dem die Telefonnummer eines Betriebes ausgegeben werden. Dieser Betrieb hat mehrere Standorte, die jeweils verschiedene Anzahl an Telefonnummern, Faxnummern, Ansprechpartner usw. haben. In meinem Hauptbericht wird Gruppiert nach Standort. Im Gruppenkopf habe ich momentan für jeden Standort ein uBe erstellt und setze diese Je nach Standort auf Visible oder nicht, Ereignis beim Formatieren. [code] Private Sub Gruppenkopf_Standort_Format(Cancel As Integer, FormatCount As Integer) If Me!ID = 1 Then Me.UF_Telefonliste_Kopf_CO.Visible = False Me.UF_Telefonliste_Kopf_US.Visible = False Me.UF_Telefonliste_Kopf_HA.Visible = True ElseIf Me!ID = 2 Then Me.UF_Telefonliste_Kopf_CO.Visible = True Me.UF_Telefonliste_Kopf_US.Visible = False Me.UF_Telefonliste_Kopf_HA.Visible = False Else Me.UF_Telefonliste_Kopf_CO.Visible = False Me.UF_Telefonliste_Kopf_US.Visible = True Me.UF_Telefonliste_Kopf_HA.Visible = False End If [/code] Ich habe diese möglichkeit benutz, weil ich eine schnelle Lösung gebraucht habe. Jetzt sind aber weitere Standorte hinzugekommen und ich will jetzt nicht noch diese If Abfrage erweitern und für jeden Standort ein UFO erstellen. Leider funktioniert diese möglichkeit nicht bei mir: Ich habe es schon mit einem uB probiert und diesem bei dem Ereignis [b]beim Formatieren[/b] versucht über die SourceObject Eigenschaft den jeweiligen Bericht zu öffnen, dass geht aber nicht, weil AXP meint, in der Entwurfsansicht kann man die herkunft nicht mehr ändern. Kann mir da jemand behilflich sein, wie ich das Problem in den Griff bekomme?! Mit nur einem UB in dem ich den jeweiligen Bericht lade!? Mit freundlichem Gruß Daniel

Antwort 1 von erik

Du könntest in der Standorttabelle drei weitere Ja/Nein-Spalten hinzufügen (z.B. FeldCO, FeldUS, FeldHA), die im genannten Ereignis abgefragt werden:


Private Sub Gruppenkopf_Standort_Format(Cancel As Integer, FormatCount As Integer) 
Me.UF_Telefonliste_Kopf_CO.Visible = Me.FeldCO
Me.UF_Telefonliste_Kopf_US.Visible = Me.FeldUS
Me.UF_Telefonliste_Kopf_HA.Visible = Me.FeldHA
End Sub


Damit brächte jeder Standort seine eigenen Einstellungen mit. Im Bericht brauchst du sie nicht anzeigen zu lassen.

Antwort 2 von DN00b

Hallo erik,

danke für deine Antwort.
Bei drei Standorten ist das ja noch Übersichtlich - aber es werden ja bald mehr werden und dann wird das ziemlich unübersichtlich!

Am liebsten wäre mir ein UB in dem ich per Code den richtigen Bericht laden lassen könnte!
Dann kann ich das später einmal automatisieren ...

Antwort 3 von erik

Soll das heißen, dass du tatsächlich für jeden Standort einen eigenen Unterbericht anlegst? Dann wirst du tatsächlich dein helle Freude dran haben.

Wieso kannst du nicht nur einen einzigen Unterbericht "UF_Telefonliste_Kopf" verwenden, der nur die Daten anzeigt, die zum aktuellen Standort gehören? Hast du den Hauptbericht mit dem Unterbericht verknüpft?

Im Übrigen glaube ich nun zu verstehen, dass "CO", "US" und "HA" Abkürzungen von Standorten sind? Wenn ja, dann habe ich das in meiner ersten Antwort nicht berücksichtigt.

Antwort 4 von DN00b

Ja, meine Freude darüber ist sehr groß ;-)

Es handelt sich hierbei auch um die Abkürzungen für einen Standort.

Die Unterberichte enthalten Statische Daten (fest eingegeben)
Da jeder Standort verschieden Daten hat, die sich eig. nie wiederholen ...
z.B. Die Telefonnummer vom Hausmeister(mit Namen)
Die Faxnummern der einzelnen Abteilungen (z.B. sind es an einem 5 an dem anderen nur 2) die Liste setzt sich fort ...
Manch ein Standort hat einen Pausraum mit Telefon ...

Und danke für deine Antwort!

Antwort 5 von erik

Wenn bestimmte Daten wie bei dir die Faxnummern unterschiedlich oft vorkommen, dann eignet sich ein Endlosunterbericht, der automatisch die passende Höhe erhält. Du musst nur darauf achten, dass der eingefügte Unterbericht die Höhe 0 hat und die Eigenschaft "Vergrößerbar" auf Ja steht. Das gleiche auch beim Pausenraum: Gibt es einen, dann dehnt sich der Bericht aus. Wenn nicht, dann bleibt er bei Höhe = 0.

Antwort 6 von DN00b

Hallo erik,

habe es jetzt hinbekommen.
habe eine weitere Tabelle angelegt und dort meine Angaben reingeschrieben.

In meinem Hauptbericht lade ich einen Unterbericht und in diesem wieder einen!

vielen Dank für deine Hilfe!!
Schönes Wochenende
Gruß Daniel