Datenübernahme aus Listbox in gebundene Textbox auf Formular (Access)

Mayni, Donnerstag, 17.01.2019, 15:31 (vor 36 Tagen)

Hallo zusammen, ich habe mich hier heute angemeldet, da ich als blutiger Anfänger gern in diesem Forum lese.

Leider finde ich in meiner Recherche keine Ansätze mit denen ich weiterkomme und hoffe auf Eure Hilfe.


Meine Ausgangssituation meiner Datenbank Access 20007

Eine Tabelle TARA mit den Spalten, Artikelnummer, Artikelbezeichnung, Linie und EAN Code.


Darauf habe ich ein gebundenes Formular TARA1.

Hierauf gebundene Textfelder
Artikelnummer, Artikelbezeichnung, Linie und EAN Code

Weiterhin ein ungebundenes Kombinationsfeld und eine ungebundene Listbox.

Das Kombinationsfeld156 hat die Einstellung in den Eigenschaften:

SELECT TARA.ID, TARA.[EAN Code] FROM TARA ORDER BY TARA.[EAN Code];

Ereignis Ereignisprozedur
Private Sub Kombinationsfeld156_AfterUpdate()
Liste158.Requery
End Sub

Die Listbox (Liste158) Datensatzherkunft in den Eigenschaften

SELECT TARA.Artikelnummer, TARA.Artikelbezeichnung, TARA.Linie FROM Tara WHERE Linie = Kombinationsfeld156;


Meine Frage:

Wie kann ich die Daten der Listbox nun durch klick in die Listboxposition
In die gebundenen Texboxen übergeben?

Meine Idee war hierzu das eingebettete Makro Einstellungen Nach Aktualisierung.
SucheNachDatensatz
Bedingung ="[ID] = " & Str(Nz([Screen].[ActiveControl];0))

Leider funktioniert das so nicht.
Kann mir jemand einen Tipp geben oder erkennen was ich falsch mache?

Vielen Dank für jeden Ratschlag.
ich hoffe ich habe alle Regeln eingehalten, sollte es nicht so sein, genügt ein kurzer Ratschlag.

Beste Grüße Mayni

Datenübernahme aus Listbox in gebundene Textbox auf Formular

Martin Asal @, Donnerstag, 17.01.2019, 16:40 (vor 36 Tagen) @ Mayni

Hallo und toll, dass du so viele Infos mitlieferst :-)

Wenn ich das richtig verstanden habe, möchtest du ja einfach nur im Kombifeld einen Datensatz auswählen, und dieser Datensatz soll dann im Formular angezeigt werden.

Das bekommst Du wie folgt hin:

Private Sub Kombinationsfeld156_AfterUpdate()
Me.Recordset.FindFirst "ID = " & Me.Kombinationsfeld156
End Sub

Martin

Datenübernahme aus Listbox in gebundene Textbox auf Formular

Mayni, Freitag, 18.01.2019, 10:45 (vor 36 Tagen) @ Martin Asal

Hallo Martin, vielen Dank für deine Mühe und prompte Antwort.

Leider habe ich vergessen zu sagen, dass die Daten, die ich über das Kombinationsfeld156 in die Listbox Liste158 übergebe, mehrere Positionen beinhalten können.

Somit ist den Ansatz gut, solange ich nur einen Datensatz in der Listbox Liste158 vorfinde.
Befinden sich zwei oder mehrere Datensätze in der Listbox, wird es so nicht funktionieren, denke ich.

Ich denke das es wohl ein klick Event sein sollte. Nur wie, das fehlt mir.


Vielen Dank für deine Mühe und vlt. hast du ja noch eine Idee?

Beste Grüße Mayni

Datenübernahme aus Listbox in gebundene Textbox auf Formular

Martin Asal @, Freitag, 18.01.2019, 12:09 (vor 35 Tagen) @ Mayni

Befinden sich zwei oder mehrere Datensätze in der Listbox, wird es so nicht funktionieren, denke ich.

Dann musst du dir erst mal selbst überlegen, welchen davon du eigentlich ansteuern willst.

Martin

Datenübernahme aus Listbox in gebundene Textbox auf Formular

Mayni, Mittwoch, 23.01.2019, 14:07 (vor 30 Tagen) @ Martin Asal

Hallo Martin, vielen dank für deinen Antwort.

Ich kann nicht beantworten, welche Zeile genau ich anwählen will.
Das ergibt sich aus der Selektion und den gefundenen Daten.

Ich versuche es noch einmal darzustellen, sollte es sich nicht erklären, ja dann habe ich keinen Ansatz wie ich es erklären kann.
Evtl. muss ich mir dann etwas anderes als Ansatz überlegen.

Ich hoffe aber das du mit den Angaben etwas anfangen kannst.

Mein Formular TARA enthält ein ungebundenes Kombinationsfeld18
Datensatzherkunft: SELECT DISTINCT Linie FROM TARA;
Herkunftstyp: Tabelle/Abfrage
Nach Aktualisierung: Ereignisprozedur]
Private Sub Kombinationsfeld18_AfterUpdate()
Liste20.Requery
Me.Text24 = Me.Liste20.Column(0)
End Sub

Weiter ein ungebundenes Listenfeld, Liste20
Datensatzherkunft: SELECT TARA.Artikelnummer, TARA.Artikelbezeichnung FROM Tara WHERE Linie = Kombinationsfeld18;

So wie oben beschrieben werden die Daten also in der Liste 20 auf Grundlage der Selektion
SELECT TARA.Artikelnummer, TARA.Artikelbezeichnung FROM Tara WHERE Linie = Kombinationsfeld18;
in 2 Spalten und mehreren Zeilen angezeigt.

In der Listbox können nach meinem Kenntnisstand keine Daten geä. werden.

Deswegen müsste also nach einem Klick auf eine nicht vordefinierte Zeile der Liste20 der Datensatz in die gebundenen Textboxen übergeben werden.


Das Ganze funktioniert auch im Standard.
Einen Datensatz im Formular anhand des Wertes suchen, den ich im Listenfeld ausgewählt habe.

Test Liste166
Datensatzherkunft: SELECT [TARA].[ID], [TARA].[Artikelnummer], [TARA].[Artikelbezeichnung] FROM TARA;

Herkunftstyp: Tabelle/Abfrage
Nach Aktualisierung: eingebettetes Makro:
SuchenNachDatensatz
Objekttyp
Objektname
Aufnahme Erster
Bedingung = ="[ID] = " & Str(Nz(Screen.ActiveControl;0))


Vielen Dank für deine Mühe und Zeit.

Mayni

Datenübernahme aus Listbox in gebundene Textbox auf Formular

Martin Asal @, Donnerstag, 24.01.2019, 10:55 (vor 30 Tagen) @ Mayni

Hallo Mayni,

mit anderen Worten, Liste20 kann mehrere Zeilen enthalten, obwohl sie schon durch das Kombifeld eingegrenzt wurde. Nun soll nach der Auswahl in der Liste z. B. Text24 angepasst werden.

Private Sub Liste20_AfterUpdate()
Me.Text24 = Me.Liste20.Column(0)
End Sub

Aber um dem User einen Arbeitsschritt zu ersparen, würde ich entweder auf das Kombi- oder das Listenfeld verzichten. Deine Tabelle "Tara" hat doch bestimmt einen Primärschlüssel? Mach ihn zum Steuerelementinhalt des Feldes, das du behälst, und damit kannst du dann weitermachen.

Martin

RSS-Feed dieser Diskussion
powered by my little forum