Заявка за достъп чрез datediff

Имам поле за израз на заявка като това..

Дни: CInt (Date()-CDate ([somedates]))

Данните в полето Дни изглеждат така..

2

11

15

Искам да използвам това за заявка за записи, но получавам несъответствие на типа всеки път, когато се опитам да добавя критерии.

< 7

< "7"

като "2"


person Road King    schedule 15.01.2016    source източник
comment
Моля, разширете това. Какво представляват критериите? Диапазон от дни? Максимална дата? Къде въвеждате този критерий? Как изглежда SQL преди добавянето на критериите и след това?   -  person Johnny Bones    schedule 15.01.2016
comment
Какъв е форматът на „somedate“? Ако предоставяте дата там като #1/1/2016#, тогава грешката е причинена от скобите около стойността.   -  person Wayne G. Dunn    schedule 15.01.2016
comment
Критерият е броят на изминалите дни. Така че въвеждам това като › [Брой дни] в изключението. Дата () се използва за получаване на дните след данните в [полето somedate], което е дата като 01/01/2016 12:15:45   -  person Road King    schedule 16.01.2016


Отговори (1)


Не съм 100% сигурен какво имате предвид, но току-що създадох тази заявка въз основа на това, което сте предоставили. Имайте предвид, че базата данни съдържа таблица, наречена tblHoliday, която съдържа поле, наречено HolidayDate.

SELECT tblHoliday.HolidayDate, CInt([HolidayDate]-CDate(#5/5/2012#)) AS Days
FROM tblHoliday
WHERE (((CInt([HolidayDate]-CDate(#5/5/2012#)))>5));

Поставих в полето Критерии точно под полето Дни, ">5" (без кавичките). Горният код е това, което е еквивалентът на SQL.

Опитайте да поставите това в прозореца на SQL, като замените полето за дата и името на таблицата и вижте дали работи. Ако е така, погледнете дизайнерския изглед на заявката и променете това, което искате да промените.

person Johnny Bones    schedule 15.01.2016
comment
Имам текущата дата като Date (), изваждайки датата в полето на таблицата като CDate ([Състоянието на последния път е изтеглено]) ... ИЗБЕРЕТЕ CInt (Дата ()-CDate ([Статусът на последния път е изтеглено])) AS дни FROM MyTable1 INNER JOIN MyTable2 ON MyTable1.ID = MyTable2.ID ... когато го стартирам, изглежда правилно с цели числа във всички редове на полето Days. Ако добавя критериите, той се проваля WHERE (((CInt (Date ()-CDate MyTable2. [Последно изтеглено състояние])))‹5)); - person Road King; 16.01.2016
comment
MyTable2 [Последно изтеглено състояние] е определено поле тип дата? И, за да сте сигурни, допълнителното място в MyTable2. [Последният път, когато състоянието беше изтеглено] тук е правописна грешка и не е във вашия код, нали? Имам предвид, пространството между MyTable2. и [Последно изтеглено състояние]. - person Johnny Bones; 17.01.2016