Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-01-2011
gri gri is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 10
Poder: 0
gri Va por buen camino
while anidado para leer una tabla

Hola necesito leer una tabla y encontrar los productos que se llaman igual y que tienen fechas iguales y sumar las cantidades de estos productos , yenviar sus datos en otra tabla.
con el codigo que tengo lo hace una vez(los datos correctos) y lo escribe en la otra tabla, pero necesito que lo haga otra vez.

utilice 2 while uno dentro de otro. pero el de adentro llega al final, y como es el mismo no puedo regresar al primer while y necesito regresar al primer while.
el codigo es mas o menos asi:
(Table2 es donde revisa y obtiene los datos y table1 debe escribirlos despues con todo y calculo)

Código Delphi [-]
while Not Table2.Eof do
begin
  Cant:=0;
  Table2.Edit;
    DataSource2.DataSet.Edit;
    a:=Table2.FieldValues['FechaMenu'];
    b:=Table2.FieldValues['Dia'];
    c:=Table2.FieldValues['Nombre'];
    d:=Table2.FieldValues['Cantidad'];
    e:=Table2.FieldValues['Unidad'];
    f:=Table2.FieldValues['Clasificacion'];
    table2.First;//para comparar las variables con cada registro de la tabla
    while Not table2.Eof  do
    begin
    DataSource2.DataSet.Edit;
      if (a=Table2.FieldValues['FechaMenu'])and (c=Table2.FieldValues['Nombre']) then
      begin
      cant:= cant + Table2.FieldValues['Cantidad'];
      end;
      Table2.Edit;
      Table2.Next;
    end; {fin del while 2}

    if not(Table1.Locate('Descripcion',c, [])) then
      begin
      table1.Append;
      Table1.Edit;
      Table2.Edit;
      Table1.FieldValues['Proveedor']:=f;
      Table1.FieldValues['Descripcion']:=c;
      Table1.FieldValues['Unidad']:=e;
      Table1.FieldValues['CantidadP']:=cant;
      Table1.FieldValues['FechaE']:=a;
      //Table2.First;// probando para ver si lo hace 2 veces
      end;
    Table1.Edit;
    Table1.Post;
   Table2.Next;//AKI YA NO PUEDE LLEGAR POR QUE YA LLEGO AL EOF DE MI TABLE 2
  //end;{fin del if que comprueba lo que tengo en la primera posicion es = a la fecha}
 end; {fin del while}

Ayudenme
Responder Con Cita
 



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
Leer un TXT e insertar en tabla de firebird ivantech Firebird e Interbase 13 01-09-2010 21:44:09
Cómo leer una imagen de una tabla en sql server... ronimaxh Varios 13 26-07-2010 17:40:46
Utilizar un DBGrid para leer de una tabla y escribir en otra taru MySQL 0 25-07-2006 18:31:06
Necesito crear un permiso para escribir pero no para leer federiconqn21 Conexión con bases de datos 5 07-07-2006 19:13:47


La franja horaria es GMT +2. Ahora son las 04:29:00.


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