Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como obtener valores de una consulta (https://www.clubdelphi.com/foros/showthread.php?t=63709)

Alexandro 26-02-2009 20:55:30

Como obtener valores de una consulta
 
Hola amigos:
Mi sgte. duda es: Tengo una tabla en un servidor SQL llamada Tbl_estimulacion en ella hay varios campos y luego de introducir todos los datos, yo lanzo una consulta para obtener los totales de 2 de sus registros y asi poder, a travez de formulas X completar los otros registros que solo se llenan con los totales.
Aki esta la consulta que envio:
Código Delphi [-]
  With Modulo_Busqueda.Consulta_Estimulacion do
     begin
        Close;  //cierro la consullta por si esta abierta.
         SQL.Text:='SELECT SUM(Monto_Afect_Incump_Indicad), SUM(Monto_Result_calc) FROM Tbl_Estimulacion WHERE MONTH(fecha) = '+IntToStr(MonthOf(Date))+ ' AND YEAR(fecha) = '+IntToStr(YearOf(Date))+' ORDER BY fecha';
        Open; //Ejecuto la consulta
        Cant_Reg:=RecordCount; //para saber la cantidad de registros
        Close; //la cierro otra vez para no tenerla residente
        Progreso.Max:=Cant_Reg;//le asigno a la barra de progreso la cantidad de registros
     end;
El problema es que no se como puedo asignarle por ejemplo a Total1 que es una variable tipo Real el valor de SUM(Monto_Afect_Incump_Indicad).
Me pueden ayudar?
Uso delphi 7 componentes ADO
Gracias adelantadas

roman 26-02-2009 21:18:11

Algo así:

Código Delphi [-]
Total1 := Modulo_Busqueda.Consulta_Estimulacion.Fields[0].Value;

// Saludos

Caro 26-02-2009 21:56:13

Hola, también puedes ponerle un alias a cada Sum.

Código Delphi [-]
With Modulo_Busqueda.Consulta_Estimulacion do
 begin
  ................ 
  SQL.Text:='SELECT SUM(Monto_Afect_Incump_Indicad) As Sum1, SUM(Monto_Result_calc) As Sum2 '+
                 'FROM Tbl_Estimulacion............';
  Open; //Ejecuto la consulta

  //Para obtener
  showmessage(FieldByName('Sum1').AsString+'  '+FieldByName('Sum2').AsString);
 end;

Saluditos

Alexandro 26-02-2009 22:13:06

Hola y gracias por responder:

Roman: Hice lo que me dijiste y me dice: "Liost out of bonus". Un error muy conocido.

Caro: Ya había probado por ahí y me dice que el campo Sum1 no existe en la tabla.
Que puedo hacer :confused:
Espero me sigan ayudando. Gracias

Alexandro 26-02-2009 22:20:47

Oigan ya. Ya me salió.
1000000000000000 de gracias. De las 2 maneras esta muy bien. El error era mio. Cuando alnalice el rror que me dio al poner el codigo que me dijo Roman busque en el Codigo y vi que yo cerrava la tabla antes de asignar los valores. :D:D:D
Disculpenme y muchas gracias.
Suerte

Alexandro 26-02-2009 22:21:22

Oigan ya. Ya me salió.
1000000000000000 de gracias. De las 2 maneras esta muy bien. El error era mio. Cuando alnalice el error que me dio al poner el codigo que me dijo Roman busque en el Codigo y vi que yo cerraba la consulta antes de asignar los valores. :D:D:D
Disculpenme y muchas gracias.
Suerte


La franja horaria es GMT +2. Ahora son las 05:37:17.

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