PDA

Vollständige Version anzeigen : instanziertes Formular im Designmode?


guenther_p
30.04.2011, 19:03
Hallo Gemeinde!

Ist es möglich ein instanziertes Fromular im Entwurfsmodus zu öffen?

Private Sub Testbutton_Click()
Dim meine_Form As Form
Set meine_Form = New Form_Testformular
meine_Form.Visible = True
meine_Form. ??????????
End Sub

Gruß
Günther

Marsu65
30.04.2011, 19:36
Hallo Günther,
ich denke, dass es nicht geht (CurrentView ist schreibgeschützt).
Auch manuell (Menü/Ansicht/Entwurf) lässt sich ein instanziertes Formular nicht in die Entwurfsansicht bringen (Befehl ist nicht verfügbar).

Es sei die Frage erlaubt welcher Zweck damit verfolgt wird?

guenther_p
30.04.2011, 20:08
obwohl ich schon mehrfach im Forum gelesen habe, dass das es mit Access nicht vorgesehen ist, geht mir der Gedankte des Anlegens von Controls zu Laufzeit nicht aus dem Kopf.

Das funktioniert bei den Access-eigenen Typen aber meines Wissens nur im Entwurfsmodus.

Gruß
Günther

Thomas Möller
01.05.2011, 11:52
Hallo Günter,

obwohl ich schon mehrfach im Forum gelesen habe, dass das es mit Access nicht vorgesehen ist, geht mir der Gedankte des Anlegens von Controls zu Laufzeit nicht aus dem Kopf.
Das funktioniert bei den Access-eigenen Typen aber meines Wissens nur im Entwurfsmodus.

was heisst da nicht vorgesehen. Befehlsmäßig wird das unterstützt (CreateControl) Die Frage ist nur, ob das sinnvoll ist oder wirklich sein muss.

Einen Alternative, die immer funktioniert, ist weitere Steuerelemente anzulegen und nicht sichtbar zu formatieren. Bei Bedarf werden diese Steuerelemente dann eingeblendet und die Eigenschaften auf die gewünschten Werte gesetzt. Dieses Vorgehen sollte auch mit verschiedenen Instanzen ein und des selben Formulars funktionieren.

CU

ebs17
01.05.2011, 12:41
Man könnte auch schlicht eine Kopie des Formulars anlegen und diese "designen". Auf die Idee, eine (Formular-)Klasse über eine Instanz sich selber ändern zu wollen, käme ich sicher nicht. Warum wohl?

Man sollte sich auch vor Augen halten, dass Änderungen im Designmodus in einer MDE/ACCDE nicht möglich sind. Schützenswerte Anwendungen, die man weitergibt, wird man aber wohl kaum mit offenem Code weitergeben.
Das Auslagern solcher einzelner Objekt und Abläufe in gesonderte Dateien (MDA) und das Einbinden in die eigene Anwendung würde man erst dann angehen, wenn es begründete Bedürfnisse dafür gibt. Immerhin kann man sich auch zusätzliche Probleme damit einhandeln.
Ein experimenteller Programmierer kann das natürlich anders sehen. Er sollte sich aber auch nicht wundern, wenn er auf "Zurückhaltung" bei anderen trifft.

Allgemein:
- Der Ruf nach Dynamik und Flexibilität über "übliches" hinaus ohne Hinweis auf konkrete Erfordernisse hat immer den Geruch nach Planlosigkeit und Unstrukturiertheit in der Ausgangssituation.
- Nicht alles, was funktionell machbar oder evtl. denkbar wäre, ist sinnvoll.

guenther_p
01.05.2011, 15:17
....Befehlsmäßig wird das unterstützt (CreateControl) ...


Dass es diese Funktion gibt ist mir bewusst. Das hat mich ja auf die Frage gebracht wie ich in den Designmodus wechsle.

Gruß
Günther

guenther_p
01.05.2011, 15:21
..... dass Änderungen im Designmodus in einer MDE/ACCDE nicht möglich sind....

das ist natürlich ein starkes Argument.

Gibt es eine Aufstellung welche Funktionen in einer MDE nicht verfügbar sind?

Danke

Günther

ebs17
01.05.2011, 17:12
Der Entwurf für Formulare und Berichte und sowie der VBA-Editor sind gesperrt, vorhandener Code wurde kompiliert, der Quelltext entfernt. Der Entwurf für Tabellen, Abfragen und Makros ist weiter zugänglich.

Funktionen sind alle verfügbar - sonst wäre die Kombination MDE und ausführbare Prozeduren sinnfrei.