Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с 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]

Что значит "не работает", не находит или ругается (и как если ругается)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо