Toon posts:

[VBA] Variabele 'bij naam' aanroepen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben in bezig om met VBA; VB code te genereren. In een module definieer ik hierbij een groot aantal constanten.

Bij het openen van bepaalde formulieren moeten deze constanten opgehaald worden. Nou is het mogelijk om de naam van deze constante samen te voegen (door een woordje en een tagname). Nu moet ik echter het woord koppelen, zodat VB weet welke constante daarbij hoort (uit de module)....

de module ziet er ongeveer zo uit:
code:
1
2
3
4
Public Const Start_P_1 = 4
Public Const Start_P_1 = 8
Public Const Start_P_1 = 45
Public Const Start_P_1 = 234


In het formulier doe ik dan het volgende:
code:
1
2
3
dim Startaddres as string

Startaddres = "Start_" & me.tag


In dit geval is me.tag dan P_1, P_8, of wat dan ook. Nu weet ik dat hij "startaddres" als een string behandeld, terwijl ik daar eigenlijk het getal uit de module had gezien. Iemand enig idee hoe ik deze link moet leggen?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Hmm, is er niet zoiets als Eval of Evaluate?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Hmmm... die optie kent VB6 niet

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
idd.. maar bij mij geeft hij de melding 'sub or function not defined'

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
VBA <> VBScript

Ik vrees dat je zelf de mapping aan zult moeten leggen.

Verwijderd

Topicstarter
is dat eenvoudig te realiseren?

  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 22-05 16:28

Kappie

Tell me your secrets...

Waarom gebruik je geen arrays hiervoor? Voorbeeldje:

Module:
code:
1
Public Const Start_P = Array(4, 8, 35, 234)


Formulier:
code:
1
2
dim Startaddres as string
Startaddres = Start_P(Val(me.tag))

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.


Verwijderd

Topicstarter
geen gek id, alleen heb ik dan te maken met een 2d array...
één kolom met tags (Start_P1, Start_P2, ... enz)
en een kolom met waarden (4, 35, ...)

Hoe komt de code er dan ongeveer uit te zien?

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 22-05 16:02

Tukk

De α-man met het ẞ-brein

Verwijderd schreef op 08 juni 2004 @ 14:30:
geen gek id, alleen heb ik dan te maken met een 2d array...
één kolom met tags (Start_P1, Start_P2, ... enz)
en een kolom met waarden (4, 35, ...)

Hoe komt de code er dan ongeveer uit te zien?
Of gebruik een collection, met als key je tag.

(zie msdn voor collections)

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


Verwijderd

Maak een Collection collA en vul die met ID's en Values. De Waardes kan je dan ophalen met : StartAddres = collA( "Start_" & Me.Tag )

Net te laat!

[ Voor 14% gewijzigd door Verwijderd op 08-06-2004 14:41 ]

Pagina: 1