homem_serio Posted May 25, 2009 at 06:13 PM Report #267197 Posted May 25, 2009 at 06:13 PM 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 = ""
jpaulino Posted May 25, 2009 at 06:17 PM Report #267199 Posted May 25, 2009 at 06:17 PM Isso é porque estás a colocar esses valores em variáveis do tipo Integer e não Double. Onde está a declaração das variáveis ?
homem_serio Posted May 25, 2009 at 06:36 PM Author Report #267205 Posted May 25, 2009 at 06:36 PM Não cheguei a declarar variáveis neste botão. Como deveria ficar então? Dim "x" as Double? Mas quais?
jpaulino Posted May 25, 2009 at 06:38 PM Report #267206 Posted May 25, 2009 at 06:38 PM Onde fazes as contas, ou seja, onde somas os valores ?
homem_serio Posted May 25, 2009 at 06:47 PM Author Report #267208 Posted May 25, 2009 at 06:47 PM resultado = resultado + Val(List2.List(ListIndex)) tentei dim resultado as double e não funcionou =\
jpaulino Posted May 26, 2009 at 12:52 AM Report #267256 Posted May 26, 2009 at 12:52 AM E o que dá aqui ? Val(List2.List(ListIndex))
homem_serio Posted May 26, 2009 at 02:27 PM Author Report #267356 Posted May 26, 2009 at 02:27 PM 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 😁
vbtipo Posted May 26, 2009 at 08:06 PM Report #267453 Posted May 26, 2009 at 08:06 PM É 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.
homem_serio Posted May 27, 2009 at 11:38 AM Author Report #267647 Posted May 27, 2009 at 11:38 AM Mas os valores estao a vir do access e naop estou a conseguir trocar a virgula pelo ponto. Nao sei se é possivel
vbtipo Posted May 27, 2009 at 03:10 PM Report #267739 Posted May 27, 2009 at 03:10 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now