Метод 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-запрос, а потом перебирать записи полученного НД в цикле и извлекать оттуда данные.