Страница 1 из 1

Ограничение на запрос

Добавлено: 21 июл 2015, 15:58
Marisha_P
Подскажите, как правильно наложить ограничение на данные запроса, мне необходимо исключить те МЦ, у которых в партии на 17 позиции стоит символ "h".
Хотела сделать это с помощью ограничения:

Bounds on_party
pos('h',Katparty.kod)<>17

но пишет, что так нельзя:(

Re: Ограничение на запрос

Добавлено: 21 июл 2015, 16:12
RAJAH
Не bounds, а condition.

Re: Ограничение на запрос

Добавлено: 21 июл 2015, 16:29
m0p3e

Код: Выделить всё

pos('h',Katparty.kod)<>17 
17-ую позицию правильнее отлавливать так:

Код: Выделить всё

SubStr(KatParty.kod,17,17)<>'h'

Re: Ограничение на запрос

Добавлено: 21 июл 2015, 16:48
KATZ
m0p3e писал(а):17-ую позицию правильнее отлавливать так:

Код: Выделить всё

SubStr(KatParty.kod,17,17)<>'h'
Скорее так

Код: Выделить всё

SubStr(KatParty.kod,17,1)<>'h'
Marisha_P, не знаю вашей специфики, но в общем случае одна МЦ может к разным партиям относиться. Для одних партий отсутствие символа в позиции может выполняться, для других - нет.

Re: Ограничение на запрос

Добавлено: 21 июл 2015, 16:59
m0p3e
KATZ писал(а): Скорее так

Код: Выделить всё

SubStr(KatParty.kod,17,1)<>'h'
Точно. :)

Re: Ограничение на запрос

Добавлено: 23 июл 2015, 10:51
Marisha_P
Так работает, но почему-то получается, что исключаются и партии с 'h' на 17 позиции и плюсом позиции, где партия просто не проставлена.. Как этого избежать?

Re: Ограничение на запрос

Добавлено: 23 июл 2015, 11:04
RAJAH
Marisha_P писал(а):где партия просто не проставлена.. Как этого избежать?
if(isvalidall(tnkatparty), if(SubStr(KatParty.kod,17,1)='h', ..., ...), ...)

Re: Ограничение на запрос

Добавлено: 23 июл 2015, 11:50
Marisha_P
спасибо большое!