PDA

Ver la Versión Completa : validar lineas de un texto con tabla


exequielmatias1
21-08-2013, 21:07:45
Hola gente.. tengo la siguiente consulta, tengo un memo con una cadena de codigos ej: SABBQCDI SABFQADG SABDQADG SABFQADG (...)
cada uno de estos codigos de 8 letras representa un nombre, que se encuentra en una tabla de validacion en access.
mi tabla conectada desde un ADOQuery tiene una columna nombre y otra Id que son las cadenas de 8 caracteres
Necesito un codigo que busque esos campos en la tabla de validacion y me muestre en un memo los nombres de esos codigos.
espero haber sido claro sino doy mas detalles.. gracias!

ecfisa
21-08-2013, 21:48:37
Hola gente.. tengo la siguiente consulta, tengo un memo con una cadena de codigos ej: SABBQCDI SABFQADG SABDQADG SABFQADG (...)
cada uno de estos codigos de 8 letras representa un nombre, que se encuentra en una tabla de validacion en access.
mi tabla conectada desde un ADOQuery tiene una columna nombre y otra Id que son las cadenas de 8 caracteres
Necesito un codigo que busque esos campos en la tabla de validacion y me muestre en un memo los nombres de esos codigos.

Hola exequielmatias1.

Bueno, lo que pude entender de tu mensaje es que en un TMemo, tenes un número indeterminado de nombres separados por un espacio y que deseas buscarlos en una tabla.

Entonces:

var
TS : TStringList;
str: string;
i : Integer;
begin
TS := TStringList.Create;
try
// Obtener nombres del memo
ExtractStrings([' '], [], PChar(Memo1.Text), TS);

// Confeccionar la consulta
str := 'SELECT * FROM TABLA_VALIDACION WHERE ';
for i:= 0 to TS.Count -1 do
str := str + ' NOMBRE = ' + QuotedStr(TS[i]) + ' OR ';
SetLength(str, Length(str) - Length(' OR '));

// Ejecutarla
with ADOQuery1 do
begin
Close;
SQL.Text := str;
Open;
end;
finally
TS.Free;
end;
end;


Saludos. :)