Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 13-10-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Buenas, primero que nada, lo que planteas es un poco confuso , sobre todo llamando a los campos como a,b,c,d (al menos para mi, quiza sea un poco corto ) y creo que podrias aportarnos algun dato mas (no llego a entender que es exactamente lo que quieres hacer, hablando en terminos practicos)

Pasando al problema en si, lo ideal seria que la tabla esté de antemano ordenada para recorrerla como lo precisas

Código:
CAMPO_A | CAMPO_B | etc...
---------------------------
1               1               
1               1
1               2
2               1
2               4
3               2
3               1
3               1
entonces te quedaria algo masomenos asi (si entendi correctamente el problema)

Código Delphi [-]
Tu_Tabla.Open;
campo_a:= Tu_Tabla.FieldByName('Campo_A').Value;
campo_b:= Tu_Tabla.FieldByName('Campo_B').Value;
while not(Tu_Tabla.EoF) do
begin
    // inicializas la variable totalizadora
    total:= 0;
    while not(Tu_Tabla.EoF) and (campo_a = Tu_Tabla.FieldByName('Campo_A').Value) and 
          (campo_B = Tu_Tabla.FieldByName('Campo_B').Value) do
    begin
        // realizas tu proceso de ver si tenes que sumar/restar, 
        if (condicion_para_sumar) then
            total:= total + Tu_Tabla.FieldByName('Cantidad').Value
        else
            total:= total - Tu_Tabla.FieldByName('Cantidad').Value;
        Tu_Tabla.Next;
        campo_a:= Tu_Tabla.FieldByName('Campo_A').Value;
        campo_b:= Tu_Tabla.FieldByName('Campo_B').Value;
    end;

    // salir de este while significa que, o bien cambio el articulo
    // o bien que cambio de almacen, por lo tanto deberias guardar en la otra tabla el total?

    // guardas en la otra tabla el total
    with La_Otra_Tabla do
    begin
        Edit;
        FieldByName('total').Value:= total;
        Post;
    end;
end;

Si el proceso lo tenes que realizar para todos los productos, entonces yo optaria por hacer un query:

Código SQL [-]
SELECT * FROM Tu_Tabla WHERE A = :CodProducto

Luego recorres ese dataset para totalizar, y vuelves a lanzar el mismo query pero con otro codigo de producto, me explico?

Que es exactamente lo que precisas, saber cuanto de cada producto hay en cada almacen?

Un saludo!

Última edición por AgustinOrtu fecha: 13-10-2014 a las 07:03:47. Razón: me equivoque en una cosa del codigo :D
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Depurar una CGI en Delphi 5 bitbow Internet 0 10-03-2011 16:55:42
Depurar una dll en TurboDelphi yarones Varios 3 18-01-2008 12:22:29
Depurar Clases jplj Varios 2 13-11-2007 17:39:59
No depurar ciertas units marto Varios 3 22-06-2004 18:09:38
depurar libreria agonzalez Varios 6 16-03-2004 19:03:08


La franja horaria es GMT +2. Ahora son las 20:54:43.


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
Copyright 1996-2007 Club Delphi