Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / фильтры в View / 6 сообщений из 6, страница 1 из 1
19.01.2009, 16:30
    #35765228
dvaII
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
При создании Local View в фильтре мне надо использовать переменную (public _d1(D))
Если фильтр делаю через View Designer
Filed name=IIF(Nd.sost=3,TTOD(Nd.dtn1),TTOD(Nd.datev))
Exsample=_d1
View SQL выдает следующее:
SELECT Nd.podr, Nd.rasp, Nd.kodz, Nd.vid_rab, Nd.pst, Nd.np, Nd.vid, Nd.datev,;
Nd.daten, Nd.datek, Nd.dtn1, Nd.dtk1, Nd.dtend, Nd.datepodg, Nd.datedop, Nd.sost,;
Nd.kodfil, Nd.name, Nd.num, Nd.res;
FROM nd;
WHERE IIF(Nd.sost=3,TTOD(Nd.dtn1),TTOD(Nd.datev)) >= "_d1";
ORDER BY Nd.datev
При этом Run Query выдает ошибку "Operator/operand type mismatch"

Делаю View руками и он открывается нормально.
CREATE sql view sp_nd AS;
SELECT Nd.podr, Nd.rasp, Nd.kodz, Nd.vid_rab, Nd.pst, Nd.np, Nd.vid, Nd.datev,;
Nd.daten, Nd.datek, Nd.dtn1, Nd.dtk1, Nd.dtend, Nd.datepodg, Nd.datedop, Nd.sost,;
Nd.kodfil, Nd.name, Nd.num, Nd.res;
FROM nd;
WHERE IIF(Nd.sost=3,TTOD(Nd.dtn1),TTOD(Nd.datev)) >= (_d1);
ORDER BY Nd.datev

Но после того как проставлю нужные параметры в закладке Update, сохраняю, опять ругается на фильтр, т.е. Designer ставит опять кавычки на имя переменной. Если использовать не переменную, а поле таблицы, все работает.
Что это за ерунда с переменными и можно ли руками написать то, что указывается в Update Criteria.
...
Рейтинг: 0 / 0
19.01.2009, 16:35
    #35765253
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
Параметр указывается после символа вопросительного знака.

Т.е. на закладке Filter в дизайнере в столбце Example надо написать

?_d1

При этом делать эту переменную глобальной нет необходимости. Можно и локальные параметры использовать.
...
Рейтинг: 0 / 0
19.01.2009, 16:39
    #35765269
dvaII
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
ВладимирМ,
Спасибо, между глаз видимо проскочило, когда документацию смотрел.
...
Рейтинг: 0 / 0
16.12.2009, 12:39
    #36369206
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
знак вопроса помогает при переменной, а что делать если там должно быть условие например
Код: plaintext
tab1.f2 = iif(empty(tab3.f4), tab3.f5, tab3.f6)
?

поумолчанию условие оказывается в скобках...
...
Рейтинг: 0 / 0
16.12.2009, 16:25
    #36369906
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
А так:
tab1.f2 = iif(empty(?tab3.f4), ?tab3.f5, ?tab3.f6)
...
Рейтинг: 0 / 0
16.12.2009, 18:56
    #36370235
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фильтры в View
FfffffffffffffffА так:
tab1.f2 = iif(empty(?tab3.f4), ?tab3.f5, ?tab3.f6)
неа.. 6-ой дизайнер все равно в кавычки возьмет ..

а вобще подсказали дедовский метод, о котором я вообще забыл напрочь
Код: plaintext
1.
2.
create sql view my_view as ;
select ....
и пиши туда все что хочешь и как хочешь :)
аж стыдно стало когда подсказали )))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / фильтры в View / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]