USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Select case
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 13/05/2009 15:29 hs            
Alguem teria uma dica de como resolver este problema que seria mais ou menos assim
0 ate 1000 faixa = 2
1000 ate 2000 faixa = 5
maior que 2000 faixa = 10
 
Private Sub CommandButton4_Click()
Select Case Format(CStr(CDbl(ValorComissao.Text)), "currency")
Case Is < Format(CStr(CDbl(ValorIrpj1.Text)), "currency")
    Me.faixa.Text = Format(CStr(CDbl(Irpj1.Text)), "0.00")
   
Case Format(CStr(CDbl(ValorIrpj1.Text)), "currency") To Format(CStr(CDbl(ValorIrpj2.Text)), "currency")
    Me.faixa.Text = Format(CStr(CDbl(Irpj2.Text)), "0.00")
   
Case Is > Format(CStr(CDbl(ValorIrpj2.Text)), "currency")
     Me.faixa.Text = Format(CStr(CDbl(Irpj3.Text)), "0.00")
    
    End Select
   
End Sub
 
 
   
IceEyes
BRASIL
MS - BRASIL
ENUNCIADA !
Postada em 13/05/2009 19:06 hs            
vc tem o valor dentro de um textbox e vc quer consultar se caso a sua condição vc ker q apareceça em outro text com o o nome faixa?
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 13/05/2009 19:28 hs            
Use o if then else para esta situação, pois o código que você apresentou está totalmente confuso, veja este exemplo

Private Sub CommandButton4_Click()

If CDbl(Valor.Text) < = 1000 then
msgbox "Faixa 2"
Else If CDbl(Valor.Text) > = 1001 And CDbl(Valor.Text) < = 2000 Then
msgbox "Faixa 5"
Else If CDbl(Valor.Text) > = 2001 Then
msgbox "Faixa 10"
End If

End Sub


Veja alguns de seus erros, primeiro as conversões

você usa o CStr e dentro dele o CDbl

CStr = Converte para string
CDbl = Converte para double


o valor inserido no text está como padrão string, ou seja não há necessidade disto:

CStr(Text1.Text) 'pois text1 já é uma string

então bastaria converter para double somente

CDbl(Text1.text)

veja como você estava fazendo.

CStr(CDbl(Text1.text)) ' ou seja você convertia para double e depois par string novamente.



TÓPICO EDITADO
 
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 15/05/2009 02:29 hs            
IceEyes exatamente ...
Treze também usei o if este seu exemplo ja tentei é funcional o problema esta quando uso uma text.box com uma variavel (valorirpj1 e valorirpj2), ai a coisa pega fiz a questão das conversões juntas em caso de ser digitado algo diferente, mas o problema não esta ai pelo menos pelo que testei aqui...

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
ENUNCIADA !
Postada em 15/05/2009 02:38 hs            
Solução galera e obrigado :
Select Case CDbl(ValorComissao.Text)

Case Is < CDbl(ValorIrpj1.Text)

    Me.faixa.Text = Format(CStr(CDbl(Irpj1.Text)), "0.00")
  
Case CDbl(ValorIrpj1.Text) To (CDbl(ValorIrpj2.Text))

    Me.faixa.Text = Format(CStr(CDbl(Irpj2.Text)), "0.00")
  
Case Is > CDbl(ValorIrpj2.Text)

     Me.faixa.Text = Format(CStr(CDbl(Irpj3.Text)), "0.00")
    
    End Select

"O pior inimigo que você poderá encontrar será sempre você mesmo."
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página