Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Este qry no me funciona, porque? (https://www.clubdelphi.com/foros/showthread.php?t=23609)

alcides 22-07-2005 15:24:24

Este qry no me funciona, porque?
 
hola a todos,
Amigos: quiero modificar un campo de una tabla llamada Catalogo con el resultado de una variable en mi reporte y tengo lo siguiente:
en el on print de mi variable tengo esto.
Código PHP:

procedure TFrm_Sumar_Balance.ppVariable2Print(SenderTObject);
begin
qry_DetalleDetalleNumero_Transacion
.Value;
if (
qry_detalleOrigen.Value 'AC') or
   (
qry_detalleOrigen.Value 'GO'then begin
    ppVariable2
.Value := (ppVariable1.Value ppDBCalc2.Value) -  ppDBCalc3.Value;
end;
if (
qry_detalleOrigen.Value 'PA') or
   (
qry_detalleOrigen.Value 'PT') or
   (
qry_detalleOrigen.Value 'IN'then begin
    ppVariable2
.Value := (ppVariable1.Value ppDBCalc3.Value) - ppDBCalc2.Value;
end;

with Qry_Catalogo do
Begin
qry_catalogo
.close;
Qry_Catalogo.sql.Clear;
qry_catalogo.SQL.add('update Tbl_Catalogo');  
qry_catalogo.SQL.Add('set balance := ppVariable.Value');
qry_catalogo.SQL.add('Where Cuenta = Detalle.Cuenta');
qry_catalogo.ExecSQL;
end;
end

gracias mil, por la ayuda que me puedan brindar

Alcides
Rep.Dom.

delphi.com.ar 22-07-2005 15:46:44

Supongo que no funciona significa que te da un error, posiblemente en el ExecSQL, por estas líneas:
Cita:

Empezado por alcides
qry_catalogo.SQL.add('update Tbl_Catalogo');
qry_catalogo.SQL.Add('set balance := ppVariable.Value');
qry_catalogo.SQL.add('Where Cuenta = Detalle.Cuenta');

Lo que le llegará al motor es: "update Tbl_Catalogo set balance := ppVariable.Value Where Cuenta = Detalle.Cuenta" y el motor no tiene idea de que es ppVariable.Value y Detalle.Cuenta. Donde ppVariable.Value es un control de tu formulario y Detalle.Cuenta no se si te refieres a un campo de otra tabla o a que?

Fíjate de armar algo con este formato:
Código Delphi [-]
DataSet.Sql := 'UPDATE TABLA ' + ;
                  'SET CAMPO = :Param0 ' +
                'WHERE ID = :Param1';
DataSet.Params[0].Value := MiValor;
DataSet.Params[1].Value := MiId;
DataSet.ExecuteSql;


http://www.clubdelphi.com/foros/show...ht=shared+pool

alcides 22-07-2005 19:33:03

Gracias delphi.com.ar
por tu ayuda y orientación





Gracias mil,


Alcides
Rep.Dom.


La franja horaria es GMT +2. Ahora son las 13:19: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