Как написать путь к форме через переменную? - PullRequest
0 голосов
/ 03 февраля 2019

Существует код:

 Private Sub Button0_Click()
        Dim nameField  As String
        nameField = "Field0"

        Dim nameForm  As String
        nameForm = "Form1"

        ' DoCmd.OpenForm "Form1"
        DoCmd.OpenForm nameForm

        Forms![Form1](nameField).Text = "Message for `Form1`"

End Sub

В этом коде вы можете получить доступ к полю формы через переменную "nameField".
Линия

    Forms![Form1](nameField).Text = "Message for `Form1`"

Вопрос.
Как записать путь к форме через переменную?
Тех.замените Forms! [Form1] на переменную.
Например, что-то вроде:

   Dim nameForm  As String
    nameForm = "Form1"
    Forms![nameForm](nameField).Text = "Message for `Form1`"

Или что-то вроде:

   Dim nameForm  As String
    nameForm = "Form1"
    Forms(nameForm)(nameField).Text = "Message for `Form1`"

Или определите активную форму и используйте ее:

   Dim FormActiv As Form            
Set FormActiv = Screen.ActiveForm
nameForm.Name = FormActiv.Name

Forms![FormActiv](nameField).Text = "Message for `Form1`"

Как это сделать правильно?
Суть: я зарегистрировал в одном месте name of the form и использую его в различных процедурах или в нескольких местах процедуры.

1 Ответ

0 голосов
/ 03 февраля 2019

Это:

Forms(nameForm)(nameField).Value = "Message for 'Form1'"
...