![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хотите отвечайте, хотите нет... [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
А вот выбранный тобой метод весьма странный.