Показать сообщение отдельно
  #3  
Старый 06.01.2012, 23:32
vmilyoshin vmilyoshin вне форума
Прохожий
 
Регистрация: 26.10.2011
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Не, через Locate не получится, т.к. он ищет только в локальной таблице.
Я бы сделал через запрос к таблице документов, там бы нашел ID владельца документа, а уже по этомк ID вызвал бы Locate для главной таблицы.

Спасибо огромное за совет! Сделал так:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  try
  DataModule1.ADOQuery2.Active:= false;
  DataModule1.ADOQuery2.SQL.Clear;
  DataModule1.ADOQuery2.SQL.Add('SELECT [id] FROM POLIS WHERE ([Номер] = "'+trim(Edit1.Text)+'");');
  DataModule1.ADOQuery2.Active:= true;
  finally
  end;
  if DataModule1.ADOQuery2.Fields[0].Value <> null then
  DBGrid1.DataSource.DataSet.Locate('Код', DataModule1.ADOQuery2.Fields[0].Value, [loCaseInsensitive, loPartialKey]);
end;
Тема закрыта.
Ответить с цитированием