Показать сообщение отдельно
  #4  
Старый 06.07.2020, 20:35
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Метод Locate в помощь для поиска. Может искать сразу по нескольким полям. Также можно использовать св-во Filter, или делать SQL-запрос по заданным условиям.
Код:
MyTable.Locate('lambda; kappa; alfa', VarArrayOf([VarLambda, VarKappa, VarAlfa]), [loCaseInsensitive]);
- пример поиска сразу по трём полям VarLambda, VarKappa, VarAlfa. Здесь VarLambda, VarKappa, VarAlfa - переменные, в которых задаются искомые значения.
Если нужно искать данные по одним полям, а извлекать данные из других - сначала находите нужную запись Locat-ом, затем, т.к. курсор-указатель в таблице установился на нужную Вам запись, получаете нужные данные:
Код:
VarCx := MyTable.FieldByName('Cx').AsFloat;
Locate находит первую запись, удовлетворяющую заданным условиям. А таких записей может оказаться несколько, поэтому правильнее будет использовать фильтрацию либо SQL-запрос, а потом перебирать записи полученного НД в цикле и извлекать оттуда данные.
Ответить с цитированием