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.
- Se declara una variable del tipo Collection
- 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