Neuigkeiten:

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

Mobiles Hauptmenü

Formular: Wert als Filter an Listbox und Eintrag Listbox an Ufo übergeben

Begonnen von tomm85, September 26, 2020, 17:12:50

⏪ vorheriges - nächstes ⏩

tomm85

Hallo geschätzte Access-o-Manie-Community,

in nachfolgender Darstellung habe ich markiert, was ich mir wünsche.
1.) Die Listbox soll nur die Einträge zugehörig zu dieser Kunden-Nr. anzeigen
2.) Die AngebotID des markierten Eintrags in dieser Listbox möge an das UFo weitergegeben werden.

Sie dürfen in diesem Board keine Dateianhänge sehen.
Sie dürfen in diesem Board keine Dateianhänge sehen.

Könnte mir bitte jmd helfen / mich anleiten, das umzusetzen? Dazu sei erwähnt, dass ich von VBA reichlich wenig Ahnung hab und vermutlich deshalb ein, zwei Details mehr brauche  ???

Beaker s.a.

#1
Private Sub ListBoxAngebote_AfterUpdate()
    Me.ufAngebot.Form.Recordset.FindFirst "AngebotID = " & Me.ListBoxAngebote
' "ufAngebot" muss der Name des Rahmens sein, NICHT der des Forms
End Sub
(Namen anpassen)

Ach so, die Listbox musst du auf die KundenID filtern
SELECT AngebotID, Angebot_KundeID_F, AngebotDatum, AngebotBeschreibung
FROM tblAngebote
WHERE Angebot_KundeID_F = Forms!fKunde!KundeID
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)


tomm85

perfekt - funktioniert :-) :-) :-)

und wie kann ich die ListBox noch auf nur jene Einträge filtern, die dem Feld "KundeID" entsprechen?
...also Punkt 1 in meinem Screenshot im Auftakt-Post oben.

MzKlMu

Hallo,
steht doch auch in der Antwort von Beaker s.a. (2. Codebeispiel)
Gruß Klaus

tomm85

@MzKlMu : Korrekt. Ich würde sagen der Post ist geupdated worden - ich schwöre das hat vorher da noch nicht gestanden. Anyways - so passt es!

Danke euch!

tomm85

ja, der Select tut auch, was er soll. Auch dafür mein aufrichtiger Dank.

Jetzt fehlt irgendwie nur noch eine Aktualierung, wenn ich einen Datensatz (sprich einen Kunden) weiterspringe; da stehen dann nämlich im Moment noch die Angebote vom ersten Kunden (also jenem bei Aufruf des Formulars).

Das oben war ja jetzt ein SQL-Statement, welches ich bei der ListBox in die Datensatzherkunft gepackt habe und ich vermute, da muss jetzt noch irgendetwas in die Ereignis-Felder nach oder vor Aktualisierung, allerdings dann VBA, richtig?

Beaker s.a.

der Post ist geupdated worden Ja, stimmt, habe vergessen das zu markieren, sorry.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Beaker s.a.

Zitatnur noch eine Aktualierung, wenn ich einen Datensatz (sprich einen Kunden) weiterspringe
Private Sub Form_Current()
    Me.ListBoxAngebote.Requery
End Sub
Zum Verständnis lese das Ereignis in der OH nach.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

tomm85


tomm85

Noch eine ergänzende Frage dazu: Kann ich auch die ID / die Datensatz-Nr. des UFo's also "Markierung" / "Datensatz-Markierer"* der ListBox (falls der da auch so heißt) zurückgeben? ... s. Bild

Sie dürfen in diesem Board keine Dateianhänge sehen.

Sie dürfen in diesem Board keine Dateianhänge sehen.

Der "angeklickte" Eintrag wird ja - danke Deiner Hilfe - an das UF übergeben. Wenn ich jedoch im UF per Navigationsleisten blättere, könnte beim User Verwirrung entstehen. Klar, ich könnte die Nav-Schaltflächen deaktivieren, das brächte aber seinerseits wieder andere Probleme.


Beaker s.a.

im UFo (ungetestet)
Private Sub Form_Current()
    With Me.Parent
        .ListBoxAngebote = .ListBoxAngebote.ItemData(Me.txtAngebotID)
    End With
End Sub
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

tomm85

Hallo @Beaker s.a. ,

fast!
Beim Blättern im UF (z.B. zu AngebotID=4) springt die Markierung in der ListBox zum 4. Eintrag, nicht zur zweiten Zeile, wo eigentlich die AngebotID=4 ist.

VG + Dank

Beaker s.a.

Hallo Tom,
War mir auch nicht so sicher. Versuche (bei mir hat es so geklappt)
Private Sub Form_Current()
    With Me.Parent
        .ListBoxAngebote.Selected(.ListBoxAngebote.ItemData(Me.txtAngebotID)) = True
    End With
End Sub
Wobei die Spalte mit der AngeboteID die gebundene sein muss.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)