Ver Mensaje Individual
  #3  
Antiguo 04-08-2006
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Reputación: 24
Cabanyaler Va por buen camino
Cool

Si eso es lo que buscaba, más o menos, ya que el group by agruparía (valga la redundancia) todas las líneas de los artículos, pero yo además no quiero sacar todas las líneas agrupadas de un mismo artículo sino por cada grupo de esos artículos debería salir una sóla línea con el sumatorio de las cantidades de todas las líneas pertenecientes al determinado artículo. Gracias.
Pero la sintaxis és la que me puede en este caso, ya que no logro hacer una sintaxis correcta.
No obstante lo he resuelto con algorítmica, y es por ello por lo que me he conectado, para publicarla.
Pero preferiría, claramente, hacer el proceso en el servidor.. claro, en lugar de en la consola del cliente.

Gracias.

Código Delphi [-]
 // Ara he de recorrer tota la consulta per agrupar en una mateixa linea tots els valors
     Final_w             := False;
     Cantidad_unidades_w := 0;

     DMCertGESA.ADOSP_InfUniAny.First;
     if(DMCertGESA.ADOSP_InfUniAny.RecNo = DMCertGESA.ADOSP_InfUniAny.RecordCount) then
        Final_w := true;
     NumUni_ant := DMCertGESA.ADOSP_InfUniAnyCodUni_LinVal.value;
     DMCertGESA.ADOSP_InfUniAny.Next;

     if(DMCertGESA.ADOSP_InfUniAny.RecNo = DMCertGESA.ADOSP_InfUniAny.RecordCount) then
        Final_w := true;

     while not(DMCertGESA.ADOSP_InfUniAny.Eof) and (not(Final_W)) do
     begin
         if(NumUni_ant = DMCertGESA.ADOSP_InfUniAnyCodUni_LinVal.value) then
         begin
            NumUni_ant          := DMCertGESA.ADOSP_InfUniAnyCodUni_LinVal.value;
            Cantidad_unidades_w := DMCertGESA.ADOSP_InfUniAnyNumUni_LinVal.Value;
            DMCertGESA.ADOSP_InfUniAny.Prior;
            DMCertGESA.ADOSP_InfUniAny.Edit;
            DMCertGESA.ADOSP_InfUniAnyNumUni_LinVal.Value := DMCertGESA.ADOSP_InfUniAnyNumUni_LinVal.Value + Cantidad_unidades_w;
            DMCertGESA.ADOSP_InfUniAny.Post;
            DMCertGESA.ADOSP_InfUniAny.Next;
            DMCertGESA.ADOSP_InfUniAny.Delete;
            Cantidad_unidades_w := 0;
         end
         else
         begin
            NumUni_ant := DMCertGESA.ADOSP_InfUniAnyCodUni_LinVal.value;
            DMCertGESA.ADOSP_InfUniAny.Next;
         end;

         if(DMCertGESA.ADOSP_InfUniAny.RecNo = DMCertGESA.ADOSP_InfUniAny.RecordCount) then
            Final_w := true;
     end;
     DMCertGESA.ADOSP_InfUniAny.First;
     // ****** Fin de l'agrupació de les unitats acumulan-les a la mateixa linea
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita