С изключение на записи, които са по-големи от вчерашната дата

Имам поле за дата, което е CYYMMDD в цифров формат. Исках да се отърва от века, така че направих полето за формула:

Ако {поле} ‹> 0, тогава {поле}-1000000

Това ми дава дата в цифров формат на ГГММДД пример 150922

Сега искам да филтрирам полето, за да ми показва само записи от вчера.

Как да направя това?


person Bill Reilly    schedule 22.09.2015    source източник
comment
Не мисля, че изваждането на века ще помогне, ще трябва да използвате функцията DATEADD, за да извадите един ден и след това можете да го сравните със стойността с века.   -  person Beth    schedule 22.09.2015


Отговори (2)


Създайте две формули.

Първо, за да конвертирате числото (ГГММДД) във формат на дата.

2-ри, за да разберете вчерашната дата..

@NumberToDate

CDate(ToNumber(Mid(ToText({NumberDate}),1,2)),ToNumber(Mid(ToText({NumberDate}),3,2)),ToNumber(Mid(ToText({NumberDate}),5,2 )))

@Вчерашна дата

текуща дата -1

след това приложете филтър към дата, където @NumberToDate >= @YesterdayDate

person Ankur Alankar Biswal    schedule 23.09.2015

за да избегнете проблеми с производителността, винаги се опитвайте да конвертирате полето за дата в типа данни, който имате във вашата база данни. Така че ще запишете това във вашата формула за избор на запис

(yourdatefield) = tonumber((yourcentury)&totext(currentdate-1,'yyMMdd'))

който ще преобразува вчерашната дата във формат ГГММДД и ще добави века към нея и след това ще я преобразува във вашия тип данни, подадени в базата данни.

надявам се това да помогне!

person cojimarmiami    schedule 23.09.2015