Usar funciones en informes de access 2003

Buenos días.

He creado una función en un módulo, para poderla utilizar en distintos formularios e informes. ¿Qué código tengo que poner en el informe o formulario para utilizarlo?

Gracias.

1 respuesta

Respuesta

Más que en el formulario, lo que debes declarar las funciones en el modulo como public o public shared (según se requiera) para que las puedas llamar desde cualquier parte :-)

Perdona mi ignorancia, pero ¿que diferencia hay entre Public y Public Shared?

Buenos días de nuevo.

Este es el código de la función que he hecho:

------

Public Function ColorMarca()
If Marca.Value = "Sin marca" Then
AnillaMarca.Value = "////"
AnillaMarca.BackColor = RGB(255, 255, 255)
AnillaMarca.ForeColor = 0
Else
AnillaMarca.Value = ""
End If
If Marca.Value = "Blanco" Then
AnillaMarca.BackColor = RGB(255, 255, 255)
End If
If Marca.Value = "Amarillo" Then
AnillaMarca.BackColor = RGB(255, 255, 0)
End If
If Marca.Value = "Naranja" Then
AnillaMarca.BackColor = RGB(255, 200, 0)
End If
End Function

------

Cuando lo llamo desde el informe mediante "Call ColorMarca", al abrir el informe me da un error "Se ha producido el error '424' en tiempo de ejecución: Se requiere un objeto"

y al pulsar en el botón "Depurar" me marca en amarillo la primera linea de la función

If Marca.Value = "Sin marca" Then

¿Qué estoy haciendo mal?

Creo que deberías empezar por lo más básico, que es leer cualquier libro sobre VBA o visual basic. Una función que no devuelve nada como es el caso, debería ser una subrutina y no una función, y por supuesto no llamarla como a una sub con un call.

Luego... estas usando la función para ajustar propiedades de un control dentro de un formulario X. Es decir, no hay ninguna necesidad de que esta rutina sea llamada desde cualquier punto de la base de datos... sino desde el mismo informe. Declárala como Sub dentro del mismo informe y te funcionará.

Pero lo más importante... Lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro... lee el libro. Allí te explicarán lo que es una función, o una sub, lo que es un objeto y por tanto podrás entender las diferencias entre public y public shared, lo que es un módulo etc etc que creo que ahora no tienes nada claro.

buenos días de nuevo.

Me puedes recomendar alguno que sea bueno. He cogido alguno en la biblioteca y no me ha solucionado gran cosa.

Gracias.

La verdad es que hace muchos años que no leo ningún libro de vba, pero vamos, en internet tienes mucho material... googleando un poco, este no parece ninguna maravilla (más que nada por la organización general) pero te puede servir.

<a>http://www.monografias.com/trabajos-pdf2/visual-basic-aplicaciones-access/visual-basic-aplicaciones-access.pdf</a>

Cualquier libro de visual basic (de la 4.0 hasta la 6.0) te servirá también

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas