Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Listbox





Frage

Hi, ich hoffe ihr koennt mir helfen. Ich habe ein Formular mit 2 Listboxen - eine mit Eintraegen, eine ohne. Jetzt moechte ich in der einen Werte auswaehlen und per Tastendruck in die andere Liste schaffen. Wie mache ich das blos ? Danke. Ciao senifor

Antwort 1 von struppi

Hallo
Es geht ein spezielle Auswahl eines Listenfeldes in ein anderes Listenfeld zu schreiben.
Man nutzt die RowSourceType-Eigenschaft des Listenfeldes und schreibt ein spezielle benutzerdefinierte Funktion.
Diese Methode setzt aber ein wenig vb
Wissen voraus. Versuche dich mal in der Access Hilfe rund um die RowSourceType-Eigenschaft schlau zu machen.
Am besten wäre aber, du würdest zunächst versuchen einfache Wege zu gehen (Abfrage etc)

Antwort 2 von senifor

Also, ich hab schon mal eine Fkt. geschrieben gehabt. Allerdings habe ich die Eintraegen nur in die erste Zeile der 2. Listbox bekommen.
Ciao senifor

Antwort 3 von struppi

Hallo
Ich kopiere hier mal das Beispiel aus der Access -Hilfe rein:
Die folgende benutzerdefinierte Funktion gibt eine Liste der nächsten vier Montage, die dem heutigen Datum folgen, zurück. Damit diese Funktion aus dem Listenfeld-Steuerelement aufgerufen werden kann, geben Sie MontageAuflisten als Einstellung der Eigenschaft RowSourceType an, und lassen Sie die Eigenschaft RowSource leer.

Function MontageAuflisten(Feld As Control,ID As Variant,Zeile As Variant,Spalte As Variant,Code As Variant) As Variant
Dim intOffset As Integer
Select Case Code
Case acLBInitialize Initialisieren.
MontageAuflisten = True
Case acLBOpen Öffnen.
MontageAuflisten = Timer Eindeutige ID.
Case acLBGetRowCount Zeilen lesen.
MontageAuflisten = 4
Case acLBGetColumnCount Spalten lesen.

MontageAuflisten = 1
Case acLBGetColumnWidth Spaltenbreite abrufen.
MontageAuflisten = -1 Standardbreite verwenden.
Case acLBGetValue Die Daten lesen.
intOffset = Abs((9 - Weekday(Now))Mod 7)
MontageAuflisten = Format(Now() + intOffset + 7 * Zeile,"d. mmmm")
End Select
End Function

Im nächsten Beispiel wird ein statisches Datenfeld verwendet, um die Namen der Datenbanken im aktuellen Verzeichnis zu speichern. Sie rufen diese Funktion auf, indem Sie MDBsAnzeigen als Einstellung der Eigenschaft RowSourceType eingeben und die Eigenschaft RowSource leer lassen.

Function MDBsAnzeigen(Feld As Control, ID As Variant, Zeile As Variant, Spalte As Variant, Code As Variant) As Variant
Static DBs(127) As String, Einträge As Integer
Dim Ergebniswert As Variant
Ergebniswert = Null
Select Case Code
Case acLBInitialize Initialisieren.
Einträge = 0
DBs(Einträge ) = Dir("*.MDB")
Do Until DBs(Einträge) = "" Or Einträge >= 127
Einträge = Einträge+1

DBs(Einträge) = Dir
Loop
Ergebniswert = Einträge
Case acLBOpen Öffnen.
Ergebniswert = Timer Eindeutige ID für Steuerelement erzeugen.
Case acLBGetRowCount Die Anzahl der Zeilen lesen.
Ergebniswert = Einträge
Case acLBGetColumnCount Die Anzahl der Spalten lesen.
Ergebniswert = 1
Case acLBGetColumnWidth Die Spaltenbreite.
Ergebniswert = -1 -1 besagt: Standardbreite verwenden.

Case acLBGetValue Die Daten abrufen.
Ergebniswert = DBs(Zeile)
Case acLBEnd Ende.
Erase DBs
End Select
MDBsAnzeigen = Ergebniswert
End Function

Antwort 4 von senifor

Danke. senifor

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: