Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Per Buttonklick Daten aus Listenfeld übernehmen
zurück: once again: Zähler (Endlosformular) weiter: Daten in Unterformular darstellen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
DoMe
Gast


Verfasst am:
28. Jan 2005, 18:38
Rufname:

Per Buttonklick Daten aus Listenfeld übernehmen - Per Buttonklick Daten aus Listenfeld übernehmen

Nach oben
       

Hallo Freunde,

in einem Formular lese ich aus einer Tabelle Daten in ein Listenfeld ein.
Diese werden auch dargestellt.
Mit einem Klick einer Schaltfläche möchte ich nun die ausgewählten Daten für weitere Aktionen übernehmen.

Wie weise ich einer Variable beim Klick auf "Befehl10" den Inhalt der Daten aus "Liste5" zu? Ich war so naiv zu denken, dass es mit

var = Liste5.ItemsSelected geht.

Zur Kontrolle wollte ich die Daten mir dann in dem Listenfeld "Liste6" diese Daten dann anschauen.
Auch hier weiß ich nicht wie?
Kann mir jemand einen Tipp für diese Listfelder geben?

Danke schonmal - DoMe
lupos
Moderator


Verfasst am:
30. Jan 2005, 19:24
Rufname:
Wohnort: Seesen


Per Buttonklick Daten aus Listenfeld übernehmen - Per Buttonklick Daten aus Listenfeld übernehmen

Nach oben
       

HALLO DoMe

Ich möchte dir mir diesem Posting ein wenig unter die Arme greifen.

Was Du mit den Daten aus deiner Listbox so alles anstellen möchtest kann ich leider nicht wissen, deshalb nur erst einmal wie Du die Daten aus der Listbox auslesen kannst.

Der Ansatz mit Liste5.ItemsSelected ist schon richtig, Du mußt dieses bloß noch in eine Schleife setzen.

Zu nächst erst einmal wie Du die selektierten Daten aus Listbox5 in eine zweite Listbox6 schreiben kannst.

Hierzu der VBA-Code:
Code:
Private Sub Befehl10_Click()
    Dim VarElement As Variant

    Me!Liste6.RowSourceType = "Value List"
    Me!Liste6.RowSource = ""
    For Each VarElement In Me!Liste5.ItemsSelected
        Me!Liste6.RowSource = IIf(Me!Liste6.RowSource = "", _
                                  Me!Liste5.ItemData(VarElement), _
                                  Me!Liste6.RowSource & ";" & _
                                  Me!Liste5.ItemData(VarElement))
    Next
End Sub

Als nächstes wie kannst Du die Daten in eine Variable schreiben, zum einen kannst Du diese natürlich wie zuvor anstatt in die Listbox5 genauso eventuell durch Kommata getrennt in eine Variable schreiben. Benötigst Du für die Weiterverarbeitung diese Daten allerdings als Datenfeld, mußt Du hierzu eine Indizierte Variable benutzen.

Hierzu ein Beispiel wie Du dieses mit einer indizierten Variablen erledigen kannst.
Code:
Private Sub Befehl10_Click()
On Error GoTo ErrorHandler
    Dim VarElement As Variant, ListValue() As Variant, I As Integer

    For Each VarElement In Me.Liste5.ItemsSelected
        ReDim Preserve ListValue(UBound(ListValue()) + 1)
        ListValue(UBound(ListValue())) = Me.Liste5.ItemData(VarElement)
    Next
    For I = 1 To UBound(ListValue())
        MsgBox ListValue(I)
    Next
    Exit Sub

ErrorHandler:
    Select Case Err.Number
      Case Is = 9
        ReDim ListValue(1)
        Resume Next
    End Select
End Sub

Zu letzt werfe ich die selektierten Daten noch einmal in einer Schleife als MsgBox aus.

Solltest Du noch weiter Fragen haben, kannst Du dich gerne noch einmal bei mir melden.

Über ein Featbeck würde ich mich natürlich freuen.

Schönen Wochenanfang

