Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизПроблемы с Locate Найти похожие ветки
← →
Ильдар (2002-07-15 17:03) [0]ResOutput.Locate("Скважина; ИмяМетодики", VarArrayOf([OilName ,DM.QResOutput.FieldByName("ИмяМетодики").AsString]), [])
Почему без указания "Скважина" и соответственно OilName эта команда работает, а с ними нет? Поле "Скважина" в таблице есть, OilName формируется правильно.
← →
fool (2002-07-15 17:16) [1]Что значит "не работает", не находит или ругается (и как если ругается)?
← →
Ильдар (2002-07-15 17:30) [2]Locate возвращает FALSE
← →
BAY (2002-07-15 17:45) [3]Скважена какого типа в Access? Подозреваю, что int.
← →
Lola (2002-07-15 17:48) [4]А есть ли запись со значением поля "Скважина" равным OilName (это видимо какая-то переменная?). Если есть, возможно что где-то в значениях поля или переменной перепутан русский и англ.регистры. И может стоит в опциях поиска поставить loCaseInsensitive.
← →
fool (2002-07-15 17:51) [5]Есль false, то работает - не нашло просто...
Значит в поле "Скважина", в результате выполнения ResOutput нет значения равного OilName
← →
fool (2002-07-15 17:53) [6]Да, и как заметил(а) Lola, укажи опцию поиска
← →
Ильдар (2002-07-15 17:56) [7]>BAY тип - string
← →
BAY (2002-07-15 17:58) [8]>Ильдар, ну тогда см. Lola и fool
← →
Ильдар (2002-07-15 18:01) [9]Извините, неправильно осписал симптомы.
Locate игнорирует остальные поля (я указал только ИмяМетодики), т.е. устанавливает курсор на первую же запись. Почему?
← →
fool (2002-07-15 18:18) [10]Не смотри на какую запись курсор стал, а смотри что возвращает(True or False). Но поскоку Locfte не ругается, то ставлю диагноз :0) повнимательней с параметрами Locate, видимо хочешь найти то чего в запросе не содержится...
← →
Ильдар (2002-07-15 18:22) [11]>fool я в таблице ищу а не в запросе, и там все что ищу есть, но она при поиске смотрит только на одно условие (скважина)
← →
fool (2002-07-15 18:42) [12]>Ильдар я в таблице ищу а не в запросе, и там все что ищу есть, но она при поиске смотрит только на одно условие (скважина)
Не в таблице, а в наборе данных, набор данных возвращает некий компонент получения етих данных(TTable, TQuery ...), вот в етом наборе ты и ишешь а не в таблице. Я тебе все к тому, что подключи(если не подключен) к набору данных грид хотя бы, и посмотри в нем (гриде), если нужные данные есть, а Locate их не находит, то внимательно проверь параметры Locate.
← →
Lola (2002-07-15 19:19) [13]Locate "смотрит" те условия, которые ты задал. Никаких отсебятин не бывает. Ты проверь себя, какой SELECT формирует данные QResOutput. Это во-первых, во-вторых, проверь еще раз правильность формирования значения OilName. Locate еще никого не обманывал :)
← →
Anatoly Podgoretsky (2002-07-15 19:46) [14]Кроме случая порущенных индексов, но это уже не Locate
← →
Ильдар (2002-07-16 15:28) [15]Еще раз привожу код
DM.ResOutput.Locate("Скважина; ИмяМетодики; "+MetSelect, VarArrayOf([OilName, DM.QResOutput.FieldByName("ИмяМетодики").AsString, DM.QResOutput.FieldByName(MetSelect).AsFloat]), []);
OilName: string; //формируется правильно
может с OilName что-нибудь сделать? а то уже не знаю как быть.
← →
Ильдар (2002-07-16 17:44) [16]Может OilName: string как-нибудь преобразовать надо?
← →
sniknik (2002-07-16 17:59) [17]Не надо. Лутше попробуй все лишнее убрать и оставь только Скважина и OilName. Скорей всего это найдет. а ты путаешся и ишеш то чего нет.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c