Вопрос в том, должен ли я определять размеры массива или изменять размер массива динамически?Доступ к VBA: определение массивов
У меня есть форма с подформой с полями «да/нет». У меня есть объект набора записей, который подмножает данные формы только в тех строках, где выбраны поля Да.
Я прокручиваю набор записей и добавляю значение к строке.
Я бы предпочел перебирать набор записей и поместить значения в массив, за исключением того, что не знаю, сколько ящиков выбирает пользователь, поэтому я не могу предсказать длину массива, когда я его определяю.
Я пытался делать такие вещи, как
dim myArray(0 to variableEqualToLengthOfRecordset) as variant
Но это говорит мне, что нужно постоянное значение в операторе.
Кто-нибудь знает, есть ли способ установить длину массива динамически?
Если я просто определить его как
dim myArray() as variant
я получить из ошибки границ, когда я пытаюсь добавить значения.
Если вы * «добавить значение в строку» * с последовательным разделителем между значениями в этой строке --- как * значению1 ; value2; value3 * --- вы можете затем «Разделить()» строку в массив, и этот массив будет автоматически иметь размер: varArray = Split (YourStringVariable, ";") 'Если вам действительно необходимо измерить массив явно, вы можете сначала 'Dim' до произвольного размера, а затем' ReDim' по мере необходимости. См. Разделы справки Access. – HansUp
Это пришло мне в голову. Как объявить varArray в вашем примере. Dim varArray() как вариант? – Carl
С помощью только 'Dim varArray As Variant' он примет массив, возвращенный из' Split() ' – HansUp