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

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

Хотите отвечайте, хотите нет... [D7, XP]


quadronik ©   (2005-10-16 13:11:00) 

delphi7+access2003
Нашел вот такой пример перехода к определенной записи в таблице
with Table1 do
begin
 IndexFieldNames:='id';
 EditKey;
 FieldByName('id').AsString := Edit1.Text; //просто для примера. в реале id вычисляется а не вводится
 if(not GotoKey) then ShowMessage('запись не найдена!');
end;

Но почему то методы EditKey, SetKey, GotoKey отсутствуют в списке методов и свойств моей таблицы
При компиляции появляется сообщение 'Undeclared identifier' хотя модуль формы и датамодуля с таблицей связаны
друг с другом. Почему так? Есть ли альтернативный метод установки курсора в базе на определенную строку с
известным ее ID?


sniknik   (2005-10-16 14:47:00) [1]

> Поле ID(тип:счетчик) разве не уникальный ключ для этой таблицы?
счетчик и ключь разные вещи. да часто счетчик делают ключем, но это вовсе не обязательно.


msguns   (2005-10-16 14:33:00) [2]

>quadronik ©  

Посмотри мыло


quadronik   (2005-10-16 14:12:00) [3]

Спасибо! Примерчик уже не нужен. Перебирал возможные комбинации для locate и УРА! получилось!
Спасибо Вам!


quadronik   (2005-10-16 13:51:00) [4]


> БД каждая таблица должна иметь свой UID, однозначно идентифицирующий
> записи и являющийся первичным ключом.

Поле ID(тип:счетчик) разве не уникальный ключ для этой таблицы?


> Есть - это Locate

Можно самый примитивный примерчик. Разбирался с locate'ом в книге - не врубился...


msguns   (2005-10-16 13:30:00) [5]

1. Метод не просто странный, он в корне порочный.
Аргументы: действует только для TXXXTable, только на имеющихся индексах, "дурной тон" изменения ключей (индексов) и т.д.

2. При верно спроектированной БД каждая таблица должна иметь свой UID, однозначно идентифицирующий записи и являющийся первичным ключом. При наличии такого ключа и зная, какую запись необходимо искать, поиск делается легко и просто на любыхдатасетах (Locate - метод TDataSet - дедушки любых конечных DB-Access`ных классов).


Anatoly Podgoretsky   (2005-10-16 13:21:00) [6]

Есть - это Locate
А вот выбранный тобой метод весьма странный.


Наверх

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