Вниз
Скачать: CL | DM;

Проблемы с 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
3-23886
Rustik
2002-07-17 11:05
2002.08.08
Проблема с обновлением данных в гриде при вставке новых строк


1-24034
3asys
2002-07-26 18:14
2002.08.08
Работа с Microsoft Equation 3.0


7-24244
Bosss20000
2002-05-23 19:02
2002.08.08
Запуск win-приложения из Delphi


1-24054
psibug
2002-07-18 21:31
2002.08.08
---|Ветка была без названия|---


3-23900
Dmitrey
2002-07-17 12:28
2002.08.08
Сжатие и восстановление БД Access на Delphi




   Наверх