Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Consulta, para poder sumar monto (https://www.clubdelphi.com/foros/showthread.php?t=87728)

maxzama 18-02-2015 18:39:15

Consulta, para poder sumar monto
 
Hola.

Tengo dos tabla o base de dato, que tienen los mismo campo.

1) tabla: es donde se va guardando los datos de las personas que no tienen numero de cuenta.

2) Tabla(tabla temporal): (asistencia de la semana a pagar)

1)tabla: esta conectado a un mysql(REPORTE_COBRADO)

2)tabla: esta conectado a un mysql(ASISTENCIA_COBRAR)


Función: Que al presionar el botón, haga una consulta de que la cédula de la tabla 2 es igual a la tabla 1. Si son iguales, que me sume el monto cuanta veces aparezca la cédula registrada en la tabla 1.

Tabla 1: esta registrado 3 veces la misma cédula con el siguiente monto (95134)...

Problema: Que al correr el código, me suma una sola vez y después no sigue.

Codigo DELPHI:

Código Delphi [-]
var
  monto2:String;  //  Reporte_Corado
  monto3:String;  //  Reporte_Corado
  Monto:String;
  J,k,l:real;
  m,n,o:real;
begin
  M:=0;
  Dmodulo.REPORTE_COBRADO.Active:=false;
  Dmodulo.REPORTE_COBRADO.Active:=true;
  Dmodulo.ASISTENCIA_COBRAR.First;
  while not Dmodulo.ASISTENCIA_COBRAR.Eof do
  begin
    Dmodulo.REPORTE_COBRADO.First;
    while not Dmodulo.REPORTE_COBRADO.Eof do
    begin
      if DMODULO.ASISTENCIA_COBRAR.FieldByName('cedula').AsString = DMODULO.REPORTE_COBRADO.FieldByName('CEDULA').AsString  then
      begin
        Monto2:=DMODULO.REPORTE_COBRADO.FieldByName('Monto').AsString;
        Monto:=DMODULO.ASISTENCIA_COBRAR.FieldByName('Monto').AsString;
        J:=StrToint(monto2);
        K:=StrToInt(monto);
        L:= J + K ;
        Monto:= FloatToStr(L);
        monto:= Copy('00000000000', 1, 11 - Length(monto)) + monto;
      end;
      Dmodulo.REPORTE_COBRADO.Next;
      Edit49.Text:=Monto;
    end;
    Dmodulo.ASISTENCIA_COBRAR.Next;
  end;

Espero sus respuesta por favor y gracias...

maxzama 18-02-2015 21:13:46

Gracias, Ya lo e podido hacer.

Código final:

Código Delphi [-]
begin
                                    M:=0;
                                    Dmodulo.REPORTE_COBRADO1.Active:=false;
                                    Dmodulo.REPORTE_COBRADO1.Active:=true;
                                    Dmodulo.ASISTENCIA_COBRAR.First;
                                    while not Dmodulo.ASISTENCIA_COBRAR.Eof do
                                    begin
                                        Dmodulo.REPORTE_COBRADO1.First;
                                        while not Dmodulo.REPORTE_COBRADO1.Eof do
                                        begin
                                            if DMODULO.ASISTENCIA_COBRAR.FieldByName('cedula').AsString = DMODULO.REPORTE_COBRADO1.FieldByName('CEDULA').AsString  then
                                             begin
                                                 Monto2:=DMODULO.REPORTE_COBRADO1.FieldByName('Monto').AsString;
                                                 Monto:=DMODULO.ASISTENCIA_COBRAR.FieldByName('Monto').AsString;
                                                 J:=StrToint(monto2);
                                                 K:=StrToInt(monto);
                                                 L:= J + K ;
                                                 Monto:= FloatToStr(L);
                                                 monto:= Copy('00000000000', 1, 11 - Length(monto)) + monto;
                                               Memo1.Lines.Add(Monto);
                                              end;
                                              Dmodulo.REPORTE_COBRADO1.Next;
                                        end;
                                        Dmodulo.ASISTENCIA_COBRAR.Next;

                                    end;


end;

MySql Delphi:

Código Delphi [-]
select    R.cedula,

            sum (R.monto)  as monto

            from R,A

            Where    R.Cedula = A.Cedula and

                        R.Monto = A.Monto

            Group by   R.Cedula,
                           R.Monto


La franja horaria es GMT +2. Ahora son las 22:28:31.

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