PDA

Vollständige Version anzeigen : Dynamisch Controls laden


Schnuu
27.02.2001, 17:05
Hallo!

Hab ein kleines Problemchen. Hab ein Formular, indem ich ein Optionsfeld habe. Je nach Recordsource sollten daraus mehrere (Optionsfelder) werden. Unter VB ist sowas ganz einfach mittels Load control(I) und anschließendem Show zu realisieren. Unter A97/2000 gibts anscheinend keinen Index für Controls. Gibts eine andere Lösung????

elmar
27.02.2001, 17:49
Unter A97/2000 gibts anscheinend keinen Index für Controls. ****Stimmt.*****
Gibts eine andere Lösung???? JA, aber nur eine bescheidene:
Wenn Du weist, welche und wieviel Otionsfelder gebraucht werden, kannst Du sie im Form einbauen , unsichtbar machen und je nach RecordSource wieder einblenden bzw. aktivieren. Abhängig von der RecordSource lassen sich ggf. auch noch andere Eigenschaften einstellen. -- Mehr fällt mir dazu auch nicht ein.--

Schnuu
28.02.2001, 09:12
Danke Elmar. Muß ich halt 'ne Weile tippen .....

Sascha Trowitzsch
28.02.2001, 11:05
Wieso das?? Natürlich lässt sich jedes Control eines Formulars auch über den Index ansprechen! >Form.Controls(i)
Mit: (siehe Acc-Hilfe...)
CreateControl(Formularname, Steuerelementtyp[, Bereich[, übergeordnet[, Spaltenname[, links[, oben[, Breite[, Höhe]]]]]]])

kann man ein beliebiges Control zur Laufzeit erstellen. Statt LoadControl könntest du die Parameter auch in einer Tabelle ablegen und daraus dynamisch laden. Den Index kann man allerdings so einfach nicht selbst festlegen, das tut Access - leider, denn die Reihenfolge der Controls ändert sich jeweils beim Einfügen von Elementen.

Ciao, Sascha