Pergunta

Digamos que eu tenho essas mesas com nomes de campo por baixo.

DailyLeaveLedger
dldEmployeeID
dldLeaveDate

InvoiceHeader
invEmployeeID
invWeekEnding
InvNumberWeeksCovered

Então, eu quero uma consulta seleciona os dias de licença em que uma fatura tampa que deixa o IE InvNuminging 02 OCT e o InvNumberWeekscovered = 1 Então qualquer licença no intervalo de 26 de setembro a 02 out. Além disso, você deve ter a correspondência dos campos do Funcionário.

No MSACCESS 2003, por favor?

Foi útil?

Solução

Tente isso

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])));

O que eu fiz foi adicionar -7 * InvNumberWeekswoved to the Invdate e depois verificar as datas entre elas.

Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top