Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 删除“;输入参数值";查询中的MS访问_Ms Access - Fatal编程技术网

Ms access 删除“;输入参数值";查询中的MS访问

Ms access 删除“;输入参数值";查询中的MS访问,ms-access,Ms Access,所以我是一个尽可能多的初学者。我几乎不知道如何编写代码,我正在学习如何访问 我有两个表格:EmployeesT(有员工的基本信息)和IncreaseT(有每个员工每次加薪的记录) 我目前遇到一个查询,该查询应执行以下操作: 仅显示每个员工增加>0的最后一条记录 计算自上一次 这名雇员上一次加薪 根据评级(a)显示“合格”、“合格”或“逾期” 员工的字段(增量)和自 他最后一次加薪 我的问题是,当我尝试打开查询时,它要求我“输入参数值”,用于: 最后一个额定值(带有最后一个总值的额定值字段) Da

所以我是一个尽可能多的初学者。我几乎不知道如何编写代码,我正在学习如何访问

我有两个表格:EmployeesT(有员工的基本信息)和IncreaseT(有每个员工每次加薪的记录)

我目前遇到一个查询,该查询应执行以下操作:

  • 仅显示每个员工增加>0的最后一条记录
  • 计算自上一次 这名雇员上一次加薪
  • 根据评级(a)显示“合格”、“合格”或“逾期” 员工的字段(增量)和自 他最后一次加薪
  • 我的问题是,当我尝试打开查询时,它要求我“输入参数值”,用于:

    最后一个额定值(带有最后一个总值的额定值字段)

    DateOfLastUpdate的最大值(DateOfLastUpdate字段的最大总值),以及

    MonthsSinceLastUpdate(DateDiff(“m”,MaxOfDateOfUpdate],Now())

    这是查询的代码:

    SELECT EmployeesT.LocalID, Last(IncreaseT.Ratings) AS LastOfRatings, Max(IncreaseT.DateOfUpdate) AS MaxOfDateOfUpdate, DateDiff("m",[MaxOfDateOfUpdate],Now()) AS MonthsSinceLastIncrease, IIf([MonthsSinceLastIncrease]<24,IIf([MonthsSinceLastIncrease]>=18 And [LastOfRatings]<=2,"Overdue",IIf([MonthsSinceLastIncrease]>=15 And [LastOfRatings]=1,"Overdue",IIf([MonthsSinceLastIncrease]>=9 And [MonthsSinceLastIncrease]<15 And [LastOfRatings]=1,"Eligible",IIf([MonthsSinceLastIncrease]>=12 And [MonthsSinceLastIncrease]<18 And [LastOfRatings]=2,"Eligible","ok")))),"Overdue") AS Eligiblity
    
    FROM EmployeesT INNER JOIN IncreaseT ON EmployeesT.LocalID = IncreaseT.Employee
    WHERE (((IncreaseT.Increase)>0))
    GROUP BY EmployeesT.LocalID, DateDiff("m",[MaxOfDateOfUpdate],Now()), IIf([MonthsSinceLastIncrease]<24,IIf([MonthsSinceLastIncrease]>=18 And [LastOfRatings]<=2,"Overdue",IIf([MonthsSinceLastIncrease]>=15 And [LastOfRatings]=1,"Overdue",IIf([MonthsSinceLastIncrease]>=9 And [MonthsSinceLastIncrease]<15 And [LastOfRatings]=1,"Eligible",IIf([MonthsSinceLastIncrease]>=12 And [MonthsSinceLastIncrease]<18 And [LastOfRatings]=2,"Eligible","ok")))),"Overdue");
    
    选择EmployeesT.LocalID,Last(IncreaseT.Ratings)作为LastOfRatings,Max(IncreaseT.DateOfUpdate)作为MaxOfDateOfUpdate,DateDiff(“m”),[MaxOfDateOfUpdate],Now()=12和[MonthssInclastIncrease]0)
    
    按员工分组:ST.LocalID、DateDiff(“m”)、[MaxOfDateOfUpdate],Now()、IIf([Months持续增长]=18、[LastOfRatings]=15和[LastOfRatings]=1、“过期”、IIf([Months持续增长]>=9和[Months持续增长]=12和[Months持续增长]你不能使用你在group by列表的select列表中创建的别名。你需要在那里重复整个表达式,因为group by子句是在select列表之前执行的。谢谢你!我一直在读关于别名的文章,但不能准确地知道它们是什么!现在我做了一些事情。所以我所做的就是打破了这一查询我可以确保他们按照我需要的顺序执行。这很有效!出现了另一个令人困惑的问题-IIF条件现在为一些员工提供了两条记录,而不是一条记录-但我会一直保留,直到我得到我想要的,再次感谢!你不能使用你在gro的选择列表中创建的别名按列表向上。您需要重复那里的整个表达式,因为group by子句在select列表之前执行。谢谢!我一直在读关于别名的文章,但无法确切地知道它们是什么!现在我做了一些。所以我所做的是将这一查询分解为一组其他查询,以便确保它们在电子订单我需要他们。它起作用了!另一个令人困惑的问题出现了-IIF条件现在为一些员工获得了两个记录,而不是一个-但我会一直保持到我得到我想要的,再次感谢!