Fórum Ajuda com laço de repetição #482696
16/06/2014
0
Estou com um problema e gostaria de poder contar com a ajuda de voces.
Tenho uma tela de consulta que esta funcionando perfeitamente, os dados são apresentados
em um dbGrid (qryPedidos) : Pedidos, quando navego pelos registros um segundo dbGrid exibe
os itens (qryItens) : Itens
Com o código abaixo eu totalizo a consulta de pedidos (qryPedidos)
esta funcionando OK
tabAccess.open;
while not qryPedidos.eof do begin
///meus comandos estão OK......
vTotalVendas:=qryPedidos.fieldByName('valor').asFloat + vTotalVendas;
qryPedidos.next;
end;
Porem eu preciso gravar os itens em uma tabela access, qual a melhor forma de resolver isso?
while not qryPedidos.eof do begin
///meus comandos estão OK......
vTotalVendas:=qryPedidos.fieldByName('valor').asFloat + vTotalVendas;
qryItens.sql.clear;
qryItens.sql.add('select * from tab_Itens where ????? ');
qryItens.open;
while qryItens.eof do begin
tabAccess.append;
** comandos para gravar
tabAccess.post;
qryItens.next;
end;
qryPedidos.next;
end;
Acho que já deu nó nos neurônios,e nem consigo mais ver onde estou errando
Se puderem me ajudar a ver a luz, fico agradecido,,,
Abraços
Arildo Augusto
Curtir tópico
+ 0Posts
16/06/2014
Mauricio Rodrigues
Pode usar master/detalhes.
Não vi .first nas query.
Vc deve estar usando TclientDateset, cria um campo virtual para somar os valores é mais rápido.
Gostei + 0
16/06/2014
Arildo Augusto
Não posso usar máster detail,,, a qryPedidos tem como origem SqlServer de outro sistema,e possui first sim,, é que eu simplifiquei o código
partindo o principio que eu já executei os comandos Sql,,,
qryPedidos.first;
while not qryPedidos.eof do begin
vTotalVendas:=qryPedidos.fieldByName('valor').asFloat + vTotalVendas;
qryPedidos.next;
end;
o Laço acima vai acumular o total do campo valor na variável vTotalVendas (não quero mexer nisso)
Algo do Tipo:
qryPedidos.first;
while not qryPedidos.eof do begin
vTotalVendas:=qryPedidos.fieldByName('valor').asFloat + vTotalVendas;
qryItens.sql.clear;
qryItens.sql.add('select * from tabItens where ????? ');
qryItens.open;
qryItens.first;
while qryItens.eof do begin
tabAccess.append;
** comandos para gravar
tabAccess.post;
qryItens.next;
end;
qryPedidos.next;
end;
O que eu gostaria é de popular uma tabela access dentro deste laço acima, usando objeto tTable mesmo, coisa simples
Gostei + 0
17/06/2014
Arildo Augusto
Bom dia
Já conseguir achar a LUZ,,, a rotina estava em looping....
rs
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)