Leider dass Slick neue Mehrwert-Kombinationsfeld Dropdown mit einem Kontrollkästchen in den Spalten enthalten ist nicht von einem Programmierer entwicklungspolitischer Sicht zur Verfügung. (Die Fähigkeit, dieses Steuerelement für unsere eigenen Bedürfnisse zu verwenden, wird heutzutage eine häufige Anfrage - es ist sehr glatt contorl)
Ich bin nicht sicher, ob andere Plakate verwirrt sind oder nicht dieses neue Feature in Access 2007 kennen Es ist also ganz natürlich, dass Sie nach dieser Möglichkeit suchen, diese coole Kombinationsfeldfunktion zu verwenden, um Parameter zu einem Bericht zu steuern und zuzuführen.
Leider ohne viele Codierungstricks und eine gebundene Tabelle für die ausgewählten Werte können Sie dieses Steuerelement nicht verwenden. (So ist es möglich, aber nicht einfach).
In diesem Fall empfiehlt es sich, einfach ein Listenfeld auf das Eingabeaufforderungsformular zu setzen.
Machen Sie die erste Spalte der Liste den Primärschlüssel oder die so genannte Produkt-ID, die intern in Ihrer Anwendung verwendet wird. Geben Sie in der zweiten Spalte die Beschreibung ein, die der Benutzer sehen und in der Listbox auswählen soll. (Der Assistent sollte die erste Spaltenlänge auf Null setzen, damit die Produkt-IDs vom Benutzer nicht gesehen werden. Falls nicht, können Sie dies manuell festlegen, nachdem der Assistent das Listenfeld für Sie erstellt hat).
Sie müssen dann das Formular im Entwurfsmodus öffnen und auf der anderen Registerkarte eines Listenfelds ändern, um multi select = yes zu setzen und zuzulassen. Mit dieser Einstellung kann der Benutzer mehr als eine Option im Listenfeld auswählen.
Sie werden dann hinter dem Knopf, der die Liste der Parameter oder Werte aus dem Listenfeld nimmt eine Schaltfläche auf dem Formular mit dem folgenden Code platzieren müssen und übergibt sie den Bericht
Dim MySql As String
Dim MySelection As Variant
MySql = ""
If Me.lstProducts.ItemsSelected.Count > 0 Then
For Each MySelection In Me.lstProducts.ItemsSelected
If MySql = "" Then
MySql = "("
Else
MySql = MySql & " or "
End If
MySql = MySql & " ProductID = " & Me.lstProducts.Column(0, MySelection)
Next MySelection
MySql = MySql & ") "
End If
End If
Docmd.OpenReprot “nameOfRepor”,acViewPreview,,mySql
Die oben Angenommen, Ihr Feld für die Produkt-ID lautet ProductID
Können Sie uns mitteilen, was Sie selbst versucht haben und wo Sie Schwierigkeiten haben? Leider gibt es hier nicht genug Informationen, um uns zu helfen. –
Dies scheint keine gute Möglichkeit zu sein, dies einzurichten, es sei denn, die Produkte sind in einer fortlaufenden Form aufgelistet, und trotzdem ist ein Kontrollkästchen, das jedes Mal gelöscht werden muss, nicht der beste Ansatz. – Fionnuala
Ist das ein Duplikat? http://stackoverflow.com/questions/1305778/ms-access-check-box – JeffO