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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2011
sergioperez sergioperez is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 27
Poder: 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
  #2  
Antiguo 19-01-2011
sergioperez sergioperez is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 27
Poder: 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
  #3  
Antiguo 19-01-2011
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino
no se entiende nada .
__________________
Aleca
Responder Con Cita
  #4  
Antiguo 19-01-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
El duplicar un hilo no ayudará a que te respondan más rápido..

Favor lee la guia de estilo

Salu2
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 19-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, sergioperez, bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, son una serie de normás básicas, entre ellas está el no repetir hilos. Gracias por tu colaboración.
Responder Con Cita
  #6  
Antiguo 20-01-2011
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino
anulado no se que paso, lo vuelvo a poner
__________________
Aleca

Última edición por Aleca fecha: 20-01-2011 a las 00:42:58.
Responder Con Cita
  #7  
Antiguo 20-01-2011
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino

Para que haces un edit de la tabla2 si solo tenes que llenar la tabla1.
__________________
Aleca
Responder Con Cita
  #8  
Antiguo 20-01-2011
ppalmamichi ppalmamichi is offline
Miembro
 
Registrado: abr 2005
Posts: 24
Poder: 0
ppalmamichi Va por buen camino
podrias ser mas explicito?, no es necesario poner en modo de edicion una tablas si solo vas a leer datos, ni tampo es necesario utilizar variables si puedes usar los campos del dataset directamente.
__________________
e un mondo dificile
Responder Con Cita
  #9  
Antiguo 20-01-2011
sergioperez sergioperez is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 27
Poder: 0
sergioperez Va por buen camino
hola disculpen por repetir los hilos, es que soy nuevo en el foro y no se como se trabaja en el foro, pero ya se como solucionar el problema, necesito controlar los indices de los renglones de mi tabla(no las columnas).
pero no se como o en donde se guardan los indices de los renglones.
Responder Con Cita
  #10  
Antiguo 20-01-2011
sergioperez sergioperez is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 27
Poder: 0
sergioperez Va por buen camino
Bueno El Problema Esta Es Que No Se Como Sumar Los Productos Iguales De Mi Tabla Ya Que Los Manejo Por Fechas Y Pues Si No Es Esa Fecha No Me Lo Debe Sumar Todo Esto Me Lo Debe Poner En Una Tabla Diferente En Donde Voya Realisar Los Pedidos Por Prooverdor
Gracias Por Su Ayuda
Responder Con Cita
Respuesta



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
pedidos sergioperez Tablas planas 23 21-01-2011 22:53:56
hacer una tabla de pedidos sergioperez Tablas planas 0 19-01-2011 20:44:21
Mostar datos de tabla en un grid y al hacer click en una celda desplegar otra tabla zheen Conexión con bases de datos 15 06-09-2010 20:43:47
Problema con Nº de pedidos SQL server ADO. HccSoft Conexión con bases de datos 10 21-01-2010 14:22:17
Ayuda con sistema de pedidos XBart OOP 2 20-07-2006 00:48:51


La franja horaria es GMT +2. Ahora son las 04:26:30.


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