Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como concatenar 3 campos en un edit!!! (https://www.clubdelphi.com/foros/showthread.php?t=78022)

negrokau 13-03-2012 22:10:01

Como concatenar 3 campos en un edit!!!
 
hola, la verdad no se como se concatena 3 campos de una misma tabla en un mismo edit con la funcion LIKE, me gustaria una ayuda si se puede, uso query y mis campos son COD_BARRA, CATEGORIAS Y DESCRIPCION, mi tabla se llama STOCK

me explicaron de esta forma pero no me funciona
Código Delphi [-]
Q_STOCK2.Close;
Q_STOCK2.SQL.Clear;
Q_STOCK2.SQL.Text:='SELECT * FROM STOCK WHERE UPPER(cod_barra||'' ''||CATEGORIA||'' ''||MERCADERIA)';
Q_STOCK2.Open;
les agradeceria mucho su ayuda... gracias

Cañones 13-03-2012 22:39:48

Cita:

Empezado por negrokau (Mensaje 427580)
hola, la verdad no se como se concatena 3 campos de una misma tabla en un mismo edit con la funcion LIKE, me gustaria una ayuda si se puede, uso query y mis campos son COD_BARRA, CATEGORIAS Y DESCRIPCION, mi tabla se llama STOCK

me explicaron de esta forma pero no me funciona
Código Delphi [-]Q_STOCK2.Close; Q_STOCK2.SQL.Clear; Q_STOCK2.SQL.Text:='SELECT * FROM STOCK WHERE UPPER(cod_barra||'' ''||CATEGORIA||'' ''||MERCADERIA)'; Q_STOCK2.Open;

les agradeceria mucho su ayuda... gracias

Hola, necesitas un SQL que te traiga concatenado tres campos?
Código SQL [-]
Q_STOCK2.SQL.Text:='SELECT cod_barra||' '||CATEGORIA||' '||MERCADERIA FROM STOCK';

En el WHERE van las condicionas para filtrar la consulta.

Casimiro Noteví 13-03-2012 22:42:09

En lugar de escribirte aquí directamente, y que no aprenderías nada, mejor hagámoslo paso a paso, ¿cómo lo harías en sql?

ecfisa 13-03-2012 23:06:47

Cita:

Empezado por negrokau (Mensaje 427580)
hola, la verdad no se como se concatena 3 campos de una misma tabla en un mismo edit con la funcion LIKE, me gustaria una ayuda si se puede, uso query y mis campos son COD_BARRA, CATEGORIAS Y DESCRIPCION, mi tabla se llama STOCK

me explicaron de esta forma pero no me funciona
Código Delphi [-]
Q_STOCK2.Close;
Q_STOCK2.SQL.Clear;
Q_STOCK2.SQL.Text:='SELECT * FROM STOCK WHERE UPPER(cod_barra||'' ''||CATEGORIA||'' ''||MERCADERIA)';
Q_STOCK2.Open;
les agradeceria mucho su ayuda... gracias

Hola.

Es que esa sentencia carece de sentido, no está comparando la concatenación con nada...

Sería sintácticamente correcta si fuese algo como por ejemplo:
Código SQL [-]
SELECT * FROM STOCK
WHERE UPPER(COD_BARRA || '' '' || CATEGORIA || '' '' || MERCADERIA) LIKE '%' || OTRO_CAMPO || '%'

De todos modos, ¿ Donde entra a jugar el Edit en todo esto ?

Saludos.

Casimiro Noteví 13-03-2012 23:09:30

No he dicho nada :p

ecfisa 13-03-2012 23:20:49

Cita:

Empezado por Casimiro Notevi (Mensaje 427588)
No he dicho nada :p

Todo lo contrario, le diste el mejor consejo:
Cita:

¿cómo lo harías en sql?
Es muchísimo más simple armar y probar la sentencia desde un script que desde un query. ;)

Saludos. :)

negrokau 13-03-2012 23:59:52

gracias, me sirvio mucho tu ayuda....

ecfisa 14-03-2012 00:17:04

Cita:

Empezado por negrokau (Mensaje 427592)
gracias, me sirvio mucho tu ayuda....

Hola negrokau.

Me alegra mucho que te sirvieramos de ayuda :)

Estaría muy bueno que nos pusieras como te quedó la consulta. De ese modo, quién tenga un problema similar, podrá sacar provecho de tu solución.

Un saludo.

negrokau 14-03-2012 00:28:55

ME QUEDO ASI:
Código Delphi [-]
procedure TF_STOCK.Edit3Change(Sender: TObject);
begin

Q_STOCK2.Close;
Q_STOCK2.SQL.Clear;
Q_STOCK2.SQL.Text:='SELECT * FROM STOCK WHERE UPPER(COD_BARRA || '' '' || CATEGORIA || '' '' || MERCADERIA) LIKE ''%'+EDIT3.TEXT+'%''';
Q_STOCK2.Open;


end;

GRACIAS......


La franja horaria es GMT +2. Ahora son las 21:58:44.

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