Access 2003 Matrices

Hola! Como hago para llenar una matriz con los registros de una tabla. Como la declaro ya que esta debe contener 3 campos.

1 Respuesta

Respuesta
1
Las matrices se declaran igual que las restantes variables, utilizando instrucciones Dim, Static, Private, o Public. La diferencia entre las variables escalares (aquellas que no son matrices) y las variables matriz es que normalmente se debe especificar el tamaño de la matriz. Una matriz con un tamaño especificado es una matriz de tamaño fijo. Una matriz cuyo tamaño puede cambiar mientras el programa se está ejecutando es una matriz dinámica.
Si una matriz se indexe desde 0 ó desde 1 depende del valor de la instrucción Option Base. Si Option Base 1 no se especifica, todos los índices de matrices comienzan en cero.
Declarar una matriz fija
En la siguiente línea de código se declara como matriz Integer una matriz de tamaño fijo con 11 filas y 11 columnas:
Dim MiMatriz(10, 10) As Integer
El primer argumento corresponde al número de filas y el segundo al número de columnas.
Como sucede en cualquier otra declaración de variable, a menos que se especifique para la matriz un tipo de datos, los elementos de ésta serán del tipo Variant. Cada elemento numérico Variant de la matriz utiliza 16 bytes. Cada elemento de cadena Variant utiliza 22 bytes. Para escribir código de la forma más compacta posible, debe declarar explícitamente sus matrices con un tipo de datos distinto a Variant. Las siguientes líneas de código comparan el tamaño de varias matrices:
' Una matriz Integer utiliza 22 bytes (11 elementos * 2 bytes).
ReDim MiMatrizInteger(10) As Integer
' Una matriz Double-precision utiliza 88 bytes (11 elementos * 8 bytes).
ReDim MiMatrizDoble(10) As Double
' Una matriz Variant utiliza al menos 176 bytes (11 elementos * 16 bytes).
ReDim MiMatrizVariant(10)
' La matriz Integer utiliza 100 * 100 * 2 bytes (20.000 bytes).
ReDim MiMatrizInteger(99, 99) As Integer
' La matriz Double-precision utiliza 100 * 100 * 8 bytes (80.000 bytes).
ReDim MiMatrizDoble (99, 99) As Double
' La matriz Variant utiliza al menos 160.000 bytes (100 * 100 * 16 bytes).
ReDim MiMatrizVariant(99, 99)
El tamaño máximo de una matriz depende del sistema operativo y de la cantidad de memoria disponible. Es más lento utilizar una matriz que sobrepasa la cantidad de memoria RAM disponible en el sistema ya que los datos tienen que ser leídos y escritos del disco.
Declarar una matriz dinámica
Al declarar una matriz dinámica se puede cambiar el tamaño de una matriz mientras que el código se está ejecutando. Para declarar una matriz dinámica se usan las instrucciones Static, Dim, Private, o Public, dejando los paréntesis vacíos, tal y como se muestra en el siguiente ejemplo.
Dim MatrizSingle() As Single
Nota Se puede usar la instrucción ReDim para declarar implícitamente una matriz dentro de un procedimiento. Tenga cuidado para no cambiar el nombre de la matriz cuando use la instrucción ReDim, ya que se creará una segunda matriz incluso en el caso de que se haya incluido la instrucción Option Explicit en el módulo.
La instrucción ReDim se puede utilizar en un procedimiento, dentro del alcance de la matriz, para cambiar el número de dimensiones, definir el número de elementos y para definir los límites superior e inferior para cada dimensión. Se puede usar la instrucción ReDim para modificar la matriz dinámica cuantas veces sea necesario. Sin embargo, cada vez que se hace, se pierden los valores almacenados en la matriz. Se puede usar la instrucción ReDim Preserve para ampliar una matriz conservando los valores que contiene. Por ejemplo, la siguiente instrucción añade 10 nuevos elementos a la matriz MatrizVar sin perder los valores almacenados en los elementos originales.
ReDim Preserve MatrizVar(UBound(MatrizVar) + 10)
Nota Cuando se utiliza la palabra clave Preserve con una matriz dinámica, sólo se puede cambiar el límite superior de la última dimensión, no pudiendo modificarse el número de dimensiones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas