Toon posts:

[VB] Optellen caption waarden

Pagina: 1
Acties:
  • 45 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik haal met uit een recordset wat numerieke waarden uit een database die ik laat zien in een label. De namen van deze labels zijn:

Label1
Label2
Label_uitkomst

Nu is het de bedoeling dat ik op Label_uitkomst de som van die twee objecten krijg te zien.

Hoe gaat dit in zijn werk met vb? Heb verschillende dingen geprobeerd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'manier 1' 

Label_uitkomst.caption = Label1 + Label2

'manier2' 

Label_uitkomst.caption = Label1.caption + Label2.caption ( uitkomst laat gewoon de twee captions naast elkaar zien wat logisch is ) 

'manier3' 

Dim Label1 As Integer
Dim Label2 As Integer

Label_uitkomst.caption  = Label1 + Label2


Geen van die manieren werkt. Ik zou echt niet weten hoe ik dit op moet lossen. Wie heeft ervaring op dit gebied?

[ Voor 4% gewijzigd door Verwijderd op 21-05-2005 14:49 ]


  • ZjieB
  • Registratie: Juli 2002
  • Laatst online: 31-10-2025
In VB-script zou ik er een integer van maken, voorbeeld:

intUitkomst = cint(Label1.caption) + cint(Label2.caption)

  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 19:54
(jarig!)
Dit zou moeten werken

code:
1
2
3
4
5
6
7
Dim n1 As Integer
Dim n2 As Integer

n1 = label1.caption
n2 = label2.caption

Label_uitkomst.caption  = n1 + n2

  • Ru__
  • Registratie: Juni 2004
  • Niet online
Kun je niet de waarden uit de recordset optellen en die in Label_uitkomst zetten, i.p.v. de tekst in de labels te gebruiken?
Als je toch de tekst gebruikt, dan lijkt het me inderdaad handig om die eerst om te zetten naar integers.

Verwijderd

Topicstarter
BestTested! schreef op zaterdag 21 mei 2005 @ 14:57:
Dit zou moeten werken

code:
1
2
3
4
5
6
7
Dim n1 As Integer
Dim n2 As Integer

n1 = label1.caption
n2 = label2.caption

Label_uitkomst.caption  = n1 + n2
Heb het even uitgeprobeerd met een testform en het werkt idd. Het werkt niet op het andere formulier maar dat is volgens mij te wijten aan de komma die in het bedrag staat. Moet dit een punt worden of is hier een andere oplossing voor?

@Ru,

Is ook een oplossing waar ik aan zat te denken. Zal nog even kijken of dit lukt en anders ga ik daarvoor.

[ Voor 11% gewijzigd door Verwijderd op 21-05-2005 15:07 ]


  • BM
  • Registratie: September 2001
  • Laatst online: 21:49

BM

Admin Softe Goederen
Als er komma's instaan moet je die n1 en n2 dimmen als Double geloof ik

Xbox
Even the dark has a silver lining | Te koop: Chigee AIO-6 + toebehoren


  • BestTested!
  • Registratie: Oktober 2003
  • Laatst online: 19:54
(jarig!)
Je moet inderdaad een punt gebruiken (als decimaalteken). En omdat integers geen komma-getallen (of punt-getallen in dit geval :P ) kunnen bevatten moet je met doubles gaan rekenen.
code:
1
2
3
4
5
6
7
Dim n1 As Double
Dim n2 As Double

n1 = label1.caption
n2 = label2.caption

Label_uitkomst.caption  = n1 + n2


NB. Zoals Ru al zei, kan je beter dergelijke berekeningen niet met UI componenten uitvoeren. Het wordt niet gewaardeerd je User Interface op een dusdanige manier in je applicatie te betrekken.
(User Interface dient om gegevens weer te geven, niet gegevens te bevatten en er mee te rekenen)

[ Voor 13% gewijzigd door BestTested! op 21-05-2005 15:17 ]


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 07-05 10:04
Pas je query aan zodat het meteen ook de som berekent en laat deze zien. Ik vind de manier die hier wordt voorgesteld ranzig.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:00
Hmm, ik vind het toch wel wat basic hoor.

Je hoort wel te weten dat 2 strings 'concatten' niet hetzelfde is als 2 numerieke waarden optellen.
Je hoort ook te weten dat je strings naar een numeriek waarde moet casten als je de numerieke waarde wilt hebben, en je moet ook weten wat het verschil is tussen een integer en een float.
En je moet ook weten dat je die waardes al kunt laten optellen door SQL dmv een SUM (als het over dezelfde column van verschillende records gaat die je wilt optellen), of dmv een +.

[ Voor 11% gewijzigd door whoami op 21-05-2005 16:47 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.