Ms access 从另一个列表的列中筛选列表 我尝试做一些我认为复杂的事情,并且能够从另一个列表框的列中筛选一个列表框,目的是获取不相关的数据。

Ms access 从另一个列表的列中筛选列表 我尝试做一些我认为复杂的事情,并且能够从另一个列表框的列中筛选一个列表框,目的是获取不相关的数据。,ms-access,ms-access-2010,ms-access-2013,Ms Access,Ms Access 2010,Ms Access 2013,过滤前 后过滤器 在上面的图片中,你可以看到我选择了Frto Lay-Mark,它过滤了中间的列表,只显示了与该标记相关的内容,但是在下一个列表中,只有一个应该出现,AYQ是三个注册的,只有一个与其他品牌无关。是巧克力的类别或系列 表之间的关系如下所示 今天早上我想到了这个 filas_lista = Me.Lista1.ListCount For Fila = 0 To cantidad - 1 cod_categoria = Me.Lista1.Column(3,

过滤前

后过滤器

在上面的图片中,你可以看到我选择了Frto Lay-Mark,它过滤了中间的列表,只显示了与该标记相关的内容,但是在下一个列表中,只有一个应该出现,AYQ是三个注册的,只有一个与其他品牌无关。是巧克力的类别或系列

表之间的关系如下所示

今天早上我想到了这个

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

浏览筛选列表,然后在类别列表中保留那些不重复的内容,但只按列表中的最后一项进行筛选。

如果希望categoria不与所选MACA关联,请考虑:

= "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;"

您正在循环中间的列表框?为什么不根据所选的marcas设置categorias列表框呢?RowSource SQL可以连接Categorias和T_Marc_Categoria,并在Nomb_Marca字段上进行过滤。为什么需要分类列表框?相关的类别已经在中间ListBox中。@ June7 HI,我需要的类别不是MARCA我选择的关系,例如,如果希望它为这个MARCA添加新的分类,我需要一个列表。我根据您的模型构建了表,并且查询肯定为我工作——在查询设计器中进行测试。虽然我使用了输入提示,但没有引用表单控件。不知道“使用双访问咨询获取数据”是什么意思。我不明白什么是[cod_categoria],我说的是,使用子查询进行查询[cod_categoria]在代码中是可变的。抱歉,我不应该使用[],需要连接。请参阅编辑后的答案。但是,不应在代码中引用索引3,而应引用ID_Marca为索引1的列。