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