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

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

поиск DBGridEH 'field name "not found' [D7, XP]


Lamer666 ©   (2007-04-07 18:56:00) 

Здравствуйте МНОГОУВАЖАЕМЫЕ!
В очередной раз УПАВАЮ НА ВАС!
Подключаюсь по средствам ADO к Access.mdb, гружу данные в DBGridEH. Затем в DBGridEH включаю dghPreferIncSearch для быстрого поиска. Но при попытке на любом поле произвести БЫСТРЫЙ посик получаю ошибку "'field name "not found'". С MsSQL  все отлично работает. А тут ругаеться! Подскажите как решить проблему?
Заранее примного благодарен! С уважением!


MsGuns   (2007-04-07 22:46:00) [1]

Поля, названия которых совпадают с ключевыми (например, NAME), следует брать в квадратные скобки. Попробуй в операторе Select св-ва TADOQuery.SQL

Вместо Select * from Table написать такое
Select F1,F2, [Name] as AName,F3...


Lamer666   (2007-04-07 22:29:00) [2]

Есть конечно!
Поиск вообще работает в любом поле, куда я щелкаю мышкой и начинаю набирать искомое значение!


Johnmen   (2007-04-07 22:24:00) [3]

А в "базе MS Access" есть поле NAME?


Lamer666   (2007-04-07 22:17:00) [4]

Ставлю свойство dghPreferIncSearch=True;
Затем ADOConnection->ADOQuery->DataSourse->DbGridEh
Запускаю программу, в DBGridEh появляеться таблица
Щелкаю в столбец NAME (например), и начинаю ВБИВАТЬ искомое ИМЯ. При подключении базы MsSQL курсоср смещается последовательно на строку которая все больше и больше удовлетворяет условию (которое я набираю), а в случае когда я подключаю базу MS Access сразу при начале поиска ПОЯВЛЯЕТЬСЯ ошибка с сообщением ...'field name "not found' ...


Johnmen   (2007-04-07 22:10:00) [5]


> Ошибка возникает в процедуре

Не возникает, а возбуждается. В ответ на твою ошибку при БЫСТРОМ посике.
Так как же ты ищешь?


Lamer666   (2007-04-07 21:50:00) [6]

Ошибка возникает в процедуре

procedure RaiseGridError(const S: string);
begin
 raise EInvalidGridOperationEh.Create(S);
end;

файла DBGridEH.pas


Lamer666   (2007-04-07 21:47:00) [7]

Код в БИБЛИОТЕКЕ EHLIB


Johnmen   (2007-04-07 21:01:00) [8]


>  Но при попытке на любом поле произвести БЫСТРЫЙ посик

Где код БЫСТРОГО посика?


Наверх

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