Проблема MS Access Query? - PullRequest
2 голосов
/ 21 марта 2011

Я использую этот запрос:

SELECT D.Generic, D.Ww, D.Dd, D.Plan, c.TotalScan, D.Plan - c.TotalScan AS Balance
  FROM TableA D
       LEFT JOIN (
                  SELECT COUNT(a.Specific) AS TotalScan,
                         b.Generic, a.Dd,a.Ww  
                    FROM TableB a 
                         INNER JOIN TableC b 
                            ON a.Specific = b.Specific
                   GROUP 
                      BY b.Generic,a.Dd,a.Ww 
                   WHERE DATEDIFF(DAY, a.TransactionDate, GETDATE()) = 0
                 ) c
          ON c.Generic = D.Generic 
             AND D.Ww = c.Ww 
             AND c.Dd = D.Dd
 WHERE DATEDIFF(DAY, c.TransactionDate, GETDATE()) = 0;

чтобы отфильтровать все записи, которые вставляются в мою базу данных sqlserver.

Теперь мне трудно, как я могу сделать это с помощью MS Access.

1. DATEDIFF(Day, TransactionDate, GetDate()) = 0  -- Not Work on MS Access(Which Filter all Records inserted in current Date) 
2. Cant display TotalScan from subquery

Пример выходной даты:

TransactionDate
3/21/2011 7:26:24 AM
3/21/2011 7:26:24 AM
3/22/2011 7:26:24 AM --
3/22/2011 7:26:28 AM --
3/22/2011 7:26:30 AM --
3/22/2011 7:26:32 AM --
3/22/2011 7:26:35 AM --

если у меня сегодня дата 22.03.2011, будет отображаться 5 записей.

Спасибо, С уважением

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

GetDate() является специфическим для SQL Server, вместо этого Access имеет Now().

Функция AccessDiff () также существует в Access, но параметр для интервала отличается:

DateDiff("d", TransactionDate, Now())
1 голос
/ 22 марта 2011

Эквивалент:

DATEDIFF(DAY, c.TransactionDate, GETDATE()) = 0

DATEDIFF("d", c.TransactionDate, Now()) = 0 

Привет

...