Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: MatzeDB am März 10, 2011, 21:14:39

Titel: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 10, 2011, 21:14:39
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ß
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: imp666 am März 11, 2011, 08:17:01
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
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: Jonny am März 11, 2011, 08:26:29
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
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 17:17:08
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?
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: DF6GL am März 11, 2011, 17:30:43
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)
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 17:42:33
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)
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: DF6GL am März 11, 2011, 17:53:22
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?
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 18:24:17
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.

Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: DF6GL am März 11, 2011, 22:48:45
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)


Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 23:15:54
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...

:(
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: DF6GL am März 11, 2011, 23:23:29
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]
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 23:35:53
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?

Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: DF6GL am März 11, 2011, 23:45:56
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....
Titel: Re: Ufo in Abhängigkeit eines Listenfeldes (im Hfo) füllen
Beitrag von: MatzeDB am März 11, 2011, 23:49:07
ja ich dachte vielleicht es gibt da Unterschiede bei der weiteren Verwendung.

Na das werde ich dann wohl merken.. :)

Danke dir.