[VBA] Generisches Ändern eines Form-Titels

Alien

Mitglied
Hallo zusammen!

Ich habe viele verschiedene Formulare mit Ansichten von Tabellen. Auf diesen Übersichts-Forms kann man nun einen Datensatz markieren und dann auf "Bearbeiten" bzw. "löschen" klicken. Außerdem ist ein Button zum Neuanlegen eines Datensatzes vorhanden.

Letztlich sollen die drei Buttons aber immer das selbe Form öffnen, nämlich die Detailansicht des markierten/erstellten Datensatzes.
Das funktioniert auch:

Der aufrufende Code des Buttons:
Code:
Private Sub Befehl34_Click()
    Call createNewRecord(Me.Name)
End Sub
Die Sub:
Code:
Sub createNewRecord(form_name, form_title)
    Call DoCmd.OpenForm(form_name & "Detail", acNormal)     ' MeineDetail-Forms heißen wie die Übersichtsforms mit dem Suffix "Detail"
    Call DoCmd.GoToRecord(, , acNewRec)
End Sub

Mein Problem: Ich möchte auch den Titel ändern, weiß aber nicht wie ich die Funktion generisch schreibe, sodass ich den Parameter "form_name" dafür verwenden kann. Die einzige Möglichkeit, die ich kenne, auf ein Form zuzugreifen ist folgendermaßen:

Code:
Forms!form_name.AutoForm0.Caption = form_title =  form_title

hier kann ich aber anstatt dem String mit dem Formularnamen ja keine Variable Einsetzen...

Ich hoffe sehr auf eure Hilfe! Danke!
 
kannst du, anstatt nur den Namen, nicht die ganze Form übergeben?
Visual Basic:
Sub createNewRecord(form as Form, form_title as String)
    form.name = "neuer formname"
    Call DoCmd.OpenForm(form.name & "Detail", acNormal)     ' MeineDetail-Forms heißen wie die Übersichtsforms mit dem Suffix "Detail"
    Call DoCmd.GoToRecord(, , acNewRec)
End Sub

Außerdem ist es besser den Datentyp zu deklarieren.
sonst wird immer Variant als Datentyp angenommen....

-Ben
 
danke, das hatte ich schon gemacht. Das betrifft aber nicht das Problem: Ich möchte die Caption eiens Labels in einem anderen Form ändern....

Ich habe aber von anderer Stelle inzwischen eine Lösung - die aber völlig anders aussieht und hier gar nicht mehr reinapsst.

Trotzdem vielen Dank!
 
Zurück