|
26.02.2007, 13:46 | #1 |
Участник
|
Привет всем, подскажите, плиз, что делаю не так
Мне нужно определить есть ли запись в таблице. Dealer - объявлена как record в табл. в которой имеется поле "Web Login". Ключ этой таблицы- Code, Web Login Dealer."Web Login" := '111'; IF Dealer.FIND THEN MESSAGE('Нашел') ELSE MESSAGE('Нет такого зверя'); И не находит... Хотя я ему уже точно прописал, значение, которой в табл есть. |
|
26.02.2007, 13:59 | #2 |
Участник
|
Дело в том, что переменная Dealer в данный момент пустая.(можно убедиться дебагером)
Попробуй определьть сначала саму таблицу Dealer.GET(поиск по ключам); или Dealer.FIND('-'); |
|
26.02.2007, 14:22 | #3 |
Участник
|
Сделал:
Dealer.SETRANGE("Web Login", '111'); IF Dealer.FIND('-') THEN MESSAGE('Нашел') ELSE MESSAGE('Нет такого зверя'); и заработало, всем спасибо |
|
26.02.2007, 14:33 | #4 |
Участник
|
Цитата:
Исходный пример не работал потому, что для FIND без параметров необходимо определить все значения первичного ключа. Вы же определили только одно из двух. Получалось, что она пыталась найти по Code = ПУСТО (если до этого не выполнялся какой-либо поиск), Web Login = 111. Такой записи не было, поэтому не находила. |
|
26.02.2007, 14:49 | #5 |
Участник
|
Добавлю еще к написаному romeo: люди - пользуйтесь дебагером, там ведь видно все переменные, фильтры и значения. А уже исходя из этих данных гораздо проще понять где допустил ошибку.
|
|
26.02.2007, 15:15 | #6 |
Участник
|
Спасибо, за подробные пояснения.
|
|