[VBA] Controls toevoegen tijdens run-time

Pagina: 1
Acties:

  • Splatter
  • Registratie: December 2000
  • Laatst online: 26-11-2021
2 vraagjes:

1. Is er een manier om met VBA in Access uit het niets controls toe te voegen tijdens run-time?
in Visual basic (zonder A) kan het wel, maar in access begint ie te zeiken dat je alleen controls kan toevoegen in design-mode.

2. Stel: Ik heb 10 txtboxjes genaamd Txt1 t/m Txt10.
Nou heb ik bijvoorbeeld het nummer 8. Dan kan ik van dat nummer een string "Txt8" maken, maar hoe kan ik die string gebruiken om bij de properties van dat control te komen.

ik gebruik nu:
code:
1
2
3
For Each ctrl In Me.Controls
  If ctrl.Name = "Txt" & i Then
  ...

maar hier wil ik graag vanaf omdat het problemen oplevert in de rest van het programma.

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Dan moet je met arrays werken.

Zowiets denk ik...
code:
1
Dim Shared Text(1 To 100) As Textbox

En dan:
code:
1
Text(1) = New Textbox

Of zowiets :? Ik werk er zelf nooit mee.

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


  • Splatter
  • Registratie: December 2000
  • Laatst online: 26-11-2021
bedankt, maar dit werkt helaas niet ;(

  • Splatter
  • Registratie: December 2000
  • Laatst online: 26-11-2021
laat ik die 2e vraag anders stellen:
ik heb
code:
1
Dim Ctrl As Control

hoe 'bind' ik een Textbox aan "Ctrl"?

  • Splatter
  • Registratie: December 2000
  • Laatst online: 26-11-2021
Niemand een idee?
het gaat me vooral om die laatste vraag..

  • steenz
  • Registratie: Oktober 2000
  • Laatst online: 13-09 16:22
Je kunt in VB (weet niet zeker of het ook in VBA kan) een controlarray maken door je eerste tekstbox te selecteren, te kopieren en te plakken. Hij vraagt er dan om. Je krijgt dan tekstboxen die zo heten:
txt(0)
txt(1)
txt(2)
etc. (met gewenste naam)
Als je iets doet met één van die tekstboxen roept VB dan een routine aan voor de hele controlarray. Je kunt dan makkelijk een tekstbox selecteren door txt(n) ofzo te gebruiken.....
Weet niet helemaal zeker of je dit bedoelt, maar anders moet je het nog maar eens vragen :)

  • steenz
  • Registratie: Oktober 2000
  • Laatst online: 13-09 16:22
Ik heb het net geprobeerd met Excel 2000 hier op school en dat lijkt niet te werken... Misschien is er wel een manier voor, maar die zou ik dan ff zo gauw niet weten...
Helaas :(

  • Splatter
  • Registratie: December 2000
  • Laatst online: 26-11-2021
Dat zou idd een oplossing geweest zijn maar controlindices bestaan om 1 of andere reden niet in Office... ;(
Pagina: 1