Попытка использовать переменную в операторе Set - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть массив oNam имен TextBox, я хочу вызвать подпрограмму и передать индексный номер, указывающий на конкретный TextBox, над которым я работаю, подпрограмме. В подпрограмме я использую следующий код, Dim MyControl As Control и Set MyControl = Me![oNam(n)]. Я получаю следующее

Ошибка времени выполнения 2147024809: не удается найти указанный объект.

Однако, если я заменю oNam(n) на фактическое имя TextBox, Me![tbxBuyNowPrice], я не получаю ошибку. Я включил Debug.Print oNam(n), и он содержит правильное имя.

Я заменил переменную фактическим именем, и она работает.

Dim oNam() As Variant

....Call TextBoxControl(34)


Sub TextBoxControl(n As Integer)
    Debug.Print oNam(n)           <====Shows correct name
    Set MyControl = Me![oNam(n)]  <====GET THE ERROR HERE 
    If DVAL(n) = "Yes" Then
        Call TextBoxSettings(MyControl, "", vbYellow)
        MyControl.SetFocus
        GoTo EndOfTextBoxControl
    Else
        Call TextBoxSettings(MyControl, 0, vbCyan)
    End If
EndOfTextBoxControl:
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...