brunomk8 0 Denunciar post Postado Janeiro 17, 2006 Olá pessoal.Possuo um form de pagamento de funcionários. Tabela de pagamento: Cód_funcionario, SubTotal e Total. Nesse form, há 2 dbgrids. O 1º (dbgr_func) com os funcionários cadastrados e 2º (dbgr_serv_vendas) com as respectivas vendas realizadas. No 2º Dbgrid (dbgr_serv_vendas), a opção Multiselect está ativada. O que eu preciso fazer é o seguinte: Quando eu selecionar uma ou várias vendas no 2º Dbgrid(dbgr_serv_vendas), eu gostaria que no campo SUBTOTAL da tabela de pagamento, fosse mostrada soma das comissões dos respectivos totais das vendas, porém sem ter q inserir nada na tabela, exibindo somente em um DBEdit, ou seja, preciso usar uma IBQuery para isso, onde depois eu insiro na tabela através de um botão Pagar. Espero que eu tenha sido claro. Eu fiz um negócio assim, mas não deu certo: if dbgr_serv_vendas.SelectedRows.Count > 0 then with dbgr_serv_vendas do begin for contador := 0 to Pred(SelectedRows.Count) do begin IBQuery1.Close; IBQuery1.Open; ds_subtotal.Dataset.Bookmark:= SelectedRows[contador]; with IBQuery1 do begin Close; ParamByName('SUBTOTAL').AsFloat := IBQuery1SUBTOTAL.AsFloat + ((qr_serv_vendasVL_UNIT_SERV.AsFloat * qr_funccomissao.AsFloat)/100); Open; end; end Ex.: Funcionário | Comissão 1 | 10 % Venda | Valor Unitário 1 | R$ 20,00 2 | R$ 30,00 IBQuerySubTotal.asFloat = R$ 5,00 Aguardo resposta. :) Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 19, 2006 Tente assim: var contador: integer; valorTotal: Extended;beginvalorTotal:=0;if dbgr_serv_vendas.SelectedRows.Count > 0 then with dbgr_serv_vendas do begin for contador:=0 to Pred(SelectedRows.Count) do begin ds_subtotal.Dataset.Bookmark:=SelectedRows[contador]; valorTotal:=valorTotal + ((qr_serv_vendasVL_UNIT_SERV.AsFloat * qr_funccomissao.AsFloat)/100); end end;IBQuery1SUBTOTAL.AsFloat:=valorTotal; Compartilhar este post Link para o post Compartilhar em outros sites