Dynamische Controls unter MS ACCESS

deusfalsus

Erfahrenes Mitglied
Hallo zusammen,

ich habe nach langem Suchen nur zwei Wege gefunden, um Controls zur Laufzeit ins Formular hinzuzufügen, die aber unter Access nicht funktionieren.

1. Über die Load-Funktion: Leider finde ich keine Möglichkeit, den dafür nötigen Index für das zu kopierende Control zu setzen. Gibt es eine andere Möglichkeit, ein Steuerelement als Steuerelementfeld zu deklarieren?

2. controls.add: Diese Methode kennt mein Access-eigenes VB leider nicht. Könnte ich über Einbinden einer bestimmten dll dem Abhilfe schaffen?

Bringt Access vielleicht eine eigene Lösung mit und ich kenne sie nur nicht?
Ich komme nicht weiter ohne Variabilität in den Formularen. Bitte keine Vorschläge wie "Leg doch alle vorher an und mach sie bei Bedarf sichtbar"! Bitte auch keine Posts wie "ich glaub, das geht nicht"!
Danke an die, die sich die Mühe machen!
 
Schade Doc, sonst waren Deine Antworten sinnvoll und zeugten von Kompetenz.
Diesmal hast wie es scheint den verlinkten thread nicht gelesen.
Oder ist mir was entgangen? Wo ist denn die Variante, die ich probieren soll, um ein Steuerelement zur Laufzeit zu generieren?

Gibt es die Möglichkeit. ein Formular von der Laufzeit in den Entwurfsmodus zu versetzen, entsprechend zu bearbeiten und dann wieder umzuschalten?

Oder sollte ich auf "richtiges" VB umsteigen? Oder ist VB.NET zu empfehlen? Komme ich da problemlos an meine Access-Datenbank?

An alle: Bitte nur hilfreiche Antworten, da sonst potetielle Lösungswisser vielleicht nicht mehr auf den thread klicken, da schon mehrere Antworten existieren!
 
Normalerweise sollte das dieser Code von der Antwort sein:
Visual Basic:
Dim frm As Form
Dim txt As TextBox
Set frm = CreateForm
Set txt = CreateControl(frm.Name, acTextBox)
und ja, ich hab die Seite gelesen. VBA ist bei dynamischen Controls leiden nicht ganz so gut zu Fuß wie VB, da ich leider kein Access habe kann ich auch keine Codes durchspielen.

Betr des Umweges über VB, es kommt darauf an, was dein Programm machen soll. Im Prinzip ist es einfach, Access-Datenbanken (aber auch andere) unter VB anzusprechen, in VB hast du dann halt mehr Anzeigemöglichkeiten (z.B: über ein FlexGrid).

Ob VB6 oder VB.NET ist eine persönliche Frage. VB6 ist VBA ähnlicher, VB.NET aber deutlich mächtiger. Wobei du bei VB.NET die Express-Edition kostenlos bekommst.


Der Doc!
 
Der gepostete Code geht aber nur für Formulare im Entwurfsmodus! Das steht in dem gelinkten Beitrag auch drin.
Daher meine Frage
Wo ist denn die Variante, die ich probieren soll, um ein Steuerelement zur Laufzeit zu generieren?
Man beachte das "zur Laufzeit"!
 
Tja, dann hab ich keine Lösung, für mich hat sich die Antwort so angehört, als habe er eine Methode zum Testen vorgeschlagen. Google hat auch keine Lösung gefunden, also musst du selbst was coden. Da Datenbanken unter VB nicht so schwer sind, würde ich für Dynamik da selbst ansetzen.


Der Doc!
 
Zurück