FindKey для нескольких полей

Материал из DRKB

FindKey для нескольких полей[править | править код]

with Table1 do
begin
  SetKey;
  FieldByName('State').AsString := 'CA';
  FieldByName('City').AsString := 'Scotts Valley';
  GotoKey;
end;


Вы не можете использовать Findkey с файлами DBase более чем для одного поля.

oEmetb.IndexName := 'PrimaryKey';
if oEmeTb.FindKey([prCLient, prDiv, prEme]) then


где FindKey передаются параметры для Primary Keyfields.

Я обращаю ваше внимание на то, что имя индекса (Index) чувствительно к регистру, так что будьте внимательны.

Вы можете также воспользоваться oEmeTb.IndexFieldNames, но убедитесь в том, что ваш список ключевых полей в точности соответствуют ключевым полям, которые вы ищете.


oEmetb.IndexFieldNames := 'EmeClient;EmeDiv;EmeNo';
if oEmeTb.FindKey([123, 'A', 96]) then



Source: Взято с http://delphiworld.narod.ru
ID: 02568