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ß
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
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
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?
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)
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)
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?
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.
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)
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...
:(
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]
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?
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....
ja ich dachte vielleicht es gibt da Unterschiede bei der weiteren Verwendung.
Na das werde ich dann wohl merken.. :)
Danke dir.