2009-08-24 3 views
0

Guten TagMS Access Erstellung Bericht über Kontrollkästchen

Erstellt Tabellen = Lieferanten, Produkte

Ich habe ein form.I eine Combo-Box erstellt, die alle Produkte eines bestimmten Unternehmens anzeigt. Ich brauche diese Combo-Box, die alle Produkte mit einem Kontrollkästchen oder einem anderen Steuerelement neben jedem Produkt anzeigt, damit ich mehr als ein Produkt auswählen kann.

Dann wie erstelle ich einen Bericht nur der geprüften Produkte.

.... Neuling ms 2007 zuzugreifen

+1

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. –

+0

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

+0

Ist das ein Duplikat? http://stackoverflow.com/questions/1305778/ms-access-check-box – JeffO

Antwort

4

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