Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   validar lineas de un texto con tabla (https://www.clubdelphi.com/foros/showthread.php?t=83966)

exequielmatias1 21-08-2013 21:07:45

validar lineas de un texto con tabla
 
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

Cita:

Empezado por exequielmatias1 (Mensaje 465896)
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:
Código Delphi [-]
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. :)


La franja horaria es GMT +2. Ahora son las 11:56:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi