Neuigkeiten:

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

Mobiles Hauptmenü

Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen

Begonnen von MatzeDB, März 10, 2011, 21:14:39

⏪ vorheriges - nächstes ⏩

MatzeDB

Hallo Zusammen,

ich möchte eine Ufo in Abängingkeit des Listen-DS füllen. Leider klappt das bei mir überhaupt nicht.

Ich habe im Listenfeld 5 Spalten. Eine ist die ProjektID (nicht sichtbar, Autowert)

Das Ufo greift auf eine Zwischentabelle zurück. Hier gibt es die ProjektID als Fremdschlüssel: ProjektID_F.

Nun möchte ich das bei Auswahl eines DS im Listenfeld die entsprechenden DS im Ufo angezeigt bekomme.

Danke für die Hilfe.

Gruß

imp666

Am besten ist es, wenn man dem Listenfeld ein Ereignis verpasst (z.B. "Bei Änderung" oder "Beim Verlassen") und dann im Code den folgenden Code verwendet:
Hfo.Ufo.Form.Filter="SELECT * FROM tbl WHERE ..."
Hfo.Ufo.Form.FilterOn=True


Oder alternativ ist auch sowas ähnliches möglich: (die Nr das Datensatzes hängt in diesem Fall von der Sortierung ab)
DoCmd.GoToRecord acDataForm, "Ufoname", acGoTo,Nr_des_datensatzes

Jonny

Hallo,

ich schliesse mich meinen Vorredner an.

Aber Vorsicht! Wenn das HFO und das UFO verknüpft sind (was ja normal ist), dann stehen dir
eventuell nicht die gewünschten DS zur Verfügung. In diesen Fall mußt Du im HFO auf den
zugehörigen DS positionieren.

Gruß

Johann

MatzeDB

Hey,

leider klappt die erste Variante nicht, er gibt mir einen Fehler: Laufzeitfehler, Objekt erforderlich.

Hier mal den Code wie ich ihn verwendet habe:



frm_projekt_register.ztabStatus_Projekt_ufo.Form.Filter = "SELECT * FROM ztabStatus_Projekt Where [ProjektID]= " & Me.Liste100
frm_projekt_register.ztabStatus_Projekt_ufo.Form.FilterOn = True



Was mache ich falsch?

DF6GL

Hallo,

falsch ist, der Eigenschaft "Filter" einen kompletten  SQL-String zuzuweisen...



richtig wäre, lediglich den Where-Condition-Teil (ohne "where" ) zu verwenden:

ME!ztabStatus_Projekt_ufo.Form.Filter = "[ProjektID]= " & nz(Me.Liste100,0)

MatzeDB

sorry, aber bei mir tut sich da gar nichts. Das Ufo zeigt zwar DS an, aber eben nur einen und nicht den der in Liste ausgewählt wurde.

Me!ztabStatus_Projekt_ufo.Form.Filter = "[ProjektID]=" & Nz(Me.Liste100, 0)
Me.ztabStatus_Projekt_ufo.Requery


(beim Ereignis Klick, beim Listenfeld)

DF6GL

Hallo,

steht der richtige Vergleichswert (--> ProjektID) in der ersten Spalte des Listenfeldes?

Ist das UFO mit dem HaFo über irgendwelche (schlüssel-) Felder verknüpft?

Zeigt das UFo beim Öffnen des HaFo überhaupt auch den später gesuchten DS an?

Wie lautet die Datenherkunft des UFo?

MatzeDB

Hallo.

Ja die ProjektID ist im Listenfeld an Stelle 1, aber ausgeblendet.

Ja das Ufo ist mit dem HaFo verknüpft: Verknüpfen von ProjektID_F ; Verknüpfen nach ProjektID

Das Hafo zeigt mir alle eingegebenen DS im Listenfeld an. Und im Ufo nur die DS mit dem ProjektID_F - Wert 10.

Die Datenherkunft ist aus einer Zwischentabelle.


DF6GL

Hallo,


und warum willst Du das UFO zusätzlich nochmal filtern, wenn es schon über die ProjektID verknüpft ist?


(Außerdem heißt das UFO-Feld "ProjektID_F" und nicht "ProjektID" , nach dem Du filtern müßtest)



MatzeDB

Hallo,

in dem Listenfeld sehe ich alle DS aufgelistet. Im Ufo sehe ich Details zu den Datensätzen. Nun ist es so das ich mit der DS-Navigatorleiste mich durch die DS klicken kann und das Ufo ändern sich dementsprechend.

Ich möchte aber das sich das Ufo ändern wenn ich einen DS im Listenfeld anklicke. Und das funktioniert eben nicht...

:(

DF6GL

Hallo,

dann entferne die Einträge in den Eigenschaften "Verknüpfen von/nach"  und benutze sowas:

Sub Liste100_Click()
Me!ztabStatus_Projekt_ufo.Form.Filter = "[ProjektID_F]=" & Nz(Me!Liste100, 0)
Me.FilterOn=true
End Sub

oder setze gleich die UFO-Verknüpfungseigenschaften etwa so:

Von: [ProjektID_F]
Nach: [Liste100]

MatzeDB

es klappt... wie einfach eigentlich ( und ich dokter da nun schon tage lang rum... :( )

ich habe nun die zweite Möglichkeit genutzt.

Welchen unterschied gibt es?


DF6GL

Hallo,


"Welchen unterschied gibt es?"

was willst Du dazu hören?

die erste Möglichkeit nutzt die Filter-Eigenschaft des Form,
die zweite die Filterung über die Verknüpfungs-Eigenschaften....

MatzeDB

ja ich dachte vielleicht es gibt da Unterschiede bei der weiteren Verwendung.

Na das werde ich dann wohl merken.. :)

Danke dir.