_________________
Gruß Lupos
DoMe
bemühtes Access Greenhorn


Verfasst am:
01. Feb 2005, 21:30
Rufname:

AW: Per Buttonklick Daten aus Listenfeld übernehmen - AW: Per Buttonklick Daten aus Listenfeld übernehmen

Nach oben
       

Hallo Lupos,

vielen Dank für Deine Hilfe! Habe mit den Codes etwas rumgespielt.
Und es funktioniert. Zuerst habe ich beide Codes testweise benutzt und mich durch die Zeilen gestept....
Jetzt ist es auf meine Bedürfnisse 'zusammen gestrichen' Very Happy
Für mich war wichtig, dass ich einen ausgewählten Eintrag eines Listenfeldes in einer Variable übernehmen kann. Mit dieser Variablen will ich eine SQL-Abfrage erweitern.

Deine codes waren sehr hilf- und lehrreich. Ich hab leider nicht alles ganz verstanden....
Mit
Code:
    For Each VarElement In Me!Liste5.ItemsSelected
        Me!Liste6.RowSource = IIf(Me!Liste6.RowSource = "", _
                                  Me!Liste5.ItemData(VarElement), _
                                  Me!Liste6.RowSource & ";" & _
                                  Me!Liste5.ItemData(VarElement))
    Next
hab ich noch ein kleines Verständnisproblem. Vielleicht könntest Du diese Codezeilen noch etwas beschreiben.
Danke schonmal.

Gruß DoMe
lupos
Moderator


Verfasst am:
06. Feb 2005, 14:15
Rufname:
Wohnort: Seesen

Per Buttonklick Daten aus Listenfeld übernehmen - Per Buttonklick Daten aus Listenfeld übernehmen

Nach oben
       

HALLO DoMe

Ich habe dich nicht vergessen, musste in den letzten Tagen etliches für mich selber realisieren.

Nun möchte ich dir die besagte Schleifenkonstruktion näher erklären. Wie gesagt diese ist dazu da die ausgewählten Einträge aus dem Listenfeld Liste5 in das Listenfeld Liste6 zu schreiben.

Hierzu muß das Listenfeld Liste6 zu allererst auf Wertliste eingestellt werden, dies wird mit
Code:
    Me!Liste6.RowSourceType = "Value List"
erledigt. Nun werden die Einträge aus dem Listenfeld Liste6 alle mit
Code:
    Me!Liste6.RowSource = ""
gelöscht.

Jetzt zu der Schleife mit der die neuen bzw. die ausgewählten Listeneinträge aus dem Listenfeld Liste5 in das Listenfeld Liste6 geschrieben werden.

For Each besagt eigentlich nur Für alle, und mit Me.Liste5.ItemsSelected Für alle ausgewählten Einträge in dem Listenfeld Liste5. In der Variablen VarElement wird der Index des ausgewählten Listeneintrags gespeichert.

Wenn Du nun in dem Listenfeld Liste5 den dritten Listeneintrag ausgewählt haben solltest nimmt VarElement den Wert 2 an, da die Indices in einem Listenfeld immer mit 0 anfangen. Also der erste Eintrag in einem Listefeld hat immer den Index 0.

Nun wird diese Schleife so oft durchlaufen wie Listeneinträge in dem Listenfeld Liste5 ausgewählt sind.

Da das Listenfeld Liste6 nun auf Wertliste eingestellt ist müssen diese nun in folgender Form in das Listenfeld List5 geschrieben werden.

Eintrag1; Eintrag2 ;Eintrag3

Über ItemData(VarElement) wird der Listeneintrag ausgelesen, als Parameter für ItemData muß der Listenindex des entsprechenden Listenelementes mit übergeben werden der für unseren fall in der Variablen VarElement steht.

Dieses erledigt nun die IIF Funktion:
Code:
        Me!Liste6.RowSource = IIf(Me!Liste6.RowSource = "", _
                                  Me!Liste5.ItemData(VarElement), _
                                  Me!Liste6.RowSource & ";" & _
                                  Me!Liste5.ItemData(VarElement))

