Query FielByName sendo atribuida a Query ParamByName
10/01/2020
0
estou montando um relatório no delphi5 utilizando o quickReports e neste estou utilizando uma linha e uma sublinha para exemplicar dados da primeira.
Tenho a QryDados que preenche a linha principal e se nela tiver dados que se dupliquem aplico para mostrar na qryDetalheDados gostaria de saber como fazer a chamada da FieldByName da QryDados e usar como ParamByName corretamente em minha qryDetalheDados.
Obs.: neste exemplo apliqeui um AfterScroll
procedure TFRExpedicao.qryDadosAfterScroll(DataSet: TDataSet); begin if not(qryDados.eof) then with qrySubDados do begin qrySubDados.Close; parambyname(''lote'').value := qryDados.fieldbyname(''lote_Frango'').asInteger; parambyname(''nro_ordem'').value := qryDados.fieldbyname(''nro_ordem'').asInteger; qrySubDados.Open(); end; end;
Charles Pereira
Post mais votado
15/01/2020
Se você quer fazer um loop faz assim:
Observe que eu removi aspas duplas e coloquei simples.
while not qryDados.eof then
begin
with qrySubDados do
begin
qrySubDados.Close;
parambyname('lote').value := qryDados.fieldbyname('lote_Frango').asInteger;
parambyname('nro_ordem').value := qryDados.fieldbyname('nro_ordem').asInteger;
qrySubDados.Open;
end;
qryDados.next;
end;
Se quiser checar se ele retornou resultado dentro da query faça assim:
if qryDados.recordcount >0 then
begin
with qrySubDados do
begin
qrySubDados.Close;
parambyname('lote').value := qryDados.fieldbyname('lote_Frango').asInteger;
parambyname('nro_ordem').value := qryDados.fieldbyname('nro_ordem').asInteger;
qrySubDados.Open;
end;
end;
Espero ter ajudado.
Anderson Gonçalves
Mais Posts
10/01/2020
Charles Pereira
estou montando um relatório no delphi5 utilizando o quickReports e neste estou utilizando uma linha e uma sublinha para exemplicar dados da primeira.
Tenho a QryDados que preenche a linha principal e se nela tiver dados que se dupliquem aplico para mostrar na qryDetalheDados gostaria de saber como fazer a chamada da FieldByName da QryDados e usar como ParamByName corretamente em minha qryDetalheDados.
Obs.: neste exemplo apliqeui um AfterScroll, e quando executo o processo o fieldbyname vem como valor zero sendo que a query tem dados
procedure TFRExpedicao.qryDadosAfterScroll(DataSet: TDataSet); begin if not(qryDados.eof) then with qrySubDados do begin qrySubDados.Close; parambyname(''lote'').value := qryDados.fieldbyname(''lote_Frango'').asInteger; parambyname(''nro_ordem'').value := qryDados.fieldbyname(''nro_ordem'').asInteger; qrySubDados.Open(); end; end;
15/01/2020
Charles Pereira
11/02/2020
Anderson Gonçalves
Já dizia meu professor, "Não importa como você vai fazer, importante que fique funcional e bom para o usuário".
Estamos as ordens.
Clique aqui para fazer login e interagir na Comunidade :)