Ga naar inhoud

Visual basic komma telt niet op


ricardog

Aanbevolen berichten

Hallo,

Ik ben net nieuw op deze website en ik zit met een probleem dus ik dacht misschien kunnen jullie me helpen. Ik heb namelijk een calculatie programma gemaakt in Visual basic die bepaalde dingen bij elkaar optelt. Nu heb ik zelf al wat gemaakt (zie hieronder) alleen nu telt hij de komma er niet bij op.

Nu heb ik dit dus als script gemaakt:

Label73.Text = Val(Label5.Text) + Val(Label6.Text) + Val(Label7.Text) + Val(Label8.Text) + Val(Label17.Text) + Val(Label18.Text) + Val(Label19.Text) + Val(Label20.Text) + Val(Label21.Text) + Val(Label22.Text) + Val(Label23.Text) + Val(Label24.Text) + Val(Label26.Text) + Val(Label28.Text) + Val(Label30.Text) + Val(Label32.Text) + Val(Label34.Text) + Val(Label36.Text)

Zou iemand die voor mij zo kunnen aanpassen zodat de getallen achter de komma bij die labels ook erop bij word geteld?

Alvast bedankt!!!

groet, Ricardo;-)

Link naar reactie
Delen op andere sites

  • Reacties 25
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic

Ja dat was het bijna! :) ik had ff 1 veranderd naar CDbl en dat werkte nu veranderde ik dus mijn hele script naar CDbl en dan geeft hij een error als ik op de knop druk.

error:

Conversion from string "" to type 'Double' is not valid.

script van nu:

Label73.Text = CDbl(Label5.Text) + CDbl(Label6.Text) + CDbl(Label7.Text) + CDbl(Label8.Text) + CDbl(Label17.Text) + CDbl(Label18.Text) + CDbl(Label19.Text) + CDbl(Label20.Text) + CDbl(Label21.Text) + CDbl(Label22.Text) + CDbl(Label23.Text) + CDbl(Label24.Text) + CDbl(Label26.Text) + CDbl(Label28.Text) + CDbl(Label30.Text) + CDbl(Label32.Text) + CDbl(Label34.Text) + CDbl(Label36.Text)

hopelijk weet jij meer!

ps.ik rekende de hele tijd met . maar er kwam dus geen 2 decimalen

Link naar reactie
Delen op andere sites

Yep, ik zie waar het probleem zit.

CDbl() herkent een lege string niet als een getal, terwijl Val() altijd gewoon 0 geeft als hij geen getal vindt...

De meest voor de hand liggende optie is om elke keer te gaan testen (bijvoorbeeld met

Iif(LabelX.Text="",0R, CDbl(LabelX.Text))

), maar dan wordt je code wel heel ingewikkeld natuurlijk. Als er dan nog eens de mogelijkheid bestaat dat er ergens een andere, niet-numerieke waarde staat wordt het helemaal ingewikkeld.

'k Ben er wel nog niet achter waarom Val() niet werkt als je een punt als scheidingsteken gebruikt...

Je kan eventueel proberen om Val() te nesten in CDbl(), en dan krijg je

CDbl(Val(LabelX.Text)) + ......

Ik denk ni dat 't zou werken, maar is in elk geval overzichtelijker dan de Iif...

PS, in het eerste codefragment staat nulR, dus niet OR...

Link naar reactie
Delen op andere sites

Jammer dat werkt niet. Heb je nog een idee?

ik denk dat we bijna de oplossing hebben want we zijn zo dichtbij

Kan je anders geen voorbeeld scripje maken dat label 1 2 3 4 bij elkaar word opgeteld? natuurlijk met komma en dat de uitkomst bij label 5 dan komt?

alvast bedankt!;-)

Link naar reactie
Delen op andere sites


×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.