Ver Mensaje Individual
  #1  
Antiguo 19-01-2011
sergioperez sergioperez is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 27
Reputación: 0
sergioperez Va por buen camino
hacer una tabla de pedidos

Hola necesito hacer una tabla de pedidos a partir de otra ingredientesdiarios.
les voy a poner la tabla que tengo hecho y la que quiero hacer.
La tabla que tengo hecho es ingredientesdiarios.db (en mi formulario se llama Table2) y tiene los siguientes campos:

FechaMenu Dia Nombre Cantidad Unidad Clasificacion
1017012011 Lunes Pollo 20 k Carnes
1017012011 Martes Azucar 10 k Abarrotes
1017012011 Martes Pollo 10 k Carnes
1017012011 Miercoles Avena 3 C Abarrotes
1017012011 Miercoles Azucar 10 k Abarrotes
170121012011 Viernes Pollo 25 k Carnes


y la tabla que quiero llenar o hacer apartir de esto es pedido (en mi formulario es Table1):

Proveedor Descripcion Unidad CantidadP CantidadS FechaE FechaS
Carnes Pollo k 30 1017012011
Abarrotes Azucar k 20 1017012011
Abarrotes Avena C 3 1017012011

segun yo lo para lograr hacerlo hice un codigo, pero ya lo cheque poco a poco y el error esta en que en el segundo while mi table2 llega al final y ya no puede regresar al primer while, chequen mi codigo por favor es este:



Código Delphi [-]
var
a, b, c, d, e, f:String;
cant: Integer;
begin
{si lo q se captura ya esta guardado en pedido no debe hacer nada}
if (Table1.Locate('FechaE', Edit1.Text, [])) then
begin
ShowMessage('Ya existe el pedido de esa fecha');
end
else
{si lo q se captura no se ha pedido}
begin
ShowMessage('espera unos segundos');
   Table2.First;
   table2.Edit;
  While Not Table2.Eof do
  begin
    Cant:=0;
    Table2.Edit;
    DataSource2.DataSet.Edit;
    begin
    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;
    LABEL6.Caption:=a+c;
    while Not table2.Eof  do
    begin
    showmessage('segundo while');
    DataSource2.DataSet.Edit;
      if (a=Table2.FieldValues['FechaMenu'])and (c=Table2.FieldValues['Nombre']) then
      begin
      showmessage('probando en el if');
      cant:= cant + Table2.FieldValues['Cantidad'];
      end;
      Table2.Next;
    end; {fin del while 2}
    if not(Table1.Locate('Descripcion',c, [])) then
      begin
      table1.Append;
      Table1.Edit;
      Table1.FieldValues['Proveedor']:=f;
      Table1.FieldValues['Descripcion']:=c;
      Table1.FieldValues['Unidad']:=e;
      Table1.FieldValues['CantidadP']:=cant;
      Table1.FieldValues['FechaE']:=a;
      end;
    Table1.Post;
    Table2.Next;
  //end;{fin del if que comprueba lo que tengo en la primera posicion es = a la fecha}
  end; {fin del while}
Table2.Post;
end;{fin del else}
end; {fin del metodo del boton}
espero me hayan entendido y me ayuden por favor.
Responder Con Cita