说我有这些表具有下面的字段名称。

DailyLeaveLedger
dldEmployeeID
dldLeaveDate

InvoiceHeader
invEmployeeID
invWeekEnding
InvNumberWeeksCovered

因此,我希望的查询选择离开天,其中的发票涵盖离开即invWeekEnding 10月02日和InvNumberWeeksCovered = 1,则任何假的范围9月26日至10月2日是确定。 你也需要有雇员场比赛。

在MSACCESS 2003好吗?

有帮助吗?

解决方案

尝试此

SELECT InvoiceHeader.invEmployeeID, 
       InvoiceHeader.invWeekEnding, 
       DateAdd("d",-[InvNumberWeeksCovered]*7,[invWeekEnding]) AS StartDate,
       DailyLeaveLedger.dldLeaveDate
  FROM InvoiceHeader 
       INNER JOIN DailyLeaveLedger 
          ON InvoiceHeader.invEmployeeID = DailyLeaveLedger.dldEmployeeID
WHERE (((DailyLeaveLedger.dldLeaveDate) 
         Between [invWeekEnding] 
         And DateAdd("d",-[InvNumberWeeksCovered]*7,[invWeekEnding])));

我所做的就是加-7 * InvNumberWeeksCovered到invdate,然后检查这些之间的日期。

希望有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top