MS Access-SQL排除数据查询

MS Access-SQL排除数据查询,sql,ms-access,Sql,Ms Access,最初的问题不清楚,所以试图简化和重新措辞 在MS Access中,我有一个查询,用于查找所有记录,其中: 将PhaseID(由用户输入)设为X,为简单起见,取3 仅显示优先级字段设置为大于或等于2的记录 下面是当前存在的查询,对于PhaseID为3的所有记录,该查询应该实现上述功能 编辑:下面的查询是在优先级字段中制定的。所以我需要所有优先级,优先级1不显示。这基本上就是下面应该做的,但它什么也没做 IIf([Forms]![frm_OfferteEnOrderOpvolging]![Phase

最初的问题不清楚,所以试图简化和重新措辞

在MS Access中,我有一个查询,用于查找所有记录,其中:

  • 将PhaseID(由用户输入)设为X,为简单起见,取3
  • 仅显示优先级字段设置为大于或等于2的记录
  • 下面是当前存在的查询,对于PhaseID为3的所有记录,该查询应该实现上述功能

    编辑:下面的查询是在优先级字段中制定的。所以我需要所有优先级,优先级1不显示。这基本上就是下面应该做的,但它什么也没做

    IIf([Forms]![frm_OfferteEnOrderOpvolging]![PhaseID]=3,2,1) OR
    IIf([Forms]![frm_OfferteEnOrderOpvolging]![PhaseID]=3,3,1)
    

    我不确定我是否明白你的意思,为什么不:

     WHERE PhaseID>=[Forms]![frm_OfferteEnOrderOpvolging]![PhaseID]
    

    除非我错过了什么,否则我应该做这样的事情

    WHERE (((tblFoo.Phase_ID)=3) AND ((tblFoo.Priority)>=2 And (tblFoo.Priority)<>1))     
    OR    (((tblFoo.Priority)>=2 And (tblFoo.Priority)<>1));
    
    其中((tblFoo.Phase_ID)=3)和((tblFoo.Priority)>=2和(tblFoo.Priority)1))
    或(((tblFoo.Priority)>=2和(tblFoo.Priority)1));
    

    但是你的第一个问题不是很清楚,所以如果你可以重新发布,我可以调整这个SQL以适应

    我实际上只是想得到所有优先级,当PhaseID=3时,级别等于或高于2…你说的实际上是有道理的,在MS Access中这样做仍然会给我所有优先级为1…:(这是不可能的,OR语句的两侧都包含条件“tblFoo.Priority 1“。这个字段可能是文本而不是数字吗?这可能会导致问题。目前,我似乎已经解决了它,我不确定问题出在哪里,但我从头开始,一步一步地重建了查询,现在它可以正常工作了!感谢您的帮助:)