Boa noite!
o negocio é o seguinte to querendo montar um codigo para calcular INSS, a tabela do INSS é a seguinte:
TABELA DO INSS
Seq ValInicial ValFinal Aliq
1 0,01 800,45 7,65
2 800,46 1334,07 9,00
3 1334,08 2668,15 11,00
o codigo q eu to usando é o seguinte:
TabCad.CursorLocation = adUseServer
TabCad.Open "Select Seq, ValInicial, ValFinal, Aliq From CadINSS where ValInicial<=" & Replace(VI, ",", ".") & " and ValFinal>=" & Replace(VF, ",", ".") & "", BancoCad, adOpenForwardOnly, adLockReadOnly, adCmdText
Dim tot As Currency
Dim TotGer As Currency
tot = "0,00"
tot = CCur(TabCad.Fields("Aliq"))
TotGer = "0,00"
TotGer = CCur(Text47.Text * (tot / 100))
Text45.Text = Format(CCur(TotGer), "0.00")
TabCad.Close
esse codigo funciona legal, com uma condicao: o teto da tabela do INSS é 2668,15, se eu digitar um valor acima (3000,00), dá erro, pois quando eu vou abrir a tabela nao encontro um valor deste na tabela, consequentemente uma aliquota...
ou seja, no inss existe um TETO, se eu ultrapasssar com um valor de 3.000,00, o meu calculo é feito em cima do TETO (2668,15), com a aliquota de (11%).
queria implementar nesse codigo o seguinte: quando o valor ultrapassar o TETO o sistema pegasse o valor do TETO e a aliquota e fizesse o calculo. entao.
Valor da nota: 3000,00
seria: 2668,15 * 11% = 293,50
se alguem entendeu ai,, me ajude!!!!!