DUVIDA COM SUBTRACAO

MOREIRA 03/09/2007 14:34:53
#233888
boa tarde a todos...


txtTotalPagar
txtImposto
txtDesconto
txtValorLiquido

em alguns casos preciso subtrair do TxtTotalPagar
nos campos txtImposto e txtdesconto...
Dando o resultado no campo txtValorLiquido

e tendo casos em q posso descontar somente no campo imposto ou tambem somente no campo Desconto...


já tentei fazer assim:

txttotalliquido = txtImposto - txttxtTotalPagar

txttotalliquido = txtdesconto - txttxtTotalPagar

colocando no lostfocus do controle, e nao funciona

obrigado pela atenção!!!!!!!!!!


ROBIU 03/09/2007 14:47:49
#233892
Faz isso:
if txtTotalPagar="" then txtTotalPagar=0
if txtImposto ="" then txtImposto=0
if txtDesconto="" then txtDesconto=0
txttotalliquido = cdec(txttxtTotalPagar) - cdec(txtDesconto)

Isso porque as textboxs, são do tipo string. Quando tem valor ele transforma as strings em numeric. Quando não tem valor dá erro.
A função cdec() converte o valor das textboxs para númoros decimais (double).
MOREIRA 03/09/2007 15:11:55
#233900
deixa v se entendir.. tenho o valor a TotalPagar de 500,00

na TxtTotalPagar Tenho 500,00

na txtimposto digito 250,00

a txtTotalPagar passará a ter 250,00

na txtDesconto digito 50,00

a txttotalPagar passará a ter 200,00

é isso ?







MOREIRA 03/09/2007 16:26:03
#233915
alguem tem alguma sugestão
VB6MASTER 03/09/2007 19:00:05
#233940
Resposta escolhida
Ao invés de vc fazer:
txttotalliquido = txtImposto - txttxtTotalPagar

txttotalliquido = txtdesconto - txttxtTotalPagar
Faça:
txttotalliquido = ccur(txtImposto) - ccur(txttxtTotalPagar)

txttotalliquido = ccur(txtdesconto) - ccur(txttxtTotalPagar)
porque, txt é um texto, uma string e por isso, não executa cálculo, vc deve utilizar o conversor cCur (converte em moeda) para executar qualquer calculo, em moeda.

USUARIO.EXCLUIDOS 03/09/2007 19:08:50
#233941
NAO PRECISA CONVERTER...
O CDEC

PEGUE O EXEMPLO EM EXEXO...

att,

marcelo bressan
Tópico encerrado , respostas não são mais permitidas