Access - Definir propiedad de formulario desde otro Formulario

 
Vista:

Definir propiedad de formulario desde otro Formulario

Publicado por Jeremy Lobo (2 intervenciones) el 10/11/2017 23:21:36
Amigos, requiero de su ayuda: Tengo un formulario en Access llamado PRINCIPAL y otro DETALLES. Inicialmente todos los campos del formulario PRINCIPAL están bloqueados. En el formulario DETALLES tengo un botón al que le quiero programar con el Generador de Macros que al hacerle clic me abra el formulario PRINCIPAL (en esto no tengo problema). Pero cuando le doy la instrucción DefinirPropiedad , (cambiar el color de fondo por ejemplo) desconozco la sintaxis que debo colocar en el espacio Nombre de Control. Por ejemplo, en el formulario PRINCIPAL hay un campo que tiene el nombre txtRutina, he intentado lo siguiente:

DefinirPropiedad
Nombre del Control: Formularios!PRINCIPAL!txtRutina
Propiedad Color de fondo
Valor #FFFFFF

Y no funciona, me lanza un mensaje de error
El nombre del control ' Formularios!PRINCIPAL!txtRutina' esta mal escrito o se refiere a un control que no existe

También he probado con
DefinirPropiedad
Nombre del Control: txtRutina
Propiedad Color de fondo
Valor #FFFFFF
Este si funciona al probarlo desde la herramienta de macros pero al correrlo en el formulario me lanza el mismo error :
El nombre del control 'txtRutina' esta mal escrito o se refiere a un control que no existe

¿Cual es la sintaxis correcta con que debo definir el espacio Nombre de control?

Gracias de antemano por su valiosa cooperación.
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
Imágen de perfil de Oscar Pérez
Val: 198
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Definir propiedad de formulario desde otro Formulario

Publicado por Oscar Pérez (80 intervenciones) el 13/11/2017 13:44:13
Buenas!

Has de tener en cuenta que para cambiar las propiedades, has de tener abierto el formulario "PRINCIPAL'...

Prueba lo siguiente, en el botón onclick que te abre el Prinipal coloca este código...

1
2
docmd.openform "PRINCIPAL"
Forms.item("PRINCIPAL").controls("txtRutina").backcolor=black

Para poder poner colores en hexadecimal necesitas una función que te convierta el valor hex. a número, ya que access maneja los colores en variables tipo long. O lo declaras como constante con el nombre de color o bien haces la conversión

1
2
3
4
5
6
7
8
9
10
11
12
Public Const NegroNegrisimo As Long = 0
'----------------------------------------------------------------
Public Function HexToLongRGB(sHexVal As String) As Long
Dim lRed,lGreen,IBlue,Total As Long
 
lRed = CLng("&H" & Left$(sHexVal, 2))
lGreen = CLng("&H" & Mid$(sHexVal, 3, 2))
lBlue = CLng("&H" & Right$(sHexVal, 2))
 
HexToLongRGB = RGB(lRed, lGreen, lBlue)
 
End Function
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