Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   query no recorre (https://www.clubdelphi.com/foros/showthread.php?t=46297)

janoF 28-07-2007 00:04:40

query no recorre
 
El código esta hecho para que recorra el Query y grabar los datos en una tabla de paso
'TablarecepcionDiaria' el problema esta en que no deja de grabar solo un registro que es el
primero y no recorre el query1 y lo graba al infinito en la tabla de paso

Código Delphi [-]
 
procedure TRecepcion.Button1Click(Sender: TObject);
begin
 Query1.First ;
 While not Query1.Eof do 
 begin
   TablarecepcionDiaria.Insert;
   TablarecepcionDiaria.FieldbyName ('Rutvendedor').Asstring := query1.FieldbyName ('Rutvendedor').Asstring;
   TablarecepcionDiaria.FieldbyName ('Nombrevendedor').Asstring := query1.FieldbyName('NombreVendedor').Asstring;
   TablarecepcionDiaria.FieldByName ('RutAyudante').asstring := query1.FieldByName ('RutAyudante').asstring ;
   TablarecepcionDiaria.FieldByName ('NombreAyudante').asstring := query1.FieldByName ('NombreAyudante').asstring ;
   TablarecepcionDiaria.FieldByName ('fecha').asstring := query1.FieldByName ('fecha').asstring  ;
   TablarecepcionDiaria.FieldByName ('Codigo').asstring := query1.FieldByName ('Codigo').asstring  ;
   TablarecepcionDiaria.FieldByName ('Producto').asstring := query1.FieldByName ('Producto').asstring  ;
   TablarecepcionDiaria.FieldByName ('Despachos').asstring := query1.FieldByName ('Despachos').asstring  ;
   TablarecepcionDiaria.FieldByName ('Precio').asstring := query1.FieldByName ('Precio').asstring  ;
   TablarecepcionDiaria.FieldByName ('total').asstring := query1.FieldByName ('total').asstring  ;
   TablarecepcionDiaria.Post;
 query1.Next ;
 end;
end;

*****************************************************

*********el query1 le tengo este código para ordenar los datos
SELECT * FROM Visualizaventadiarias ORDER BY codigo ASC

*********y el boton para filtrar los datos asociado al query y al dbgrid
Código Delphi [-]
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select * from Visualizaventadiarias');
Query1.Sql.Add('Where RutVendedor = ');
Query1.Sql.Add(QuotedStr(Edit1.Text));
Query1.Open;

gracias por el analisis

EDITE: Para colocar etiquetas Delphi.

jhonny 28-07-2007 00:22:25

Esto si me parece muy extraño, ¿Seguro que en la tabla Visualizaventadiarias no están esos datos repetidamente?, quizá te parece que no esta recorriéndose el DataSet, debido a que te muestra un registro diferente pero repetido de dicha consulta, se me viene de pronto a la cabeza que hagas la prueba cambiando el segundo botón por:
Código Delphi [-]
Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add('Select distinct * from Visualizaventadiarias');
Query1.Sql.Add('Where RutVendedor = ');
Query1.Sql.Add(QuotedStr(Edit1.Text));
Query1.Open;

Para ver que sucede.

Otra cosa, BIENVENIDO¡¡¡ al club, pero por favor utiliza las etiquetas delphi, para que tu codigo se vea mejor y se entienda mas facilmente.

janoF 31-07-2007 21:56:50

Disculpa soy nuevo en esto
 
Pero el problema es... el query hace bien el filtro me muestra los datos que pido y los mustra en el dbgrid, pero lo que quiero hacer es, copiar los datos filtrados en una tabla de paso y ahí es donde tengo el problema por que me copia al infinito y solo el primer registro filtrado... se que el codigo esta bien pero no se lo que pasa... este es mi problema.

janoF 03-08-2007 08:35:19

Gracias
 
Muchas Gracias por la respuesta creo que el next del Query no funcionaba
pero lo soluciones con con un ciclo While con condiciones en una tabla para que haga el filtro y poder hacer las modificaciones.

Gracias por tu respuesta...


La franja horaria es GMT +2. Ahora son las 10:52:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi