Hola Abuelo7
Me alegra que te funcionara
Lo de 2 o 4 tablas es lo de menos, la idea al momento de realizar el if sería la misma
Con respecto a lo del memo, puedes hacer algo así
Código Delphi
[-]
Memo1.Lines.Add(Edit1.Text);
if (Table1.Locate('palabra', Edit1.Text, [loCaseInsensitive])) and
(Table2.Locate('NUMERO', Table1.fieldByName('NUMERO').AsString, [loCaseInsensitive])) then
Memo1.Lines.Add(Table2.fieldByName('RESPUESTA').AsString);
pero tienes que tener en cuenta la posibilidad (aunque sea remota) de que el resultado de la búsqueda no retorno resultado alguno y, en esa situación, retornar algún tipo de respuesta estándar como "no entiendo la palabra X, podría explicármelo de otra forma", algo así
Código Delphi
[-]
Memo1.Lines.Add(Edit1.Text);
if (Table1.Locate('palabra', Edit1.Text, [loCaseInsensitive])) and
(Table2.Locate('NUMERO', Table1.fieldByName('NUMERO').AsString, [loCaseInsensitive])) then
Memo1.Lines.Add(Table2.fieldByName('RESPUESTA').AsString)
else
Memo1.Lines.Add('no entiendo la palabra X, podría explicármelo de otra forma');
El ejemplo es con las 2 tablas, tendrías que adaptarlo a las 4 que uses ahora claro
