La Web del Programador: Comunidad de Programadores
 
    Pregunta:  19461 - ARRAY DINAMICA
Autor:  Oscar Heras
Como puedo crear un array dinamico, porque tengo una variable-array determinada en 50: Public mTiposEstanteria(50) As String, donde en tiempo de ejecucion recibe datos de una base de datos que ahora mismo no sobvrepasa los 50 datos, pero es posible que el dia de mañana sea más de 50 o bastantes menos y me esta ociupando espacio, por lo que necesito crear un array de los elementos que haya en el momento que se cargue el formulario y que segun haya ese dia no se creen ni mas ni menso en el array. Gracias

  Respuesta:  Xavi
Aqui te adjunto el ejemplo que viene en la ayuda:
Dim MiMatriz() As Integer ' Declara una matriz dinámica.
Redim MiMatriz(5) ' Asigna 5 elementos.
For I = 1 To 5 ' Bucle 5 veces.
MiMatriz(I) = I ' Inicializa la matriz.
Next I

Si utilizas Redim Preserve MiMatriz(5) te mantendra los valores que ya existan en el array.

  Respuesta:  Javier Perez
Para crear un array dinámico puedes utilizar la siguiente sintaxis:

' En la sección de declaraciones ...
Public mTiposEstanteria() As String

' Al cargar el formulario y acceder a la base de datos ...
Dim n As Integer
...
n = tabla.Recordcount ' Obtenemos el número de registros almacenados
Redim mTiposEstanteria(1 To n) As String ' De esta forma el vector tendrá únicamente los componentes que necesitas