Язык: VBA - MS Access
Я использую пользовательские типы (UDT) в своем коде.
Я хотел бы иметь возможность определить, в какой раздел UDT я загружаю данные на основе переменной состояния. Моей первой попыткой было использование операторов «With», вложенных в оператор «IF». Это не работает (я получаю ошибку компилятора, которая говорит, что иначе без if). Есть ли способ сделать эту работу? или другой способ использовать переменную состояния, чтобы определить, какой раздел UDT я загружаю?
Type MyOtherType
Name as String
Age as Integer
End Type
Type MyType
aMyOtherType() as MyOtherType
X as Integer
Y as Integer
Z as Integer
End Type
Sub QuestionableCode()
Dim UDT(0 To 0) as MyType
Dim State as String
ReDim Preserve UDT(0).X(0 to 0) as MyOtherType
ReDim Preserve UDT(0).Y(0 to 0) as MyOtherType
ReDim Preserve UDT(0).Z(0 to 0) as MyOtherType
State = "B"
If State = "A" Then
With UDT(0).X(0)
ElseIf State = "B" Then
With UDT(0).Y(0)
Else
With UDT(0).Z(0)
End If
.Name = "George"
.Age = 30
End With
End Sub