Pasar un registro completo a una funcion

30/04/2010 - 12:00 por Bluey | Informe spam
Hola de nuevo, no se si esto se puede hacer. Tengo un procecimiento que
recorre una tabla y procesa sus registros. Dependiendo del tipo de registro
que sea llama a una funcion o a otra y le pasa un monton de valores de
campos de ese registro y me surge la duda de si se puede pasar un registro
de un recordset a una funcion y que en la funcion tome lo que necesita ¿se
puede hacer esto'

Gracias



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5074 (20100430) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 

Leer las respuestas

#1 Juan M. Afan de Ribera
30/04/2010 - 14:45 | Informe spam
Hola,

bueno, me imagino que habrán diferentes maneras de hacer eso que comentas.
Como hablas de un recordset y sus campos pueden ser de diferentes tipos de
datos, creo que lo más conveniente es que utilices un objeto colección, el
cual admite todo tipo de datos y no tiene por qué tener una dimensión
definida (si utilizas un array debes ir redimensionandolo de manera dinámica
y no es tan flexible, la verdad. Te pongo un ejemplo, aunque no utilizo
ningún recordset, de un procedimiento que lista los nombres de las tablas de
la base actual y, a través de una función lista a su vez los nombres de las
columnas de esas tablas. Cada tabla puede tener los campos que tenga. A esta
función se le pasa como argumento un objeto colección y luego, declarando una
variable tipo variant, puedes recorrer esa colección con el método For
Each Next, que es muy cíomodo, la verdad.

El código:

Sub ListarTablas()
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim col As Collection

For Each tdf In CurrentDb.TableDefs
Set col = New Collection
Debug.Print tdf.Name
For Each fld In tdf.Fields
col.Add fld.Name
Next
Call ListarColumnasTablas(col)
Set col = Nothing
Next

End Sub

Function ListarColumnasTablas(colNombres As Collection)
Dim item As Variant

For Each item In colNombres
Debug.Print "- "; item
Next

End Function
Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"Bluey" wrote:

Hola de nuevo, no se si esto se puede hacer. Tengo un procecimiento que
recorre una tabla y procesa sus registros. Dependiendo del tipo de registro
que sea llama a una funcion o a otra y le pasa un monton de valores de
campos de ese registro y me surge la duda de si se puede pasar un registro
de un recordset a una funcion y que en la funcion tome lo que necesita ¿se
puede hacer esto'

Gracias



__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5074 (20100430) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com




.

Preguntas similares