2017-10-15 4 views
0

Ich versuche, etwas zu tun, das ich bisher als komplex betrachte, und bin in der Lage, ein Listenfeld aus der Spalte eines anderen Listenfelds zu filtern, um Daten zu erhalten, die nicht verknüpft sind .Filterliste aus der Spalte einer anderen Liste

Vor Filter

imagen antes de filtrar

Nach Filter

despues de filtrar

Im Bild oben können Sie sehen, dass ich die Frito Lay Marke ausgewählt, und es filtert mich die Liste, die in der Mitte ist, zeigt mir nur, was mit dieser Marke verbunden ist, aber in der Liste, die ist Als nächstes, welches von Kategorien ist, sollte nur einer erscheinen, ayq der von den drei registrierten, nur einer ist nicht mit einer anderen Marke verwandt und ist die Kategorie oder Linie chocolatinas.

Die Beziehungen zwischen den Tabellen sind als

tablas

es diese

filas_lista = Me.Lista1.ListCount 

    For Fila = 0 To cantidad - 1 

     cod_categoria = Me.Lista1.Column(3, Fila) 

     consulta = "SELECT Categorias.Id_Categoria_Auto, Categorias.Nombre_Categoria" & _ 
        " FROM Categorias" & _ 
        " WHERE (((Categorias.Id_Categoria_Auto)<>" & cod_categoria & "))" 

     Me.lista_categoria_union.RowSource = consulta 
     Me.lista_categoria_union.Requery 

    Next Fila 
die gefilterte Liste

Navigieren kam ich in dem Sinne folgt, und von dort aus, lassen Sie in der Liste Kategorie diejenigen Diese werden nicht wiederholt, sondern nur nach dem letzten Eintrag in der Liste gefiltert.

+0

Sie die mittlere listbox Radfahren sind? Warum nicht einfach die Kategorieliste basierend auf den ausgewählten Marken setzen? Das RowSource-SQL kann COLOURIAS und T_Marc_Categoria verbinden und das Nomb_Marca-Feld filtern. Warum brauchen Sie Kategorien Listbox? Die relevanten Kategorien befinden sich bereits in der mittleren Listbox. – June7

+0

@ Juni7 Hallo, ich brauche die Kategorien, die nicht Beziehung mit Marca sind, ich wähle zum Beispiel, wenn es neue Kategoria für diese Marca hinzufügen möchte, brauche ich eine Liste damit. –

Antwort

1

Sie wollen categoria nicht mit dem ausgewählten marca verbunden sind, dann betrachten:

= "SELECT ID_Categoria_Auto, Nombre_Categoria " & _ 
"FROM Categorias LEFT JOIN T_Marc_Categ ON Categorias.ID_Categoria_Auto = T_Marc_Categ.ID_Linea " & _ 
"WHERE ID_Marca<>" & cod_categoria & " OR ID_Marca Is Null;" 
+0

Ich habe Tabellen pro Modell erstellt und die Abfrage funktioniert definitiv für mich - getestet im Abfrage-Designer. Obwohl ich Eingabeaufforderung verwendet habe, verweisen Sie nicht auf ein Formularsteuerelement. Keine Ahnung, was Sie meinen, indem Sie zwei Zugangsberatungen verwenden, um die Daten zu erhalten. – June7

+0

Ich verstehe nicht, was ist '[cod_categoria]', ich spreche über, Abfrage mit einer Unterabfrage, [link] (https://pastebin.com/dUBmQGtF) –

+0

[cod_categoria] ist variabel in Ihrem Code. Entschuldigung, ich hätte [] nicht verwenden und verketten müssen. Siehe bearbeitete Antwort. – June7

Verwandte Themen