** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Formato condicional
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFormato condicional

 Responder Responder
Autor
Mensaje
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1096
Enlace directo a este mensaje Tema: Formato condicional
    Enviado: 31/Octubre/2016 a las 14:13
Access_2010 y Windows_7
Buenos dias al grupo:
Tengo una Tabla denominada "Familias" que entre otros campos hay uno denominado "DescriFami", otro denominado "ColorFondo" y otro denominado "ColorTxt" que especificamente guardan la Descripción, el color de fondo y el color del texto del control que va a contener esa familia
Mi consulta es como puedo ver representado en un formulario continuo basado en dicha tabla, ademas del campo de la Descripción ( "DescriFami") en un cuadro de texto, dos controles más  (ya sean Textbox, Etiquetas, lineas o rectangulos) cuyo color de fondo sea el valor representativo del campo "ColorFondo" de la tabla y otro cuyo color de fondo sea el valor representativo del campo  "ColorTxt" de la tabla.

Gracias de antemano y Saludos cordiales
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1870
Enlace directo a este mensaje Enviado: 31/Octubre/2016 a las 18:29
Mírate el apartado "formato condicional" (que obtendrás en el menú contextual del control al que quieras cambiarle el color). Con eso puedes cambiar ciertas propiedades en función del valor del mismo campo o de otro en un formulario continuo; aunque no sé si el propio valor de la propiedad (es decir color rojo, verde o azul) que quieras aplicar puede provenir del valor de un campo; en el asistente te "obliga" a elegir un valor concreto.

Si no se puede hacer, lo que sí que puedes hacer es aplicar varias reglas; es decir:
· Si ColorTexto es = 1, pon color rojo
· Si ColorTexto es = 2, pon color azul
· ... etc.

Un saludo.
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1096
Enlace directo a este mensaje Enviado: 31/Octubre/2016 a las 20:27
Gracias OmniPresente:
Eso que me indicas lo intenté, pero no he podido asignarle al fondo el color con el valor del campo "ColorFondo".
O al menos no se como hacerlo, pues, como dices, el asistente me parece que obliga a elegirlo.
¿Tal vez con alguna expresión que no alcanzo a desarrollar?
Esperaremos a ver si alguna otra persona la conoce.
Gracias por tu interes y saludos

Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5202
Enlace directo a este mensaje Enviado: 31/Octubre/2016 a las 20:52
Y este ejemplo de Neckkito:
http://bit.ly/2bFhGOA

También puedes mirar una explicación de Eduardo Olaz en su manual de access que hace sobre los colores y el manejo del formato condicional en VBA que hace -Marta- en un ejemplo de su pagina.

Saludos.
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1096
Enlace directo a este mensaje Enviado: 31/Octubre/2016 a las 21:38
Gracias Emilove:
El ejemplo de Neckkito parte de colores predeterminados y guardados por su nombre de color en una tabla lo que me limitaria un poco la aplicación. Ya que pretendo que el usuario pueda elegir el color de fondo y el color de texto desde la paleta de colores de windows.
Saludos
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5202
Enlace directo a este mensaje Enviado: 31/Octubre/2016 a las 21:43
Yo creo que si lees lo que te digo de Eduardo Olaz puedes no utilizar la tabla de Neckkito. Pero claro solo son suposiciones.

Saludos.
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1096
Enlace directo a este mensaje Enviado: 01/Noviembre/2016 a las 01:01
Por lo poco que he podido leer del manual de Olaz sobre el asunto, se refiere o se adapta mejor para los informes con los objetos Line y otros.
Y no es lo que pretendo.
Saludos emilove y gracias por la referencia, que nunca está de más recordar ciertos temas.
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11668
Enlace directo a este mensaje Enviado: 01/Noviembre/2016 a las 10:26
Pues algo así como:

Private Sub Detalle_Paint()
  Me.Texto1.BackColor = Nz(Me.ColorFondo, 0)
    Me.Texto2.BackColor = Nz(Me.ColorTxt, 0)
End Sub



Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1096
Enlace directo a este mensaje Enviado: 01/Noviembre/2016 a las 20:13
Que grande Mihura:
Muchisimas gracias, sobre todo por que aún no habia tenido ocasión de descubrir la utilidad del evento Paint para ninguna sección del formulario.
Funciona perfectamente

En cualquier caso, llevaba unas horas escornándome con el problema y empeñándome en encontrar una solución  a través del formato condicional y esto es lo que he hecho en un formulario denominado FamiCajaxOrden.
Por no extenderme pongo solo lo que respecta a un campo

Siguiendo tu nomenclatura para no despistar a otros

Private Sub Form_Load()
CalculoColorFondo [Texto1]
end sub

Private Sub CalculoColorFondo(FREG As control)
Dim rs As Recordset, x As Integer
Set rs = CurrentDb.OpenRecordset("select distinct ColorFondo from FamicajaxOrden")
FREG.FormatConditions.Delete
rs.MoveFirst
Do Until rs.EOF
FREG.FormatConditions.Add acExpression, , "(Forms!FamiCajaxOrden!ColorFondo)=" & rs!ColorFondo
FREG.FormatConditions(x).BackColor = rs!ColorFondo
x = x + 1
rs.MoveNext
Loop
End Sub

Es un poco más larga de escribir, pero parece que refresca un poco mas agil , y además es de "Ganaderia propia".Beer

Afectuoso saludo para todos
Se puede cerrar el tema.

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable