PDA

Vollständige Version anzeigen : Automatisch checkboxen setzten


dafi
28.10.2003, 07:31
Hi Folks,

ist es möglich automatisch checkboxen zusetzen?
Ich lese eine Tabelle auch, die gibt mir z.B. 15 gezählte sachen raus. Nun hätte ich gern das beim form öffnen automatisch 15 checkboxen dargestellt werden, die dann als filter später dienen sollen.

viellen Dank für ideen

gruß darius

Lothi
28.10.2003, 07:47
Hallo Darius

Mit CreateControl(Formularname, Steuerelementtyp[, Bereich[, übergeordnet[, Spaltenname[, links[, oben[, Breite[, Höhe]]]]]]])


Kannst du neue Steuerelemente während der Laufzeit erstellen (siehe OH).
Da das Erstellen neuer Steuerelemente nur in der Entwurfsansicht möglich ist muss das Formular zuerst im Entwurf geöffnet werden und dann wieder in die Ansicht wechseln. Sieht nicht so gut aus und das Platzieren der Checkboxen gibt eine heiden Arbeit.

Mein Vorschlag währe eher ein Listenfeld zu nehmen und auf Mehrfachauswahl stellen.
So kann man das Kriterium aus der Liste Auswählen und weiterverarbeiten.
Dann ist auch egal wieviele Datensätze da sind.

stpimi
28.10.2003, 07:48
Zur Laufzeit kannst Du keine Steuerelemente dem Formular hinzufügen.
Du kannst Dir nur eine bestimmte Zahl unsichtbar vordefinieren und nach Bedarf sichtbar machen. Ist aber ein Problem, wenn die Zahl der nötigen Felder uneinheitlich ist und sehr groß ist.

Alternativvorschlag: Gib Deine Datensätze in einem Listenfeld aus und aufgrund der gewählten WErte (Mehrfachselektion) machst Du deinen Filter?

Mfg, Michael

dafi
28.10.2003, 07:55
Hi,

viellen dank erstmal für die Ideen.
Über eine Listbox habe ich noch nicht nach gedacht.
Aber da fällt mir ein, wie kann ich wenn ich in einer Listbox mehrere sachen ausgewählt habe, diese dann an eine Query übergeben damit diese bei der Abfrage auch berücksichtigt werden?
Habt ihr mir vielleicht ein Beispiel dafür?

Wäre super,

Gruß darius

Lothi
28.10.2003, 08:06
Hallo Darius


Aus der OH:
Beispiel
Das folgende Beispiel gibt den Wert der gebundenen Spalte für jede ausgewählte Zeile im Listenfeld Namen des Formulars Kontakte aus.
Zum Testen dieses Beispiels erstellen Sie das Listenfeld, und stellen Sie seine BoundColumn-Eigenschaft nach Belieben
und seine MultiSelect-Eigenschaft auf Einzeln oder Erweitert ein.
Wechseln Sie zur Formularansicht, wählen Sie mehrere Zeilen im Listenfeld aus, und führen Sie dann den folgenden Code aus:

Sub BoundData()
Dim frm As Form, ctl As Control
Dim varItm As Variant

Set frm = Forms!Contacts
Set ctl = frm!Names
For Each varItm In ctl.ItemsSelected
Debug.Print ctl.ItemData(varItm)
Next varItm
End Sub


Sonst hier im Forum Listbox eingeben und du findest sicher viele Beispiele.