Jump to content

Recommended Posts

Posted

Tenho um valor vindo do access eque está a ser adicionado numa list2 e numa label que capta o total. O problema é que os números como por exemplo 3,22 contam como 3 e os 0.66 contam como 0.

Deixo o código para me ajudarem a tentar perceber o que fiz mal:

novo = 1

resultado = 0

For ListIndex = 0 To List1.ListCount

    If Text2.Text = List1.List(ListIndex) Then

      novo = 0

      valor1 = Val(Text3.Text)

      valor2 = Val(List2.List(ListIndex)) + valor1

      List2.RemoveItem ListIndex

      List2.AddItem valor2

      valor3 = Val(List3.List(ListIndex)) + 1

      List3.RemoveItem ListIndex

      List3.AddItem valor3

    End If

Next ListIndex

If novo = 1 Then

  List1.AddItem Text2.Text

  If Text4.Text = "" Then Text4.Text = 1

  List2.AddItem Val(Text3.Text) * Val(Text4.Text)

  List3.AddItem Text4.Text

End If

If novo = 1 Or novo = 0 Then

  For ListIndex = 0 To List2.ListCount

      resultado = resultado + Val(List2.List(ListIndex))

    Next ListIndex

  End If

Text4.Text = ""

Posted

mais uma vez aqui estou para vos chatiar mais um pouco. Continuo sem solução para a minha duvida de somar numeros decimais. Ja tentei declarar as variáveis como Double , mas continuo c/ o msm problema. Sei que provavelmente para voces isto é simples por isso toda a ajuda é preciosa!

Fico a espera  😁

Posted

É assim, o vb6 não consegue somar números decimais com virgulas mas sim com um ponto. Tens que substituir a virgula por um ponto.

Ex1:
c=0,30+0,30
msgbox c
O resultado vai ser 0(Zero)

Ex2:
c=0.30+0.30
msgbox c
O resultado vai ser 0.60 (Sessenta cêntimos)

Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões.

Posted

Mas os valores estao a vir do access e naop estou a conseguir trocar a virgula pelo ponto. Nao sei se é possivel

Tens aqui um pequeno exemplo de como se faz isso:

Exemplo:

O Mid é uma excelente função do VB, pois, altera um de seus próprios argumentos e isto economiza uma série de instruções de concatenação, veja o exemplo:

Dim mystring as String

mystring = "SOME STRING"
If Mid(mystring, 2, 1) = "O" Then 'Testa se na segunda posição da String é igual a O
Mid(mystring, 2, 1) = "A" 'Se for substitui o caracter O por A
End If

Lema: Se eu não saber de alguma coisa não se preocupem porque tento sempre ajudar alguma coisita, nem que seja, por palpites/sugestões.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.