Como usar Colecciones en Microsoft Access | El Objeto Collection | POO en Access

Hazte fan!! Síguenos!!

Una Colección es un conjunto ordenado de elementos, a los que se puede hacer referencia como una unidad.

El objeto Coleccion, recibe el nombre de Collection


Una Colección  se parece a una Matriz, en el sentido de que Podemos acceder a sus elementos mediante un indice, pero aquí acaban prácticamente sus semejanzas.

Alguna de las ventajas de las Colecciones en Access frente a las matrices son:

  •          Utilizan menos memoria que las matrices. Solo la que necesitan en cada caso.
  •         El acceso a los elementos de la colección es mas flexible. Como veremos hay varios métodos para hacerlo. Eso no significa que sea mas rápido.
  •          Las colecciones tienen métodos para añadir nuevos elementos y eliminar los que ya contiene.
  •         El tamaño de la colección se ajusta de forma automática tras añadir o quitar algún miembro.
  •          Puede contener simultáneamente elementos de diferentes tipos. Cabe decir que esto presenta ventajas y desventajas, ya que no se encuentran controlados los datos registrados dentro de la colección.

Son como un saco en lo que Podemos meter “casi todo”. Una de las pocas cosas que no se pueden añadir a una colección son las estructuras Registro definidas por el usuario (Type…End Type)

Para poder meter en una matriz simultáneamente diferentes tipos de datos, habría que declararla como Variant, o lo que es lo mismo, no especificar su tipo en el momento de declararla.

En la declaración de una variable tipo Collection, no hay que declarar ni el numero de elementos que va a contener, ni su tipo.

Aunque mas Adelante hablaremos de los Objetos, para declara una colección como objeto que es, hay que dar 2 pasos.

  1.         Se declara una variable del tipo Collection
  2.          Se crea una instancia del objeto Collection utilizando la palabra clave New y la palabra reservada Set que sirve para la asignación de objetos.

Hay una alternativa que es declararla y realizar la instancia en un solo paso, que seria:

Public NombreDeLaColeccion as New Collection

Para añadir elementos a una colección, se utiliza el método Add
Podemos añadir antes o despues de un element dado.

La forma es:

NombreDeLaColeccion.Add Elemento, NumeroAntes
NombreDeLaColeccion.Add Elemento , ,NumeroDespues

Podemos definir una palabla Clave para accede despues a un element dado de la coleccion

NombreDeLaColeccion.Add Elemento, “Clave

Supongamos que tenemos la Coleccion Productos
Para añadir un elemento:

Productos.Add “Destornillador Philips de 9mm.”,”DestPhi009”

Para saber cuantos elementos hay en una coleccion tenemos que sumar el método Count

CantidadElementos = Productos.Count

Para eliminar un elemento de una colección se utiliza el metodo Remove, indicando su indice o clave

Productos.Remove (3)
Productos.Remove(DestPhi009)

Ahora escribiremos en un modulo estandar lo siguiente:

Public Sub PruebaColeccion()
'Se declara la variabla tipo Collection
Dim Productos As Collection
'Se crea una instancia de tipo Collection
Set Productos = New Collection

'Se agregan elementos a la colleccion
Productos.Add "Llave fija de 7-8mm."
Productos.Add "Destornillador Philips de 9mm.", "DestPhi009"
Productos.Add "Martillo Carpintero 4", "MrtCrp004", 2
Productos.Add "Martillo Carpintero 6", "MrtCrp006", , 2

'Se imprime cantidad de elementos
Debug.Print Productos.Count & " Elementos"
'Se imprimen por indice
Debug.Print Productos(1)
Debug.Print Productos(2)
'Se imprimen por clave
Debug.Print Productos("MrtCrp004")
Debug.Print Productos("MrtCrp006")

'Se remueven elementos de la coleccion
Productos.Remove (3) ' por indice
Productos.Remove ("DestPhi009") 'Por Clave

'Se imprime el resultado despues de la eliminacion de elementos
Debug.Print Productos.Count & " Elementos"
End Sub  

Este es el resultado de este codigo:

4 Elementos
Llave fija de 7-8mm.
Martillo Carpintero 4
Martillo Carpintero 4
Martillo Carpintero 6
2 Elementos


Aqui un Video del Ejemplo:


No hay comentarios.:

Publicar un comentario

Entradas populares