Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brunomk8

MultiSelect DBGrid

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.