Für den ersten Listeneintrag braucht nur der Eintrag geschrieben werden, für jedes weitere Element muß zuerst ein Semikolon und dann der Eintrag angehängt werden.

Diese Schleifenkonstruktion kann auch sehr gut verwendet werden um an einen Bericht eine Filteroption zu übergeben.

Schönes Sonntag, und sei mir bitte nicht böse das ich mich erst heute melde.
Ich hoffe ich habe mich für dich einiger maßen Verständlich ausgedrückt, solltest Du noch weitere Fragen haben kannst Du dich natürlich jeder Zeit bei mir melden.

Über ein Featbeck würde ich mich natürlich freuen

_________________
Gruß Lupos
DoMe
bemühtes Access Greenhorn


Verfasst am:
07. Feb 2005, 10:17
Rufname:


Tausend Dank - Tausend Dank

Nach oben
       

Hallo Lupos,

find ich richtig SUPER, dass Du Dir die Mühe gemacht hast den Code zu erklären. Vielen Dank!!!

Habe es soweit verstanden - Also ist Deine Erklärung verständlich. enke auch, dass andere Leser etwas von diesem Posting haben werden. Ich jedenfalls habe jetzt dazu gelernt.

Vielen Dank für Deine Mühe.

Grüße DoMe
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Rechnung erstellen wenn alle Daten vorhanden 6 Freddy 1909 25. Nov 2004, 11:03
Freddy Rechnung erstellen wenn alle Daten vorhanden
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern aus Kombi & Listenfeld 1 Gast 817 16. Nov 2004, 22:07
lothi Filtern aus Kombi & Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: hyperlinks aus tabelle übernehmen 0 christatos 608 16. Nov 2004, 12:16
christatos hyperlinks aus tabelle übernehmen
Keine neuen Beiträge Access Tabellen & Abfragen: Per SQL maximalen Spaltenwert im VBA code ermitteln 2 Gast 4779 31. Okt 2004, 23:10
Tom2002 Per SQL maximalen Spaltenwert im VBA code ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: Daten aus einer dat Datei in eine Access Tabelle einlesen! 7 VP 001 8238 26. Okt 2004, 21:57
snurb Daten aus einer dat Datei in eine Access Tabelle einlesen!
Keine neuen Beiträge Access Tabellen & Abfragen: Komment. u Daten in zelle schreiben, Zellenausrichtung festl 2 k@lle 816 06. Okt 2004, 11:49
k@lle Komment. u Daten in zelle schreiben, Zellenausrichtung festl
Keine neuen Beiträge Access Tabellen & Abfragen: Einen Wert per Abfrage in mehreren Tabellenspalten suchen 2 Danny G. 606 10. Sep 2004, 18:22
Danny G. Einen Wert per Abfrage in mehreren Tabellenspalten suchen
Keine neuen Beiträge Access Tabellen & Abfragen: Daten Trennen 4 Oliver.Giertz 1194 02. Sep 2004, 13:05
Oliver.Giertz Daten Trennen
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrfachauswahl aus Listenfeld kombiniert mit SQL IN (...) 2 SMArmageddon 2417 01. Sep 2004, 15:07
SMArmageddon Mehrfachauswahl aus Listenfeld kombiniert mit SQL IN (...)
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Monate zwischen 2 Daten 2 master_tj 1837 22. Jul 2004, 13:17
master_tj Anzahl der Monate zwischen 2 Daten
Keine neuen Beiträge Access Tabellen & Abfragen: Access-Daten aus mehreren Word-files übernehmen. 4 mw1 481 12. Jul 2004, 16:08
lothi Access-Daten aus mehreren Word-files übernehmen.
Keine neuen Beiträge Access Tabellen & Abfragen: 2 tabellen verknüpfen und daten übergeben 5 mihca 2004 05. Jun 2004, 13:22
mihca 2 tabellen verknüpfen und daten übergeben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme