22.05.2011, 12:28 | #12 |
newborn in DAX
|
закон Мэрфи опять сработал
почему-то если rangeStart - фильтр по одному полю rangeStart = qbds.addRange(fieldnum(MyTBL, STARTDATE)); rangeStart.value(strfmt('%1..%2',FromDate.valueStr(),ToDate.valueStr())); то работает и даты как положено воспринимает SELECT * FROM MyTBL WHERE ... AND ((StartDate>={ts '2011-01-01 00:00:00.000'} AND StartDate<={ts '2011-05-22 00:00:00.000'})) AND ..... а если str rangeDate = strfmt("(((STARTDATE>=%1) and (STARTDATE<=%2)) or ((ENDDATE>=%1) and (ENDDATE<=%2)))", FromDate.valueStr(), ToDate.valueStr()); rangeDates = qbds.addRange(fieldNum(MyTBL ,RecId)); rangeDates.value(rangeDate); - фильтр по RecID то даты имеют вид другой SELECT * FROM MyTBL WHERE ... AND (((((STARTDATE>=01/01/2011) and (STARTDATE<=22/05/2011)) or ((ENDDATE>=01/01/2011) and (ENDDATE<=22/05/2011))))) ещё ругается что какой-то скобки не хватает. [Date values should be formatted using Date2StrXpp() ] пыталась вместо FromDate.valueStr() - date2strxpp(FromDate) ругается Argument '_date' ia incompatible with required type. |
|
Теги |
query, querybuildrange, range, фильтр |
|
|