У меня есть массив 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