Bug do RecordCount ???? Quando voce da um First, o dataset move o ponteiro para o primeiro registro, registro a registro, Quando voce da um Last, o dataset move se para o ultimo registro, registro a registro. É esse o comportamento que voce quer ali....
Bem, mas voce sabia que ir do primeiro ao ultimo registro pode ser bem oneroso neh....imagine Com uns 1000 ate vai, 100000, registros (mestre detalhe), vai demorar um bocado...(nem todos os clientes gostam de esperar). Outro. Pelo que sei o recordcount não tem problemas, o que acontece quando voce da um Open, é que ele traz apenas os registros necessários para os componentes dataaware (normamente 1 registro) a não ser que voce tenha um dbgrid, onde ele vai trazer (fetch (se não me engano)) de registros suficientes para preencher o dbgrid...e contando do primeiro ao ultimo registro (visivel no dbgrid) vai ser a quantidade do count. Se voce quer outra solucao para saber quantos registros vem, eu sugiro utilizar um FetchAll. Embora não sei te responder se e melhor ou pior (acho que e melhor pois não movimenta registro a registro) alem de ficar mais elegante Sobre o seu problema Real....voce poderia nos passar o codigo da procedure PEGA_ITENSPEDIDO porque aqui ta parecendo correto. Atenc. Elazar -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Elton Enviada em: quinta-feira, 22 de junho de 2006 08:14 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] duplica itens bom , me disserem que o open; last first, eh pra corrigir o bug do recordcount, vou testar sem. Abraços Elton Adriano Pering Brusque - Santa Catarina ----- Original Message ----- From: Eduardo Silva dos Santos To: delphi-br@yahoogrupos.com.br Sent: Wednesday, June 21, 2006 9:14 PM Subject: Re: [delphi-br] duplica itens with TQuickReportPedido.Create(self) do try with IBQueryPedidos do begin Database:= Self.EIBDatabase; Transaction:= Self.EIBTransaction; SQL.CLEAR; SQL.Add('select * from PEGA_PEDIDOS WHERE NUMPED = :NUMPED'); ParamByName('NUMPED').AsInteger := strToInt(TypeEditPedido.Text); Open; Last; // pra que fazer isso??? nao precisa.. First; // pra que fazer isso??? nao precisa.. end; {configuracoes} with IBQueryItensPedidos do begin Database:= Self.EIBDatabase; Transaction:= Self.EIBTransaction; SQL.CLEAR; SQL.Add('select * from PEGA_ITENSPEDIDO(:NUMPED)'); // ta faltando um where nesse SQL....... ParamByName('NUMPED').AsInteger := strToInt(TypeEditPedido.Text); Open; Last; // nao precisa fazer isso First; // nao precisa fazer isso end; Preview; finally free; end; Em 21/06/06, Elton <[EMAIL PROTECTED]> escreveu: > > SEGUINTE : > > Temos um relatorio de pedidos. > > Ao visulizar o pedido ,(quickreport), as de forma aleartória aparece os > itens do pedido duplicado. > > Vejam se conseguem ver alguma coisa errada na montagem : > > > //---------------------------------------------------------------------- ------------------------------------------------------------------------ -------------------------- > with TQuickReportPedido.Create(self) do > try > with IBQueryPedidos do > begin > Database:= Self.EIBDatabase; > Transaction:= Self.EIBTransaction; > SQL.CLEAR; > SQL.Add('select * from PEGA_PEDIDOS WHERE NUMPED = :NUMPED'); > ParamByName('NUMPED').AsInteger := strToInt(TypeEditPedido.Text); > Open; > Last; > First; > end; > {configuracoes} > with IBQueryItensPedidos do > begin > Database:= Self.EIBDatabase; > Transaction:= Self.EIBTransaction; > SQL.CLEAR; > SQL.Add('select * from PEGA_ITENSPEDIDO(:NUMPED)'); > ParamByName('NUMPED').AsInteger := strToInt(TypeEditPedido.Text); > Open; > Last; > First; > end; > Preview; > finally > free; > end; > > > //---------------------------------------------------------------------- ------------------------------------------------------------------------ -------------------------- > > aguardo alguma sugestão . > Obrigado > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Links do Yahoo! Grupos > > > > > > > > > -- Eduardo Silva dos Santos DRD Sistemas. (27) 3218-4201 MSN: [EMAIL PROTECTED] Site: http://www.drdsistemas.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] _______________________________________________________ Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! http://br.mobile.yahoo.com/mailalertas/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html