Access - Pasar nombre de control a una Public Sub()

 
Vista:

Pasar nombre de control a una Public Sub()

Publicado por Julio (1 intervención) el 24/04/2016 15:27:11
Hola:

Tengo un formulario en Access para control de documentación de empresas.
Si me falta un documento, como un certificado de la S.S., o está caducado, quiero que en el formulario aparezca la etiqueta y el control con fondo en rojo y letra en blanco en negrita, cosa que hago con RGB().

El formulario tiene muchos controles, y el código se hace muy largo. Se me ocurrió hacer una subrutina con Public Sub(), y llamarla con call en cada chequeo de cada control, transfiriendo una variable que contenga el nombre del control a la subrutina.

P.e.: chequeo el control "Ctdo. S.S." en el formulario; si es correcto paso al siguiente control; Si no es correcto, llamo a la subrutina, transfiriendo el nombre del control en la variable "Documento" (Documento= "[Ctdo. S.S.]").
En la subrutina, cambio los parámetros (fondo y texto) de "Documento", no del control "Ctdo S.S." del formulario, si no de la variable "Documento" que contiene el nombre del control, en este caso "Ctdo S.S.".

De esta forma, podría utilizar la subrutina para todos los controles del formulario y me ahorraría espacio y velocidad.

Bueno, pues no sé cómo se hace. Llamo a la subrutina desde el módulo del formulario así:

Documento="Ctdo.S.S."
Call DocNoOk(ByRef Documento)

La subrutina es:

Public Sub DocNoOk(Documento)
Documento.BackColor = RGB(255, 0, 0)
Documento.ForeColor = RGB(255, 255, 0)
Documento.FontWeight = 700
Documento.Format = "short date"
Documento.BackStyle = 1
End Sub

Seguro que está mal, pero no sé utilizar muy bien las funciones y a veces la ayuda de Access es un poco complicada de entender. Soy administrativo y aficionado al Access, que me encanta, pero soy autodidacta y no tengo mucha idea.

¿Alguien me puede ayudar?

Gracias por vuestra paciencia. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Pasar nombre de control a una Public Sub()

Publicado por Enrique Heliodoro (1664 intervenciones) el 25/04/2016 01:50:35
Tal vez (todo depende del diseño y eso es un bosque desconocido) bastaría con verificar si se dan las condiciones y el resto (colorear el objeto) lo dejaría en manos de Access aplicando el 'formato condicional' ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar