28.12.2005, 11:53 | #1 |
Участник
|
AddRange под вопросом
В Range есть такая строка
qbds.addRange(fieldnum(EmplTable,PayEmploymentDate_RU)).value(queryRange(datenull()+1,toDate)); или тоже самое что SELECT * FROM EmplTable WHERE ((PayEmploymentDate_RU<=28.12.2005)) а как к этому range прибавить ещё что PayEmploymentDate_RU не равно нулю? Кто знает помогите новичку. Заранее спасибо |
|
28.12.2005, 11:58 | #2 |
Участник
|
ну, именно в данном случае, должно сработать
QueryBuildRange qbr = qbds.findRange(fieldNum(EmplTable, PayEmploymentDate_RU)); qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString()); Правда не равно нулю у вас странно написано - 0 вообще не очень соответствует формату даты. Я написал - не пустая дата. Думаю, вам это нужно было |
|
28.12.2005, 12:03 | #3 |
Участник
|
не работает а есть какие нить ещё способы?
|
|
28.12.2005, 12:04 | #4 |
Участник
|
а почему не работает?Должно вообще
что выводит по qbds.toString()? |
|
28.12.2005, 12:09 | #5 |
Участник
|
Вот, этот job у меня выдает Дата < условия(today()) и не равно ""
Query q = new Query(); QueryBuildDataSource qbds = q.addDataSource(tablenum(InventTrans)); QueryBuildRange qbr = qbds.addRange(fieldNum(InventTrans, DatePhysical)); ; qbr.value(queryRange(datenull()+1,today())); qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString())); info(qbds.toString()); |
|
28.12.2005, 12:10 | #6 |
Участник
|
выводит SELECT * FROM EmplTable WHERE ((NOT (PayEmploymentDate_RU = ))
но почему то условие не выполняется может у меня неправильно построен запрос? |
|
28.12.2005, 12:15 | #7 |
Участник
|
выполните job - что там выводит?
У вас заменяет просто ваше значение - возможно, вы непреавильно написали все-таки вот эту строку которую я привел. В вашем случае, полный запрос должен выглядеть вот так: query q = new Query(); QueryBuildDataSource qbds = q.addDataSource(tableNum(EmplTable)); QueryBuildRange qbr = qbds.addRange(fieldnum(EmplTable,PayEmploymentDate_RU)); ; qbr.value(queryRange(datenull()+1,toDate)); qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNotEmptyString()); |
|
28.12.2005, 12:32 | #8 |
Участник
|
у меня имеено так всё и написано......
почему он выводит мне в отчёт людей с пустыми датами приема...не могу понять лазаю в дебагере |
|
28.12.2005, 16:45 | #9 |
Участник
|
qbr.value(queryRangeConcat(qbr.value(), SysQuery::valueNot(datenull()));
в сиквеле нулевые даты (как Вы говорите) храняться со значение 01.01.1900 |
|
30.12.2005, 20:01 | #10 |
Участник
|
Всё люди спасибо Вам я разобрался....оказалось что просто в ClassDeclasation объявлял toDate а потом пытался изменить его значение...вот оно мне и давало с диалога только дату...
Спасибо Вам |
|