Cido 0 Denunciar post Postado Fevereiro 15, 2006 Pessoal é o seguinte:Tenho uma grid onde os dados são mostrados conforme open no cdsEstoqueLotesTenho um outro cds que para abrir usa como parametro dados de outro cds: exemplo: cdsAtualizaPrecos.Params.ParamByName('origem').Value:=cdsEstoqueLotes.FieldByName('origem').AsString;Qdo tento usar o codigo with DMAgencia.cdsAtualizaPrecos do try Open; First; while not Eof do begin Edit; FieldByName('precominimo').Value:=StrToFloat(edtPreco.Text); FieldByName('precodesejado').Value:=StrToFloat(edtPreco.Text); Post; Next; end; ApplyUpdates(-1); finally close; end;Ele simplesmente atualiza o registro onde esta o focus. Imagino que isto esta correto.Alguem saberia me dizer como atualizar todos os registros apresentados inicialmente no grid pelo cdsEstoqueLotes?Valeu.Cido. Compartilhar este post Link para o post Compartilhar em outros sites
bastard2003 4 Denunciar post Postado Fevereiro 16, 2006 ja rodo ele com F5 pra ver a onde ele passa?? faz o teste ai... depois diz qq deu Compartilhar este post Link para o post Compartilhar em outros sites
Cido 0 Denunciar post Postado Fevereiro 17, 2006 Então, o problema é o seguinteEle passa no primeiro registro e faz o q deve fazer. Ai recebe next, ao verificar se é EOF, ele não consegue ir para o proximo, ele finaliza a operação.Cido. Compartilhar este post Link para o post Compartilhar em outros sites
Cido 0 Denunciar post Postado Fevereiro 17, 2006 Resolvi o problema colocando a rotina dentro da primeira rotina. Veja a rotina completa: with DMAgencia.cdsEstoqueLotes do try DisableControls; Position:=GetbookMark; First; btnAplicar.Caption:='Aguarde...'; while not Eof do begin Edit; FieldByName('precoUnitario').Value:=StrToFloat(edtPreco.Text); Post; with DMAgencia.cdsAtualizaPrecos do try Open; begin Edit; FieldByName('precodesejado').Value:=StrToFloat(edtPreco.Text); Post; end; ApplyUpdates(-1); finally close; end; Next; end; ApplyUpdates(-1); gotoBookMark(Position); FreeBookMark(Position); EnableControls; finallyO passo agora é analisar se esta rotina pode ficar lenta ou não qdo estiver em produção.Valeu.Cido. Compartilhar este post Link para o post Compartilhar em outros sites