Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 11:18   #1
Andr_zdes
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию Как объявлять (или описывать) метод locate?

Помогите пожалуйста. Мне нужно реализовать метод locate для поиска в базе данных. Как объявляется этот метод?
Я пишу код аналогично примеру в пособии:

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
if TabControl1.TabIndex=0 then begin
DataModule2.ADOTable1.locate('Рейс;[Дата,время];AirCompany',vararrayof([edit1.Text,edit2.Text,combobox1.Tex t]),[loPartialKey]);
End;

На данный момент выделяет ошибку на loPartialKey, ранее я что-то вписывал в объявления про locate - запускалось но не работало.
Andr_zdes вне форума Ответить с цитированием
Старый 19.05.2009, 11:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

uses DB прописано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2009, 11:32   #3
Andr_zdes
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию

Прописано: это uses в начале посе interface. Запускается но поиск не работает.
Andr_zdes вне форума Ответить с цитированием
Старый 19.05.2009, 11:48   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда советую проверять поля на поиск по отдельности. Сначала:
Код:
DataModule2.ADOTable1.locate('Рейс',edit1.Text,[loPartialKey]);
потом остальные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2009, 12:15   #5
Andr_zdes
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию

Спасибо.По первому полю работает:правильно ставит указатель - на искомую запись,а по другим не ставит. А разве он не должен ставить эту запись первой? Хотя может это из-за малого их количества.

Последний раз редактировалось Andr_zdes; 19.05.2009 в 12:39.
Andr_zdes вне форума Ответить с цитированием
Старый 19.05.2009, 13:34   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А разве он не должен ставить эту запись первой?
Всмысле?
Цитата:
а по другим не ставит
Значит нет таких данных с таким критерием поиска в базе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.05.2009, 14:22   #7
Andr_zdes
 
Регистрация: 21.04.2009
Сообщений: 7
По умолчанию

В смысле переместить эту запись в начало списка. Я вводил данные, которые есть в таблице. Поля Aircompany в таблице нет - оно подстановочное, т.е. отображает данные из поля Компания в таблице Тарифы.
Мне уже помогли осуществить поиск, но с помощью SQL: заменили бывший ADOTable на ADODataSet, заново сделали поля.
Мне нужно сделать программу к локальной БД наподобие как в авиакассах для продажи билетов. У меня есть 5 таблиц в MSAccess: Рейсы (компонент ADODataSet), Пассажиры (ADOTable), Тарифы (ADOTable), Самолёты (ADOTable) и Архив (ADOTable). На главной форме TabControl1 c тремя вкладками: Рейсы, Пассажиры, Архив.
Не могу разобраться почему при переходе на вкладку Пассажиры перестало работать переключение
if TabControl1.TabIndex=1 then begin
DBGrid1.DataSource:= DataModule2.DataSource2;
...
end;
и показырает на этой вкладке пустую сетку с полями которые должны быть при DBGrid1.DataSource:= DataModule2.DataSource1;
хотя всё вроде как и было. Как-то с подстановочными полями это наверное связано...
Andr_zdes вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод locate при работе с бд WinApi Помощь студентам 0 03.05.2009 16:08
Метод Монте-Карло литература или примеры программ на С++ или С MIKI Помощь студентам 2 09.12.2008 13:33
Каким шаблоном лучше описывать деревья? Иллидан Общие вопросы C/C++ 2 16.10.2008 08:14
метод Close для ADODataSet вызывает ошибку 'BOF или EOF имеет ...' (mdac 6.0) jane БД в Delphi 1 16.07.2008 07:34
ошибка VBA при попытке использовать свойство или метод chanchikela Microsoft Office Access 0 26.03.2008 23:17