hola efromm.
Antes de responder a tu pregunta, quiero recomendarte que leas la
guia de estilo de los foros, y que para los próximos hilos que abras en estos foros, pongás un título adecuado a la pregunta que estas haciendo. En este caso, por ejemplo, "Cómo filtrar una consulta con el valor de un edit?" o algo similar. Se que cuando te inicias en los foros es algo dificil encontrar los títulos adecuados, y mas todavia plantear las preguntas que tenemos con toda la información necesaria, pero es un esfuerzo que vale la pena realizar, si queres encontrar ayuda y ser aceptado en esta comunidad.
Con respecto de tu pregunta, hay básicamente dos formas de resolverlo.
Una, es construir la sentencia SQL "al vuelo" y asignarla a un componente TQuery.
Algo como:
Código:
MyQuery.SQL.Clear;
MyQuery.SQL.Add('Select * from Comp.dbf where upc = ' + QuotedStr(Edit1.Text);
MyQuery.Open;
La otra, que es la que yo prefiero y recomiendo, es usando parámetros en la sentencia SQL.
Lo harias de esta forma:
La sentencia SQL a introducir será:
Select * from Comp.dbf where upc =
:CodigoUPC;
luego, en el inspector de objetos buscas la propiedad Parameters del query, y asignas el tipo de dato ptString y el tipo de parámetro ftInput al parámetro CodigoUPC.
Luego en tiempo de ejecución haces:
Código:
MyQuery.ParamByName('CodigoUPC').AsString := Edit1.Text;
MyQuery.Open;
Y listo!.
Hasta luego.