2009-09-30 5 views
0

Скажите, что у меня есть эти таблицы с именами полей внизу.Как написать запрос выбора соединения в MSAccess?

DailyLeaveLedger 
dldEmployeeID 
dldLeaveDate 

InvoiceHeader 
invEmployeeID 
invWeekEnding 
InvNumberWeeksCovered 

Так что я хочу запрос выбирает оставить дни, когда счета-фактуры охватывает, что оставить то есть invWeekEnding 02 окт и InvNumberWeeksCovered = 1, то любой отпуск в диапазоне от 26 сентября до 02 октября в порядке. Также вы должны иметь поля EmployeeiD.

В MSAccess 2003, пожалуйста?

ответ

0

Попробуйте

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, а затем проверить даты между ними.

Надеюсь, что это поможет.

Смежные вопросы