[Access] variabelen declareren

Pagina: 1
Acties:
  • 323 views sinds 30-01-2008
  • Reageer

  • Carpenter
  • Registratie: December 2002
  • Laatst online: 14:24
Beste mensen,

Ik ben bezig met een database in Access te bouwen en hier gebruik ik vrij veel VBA met veel dezelfde variabelen. Nou wil ik het liefst deze variabelen op 1 plaats bewaren (in een module?) en aan deze variabelen ook direct een waarde toe kennen. Al resumerend O-) :

Ik wil een module 'mod_variabelen' met daarin o.a.:

Public release As Textbox

Set release = txt_release_id

Nou krijg ik de foutmelding 'Ongeldig buiten procedure' en nou is mijn vraag: mag ik in de module al waarden toekennen aan een variabele of moet dit perse in een Function/Sub? Ik heb hier ook al antwoorden over gezocht op google en GOT maar ik heb niet echt iets zinnigs over dit onderwerp gevonden.

[ Voor 5% gewijzigd door Carpenter op 24-10-2003 10:01 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Dat mag pas in een function of sub. Wanneer zou deze code namelijk anders uitgevoerd moeten worden? Hij 'komt' daar nooit, dus wordt je code ook niet uitgevoerd. Als je de waarde wilt kunnen aanpassen dan kun je de initele waarde bijvoorbeeld in het openen van het hoofdscherm toekennen.

Wanneer je met een vaste waarde wil werken kun je een constante declareren die wel meteen een waarde krijgt. Die is dan echter gedurende de looptijd van de app niet meer aan te passen.

My personal website


  • Carpenter
  • Registratie: December 2002
  • Laatst online: 14:24
OZ-Gump schreef op 24 October 2003 @ 10:08:
Wanneer je met een vaste waarde wil werken kun je een constante declareren die wel meteen een waarde krijgt. Die is dan echter gedurende de looptijd van de app niet meer aan te passen.
Ik wilde eigenlijk de veldnamen gaan vastleggen in de mod_variabelen, is dit dan wel een goed idee? Ik gebruik de meeste veldnamen in veel verschillende formulieren namelijk.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Maak een constante array aan met alle veldnamen erin, zou ik zeggen.
Maar wat is het voordeel van het aanmaken van een variabele? Die gebruik je dan toch op evenveel plaatsen als de veldnaam? Dus heb je evenveel typwerk en weer een variabele meer gedeclareerd.

My personal website


  • Carpenter
  • Registratie: December 2002
  • Laatst online: 14:24
En als de veldnaam nou veranderd dan, dan moet je het overal veranderen en als je er een variabele/constanten van maakt dan hoeft het maar op 1 plek. Of ik moet een hele rare hersenspinsel hebben.

Ik heb nu de variabelen in de declaratie sectie neergezet alleen als ik dan het formulier open dan krijg ik de foutmelding: 'Lid bestaat al in een objectmodule waar deze objectmodule van is afgeleid'. Er is geen andere module in de database aanwezig dus wat kan dit zijn?

[ Voor 56% gewijzigd door Carpenter op 24-10-2003 10:34 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Als het om veldnamen van de database gaat: die mag je helemaal niet veranderen! :+ En als het daarom gaat, kun je nog makkelijker de veldnamen niet eens gebruiken, maar het kolomnummer van de betreffende kolom aanspreken ;)

Even serieus, je gaat er natuurlijk van uit dat je veldnamen gelijk blijven. Als dat niet zo is, kun je met Find & Replace altijd nog even de aanpassing redelijk snel doorvoeren.

My personal website


  • Carpenter
  • Registratie: December 2002
  • Laatst online: 14:24
En bovenstaande foutmelding dan? Ik heb de variabelen bovenin gedeclareerd in het formulier, bijv.

Private dbs As Database
Private release As TextBox

Dit moet toch op deze manier?

[ Voor 79% gewijzigd door Carpenter op 24-10-2003 10:40 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

En die foutmelding dan?
Dan gebruik je dus waarschijnlijk een variabele naam die al in gebruik is..... Het kan zo wel (alhoewel een private alleen voor die betreffende module geldt!) maar dan mag je niet een reeds in gebruik zijnde naam gebruiken.

Als je probeert de textboxen op een form oid als variabele te declareren: dat gaat je zo inderdaad niet lukken. Gewoon aanspreken via zijn eigen naam, of je controls dynamisch @ runtime aanmaken.

[ Voor 20% gewijzigd door OZ-Gump op 24-10-2003 10:42 ]

My personal website


  • Carpenter
  • Registratie: December 2002
  • Laatst online: 14:24
Hm nou ik zet alle variabelen wel weer in hun eigen Functie/Sub, scheelt mee een hoop gezeur 8)7
Maar dank je wel voor je snelle reacties _/-\o_
Pagina: 1