** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - diferentes colores en campo texto largo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

diferentes colores en campo texto largo

 Responder Responder
Autor
Mensaje
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Tema: diferentes colores en campo texto largo
    Enviado: 05/Junio/2021 a las 18:35
hola amigos foreros un saludo para todos

Necesito de vuestra ayuda como puedo acceder a las propiedades que me permitan cambiar el color de las palabras según sea la palabra que escriba en un campo de texto largo con texto enriquecido. Lo estoy intentando desde VB y no he podido dar con eso, es ala como esto:

si escribo la palabra  "Producto" el color de la palabrea sea rojo y si escribo "vendido" sea azul y asi con diferentes palabras.

Gracias un abrazo a todos. 
  
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3065
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 18:54
If Me.NombreCampo="Producto" Then
Me.NombreCampo.BackColor=vbRed    'Rojo
End If

If Me.NombreCampo="Vendido" Then
Me.NombreCampo.BackColor=vbBlue    'Azul
End If

Creo que algo asi funcionaria. En el evento despues de actualizar quizas, y si quieres que se carge al acceder al registro tambien en el evento al activar registro.

Tambien con Formato Condicional lo puedes hacer, quizas hasta mas facil

Busca info de BackColor y los codigos de colores de VBA

Saludos


Editado por rokoko - 05/Junio/2021 a las 18:57
Arriba
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:07
Muchas gracias amigo rokoko por tu aporte 

Algo muy parecido he intentado con los eventos después de actualizar y al cambiar el registro pero no lo he logrado. 

Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3065
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:15
Perdon, para las letras en ForeColor, no BackColor que es para el color de todo el campo.

Lo he probado y funciona bien, evento despues de actualizar si quires que se visualice al instante, una vez guardado o salido del campo, y evento al activar registro para que se coloree mietras te mueves entre registros.

Mira tambien el formato condicional.......


Editado por rokoko - 05/Junio/2021 a las 19:18
Arriba
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:28
Estoy intentando algo así pero aun no me funciona:

 Dim lngRed As Long, lngYellow As Long, lngWhite As Long
 
 If Not IsNull(Me!texto.Value) Then
 texcolor = Me!texto.Value
 Else
 Exit Sub
 End If
 lngRed = RGB(255, 0, 0)
 lngBlack = RGB(0, 0, 0)
 lngYellow = RGB(255, 255, 0)
 lngWhite = RGB(255, 255, 255)
 
 If texcolor = "Producto" Then

 Me!texto.ForeColor = lngRed
 
 Else
 
 If texcolor = "Vendido" Then
 
 Me!texto.ForeColor = lngBlack

 End If

 End If
Arriba
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:41
Gracias lo he probado y no me funciona 
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3065
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita rokoko Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:42
https://docs.microsoft.com/es-es/office/vba/language/reference/user-interface-help/color-constants

If Not IsNull(Me!texto.Value) Then
texcolor = Me!texto.Value

Con esto la estas liando creo yo, si quieres hacerlo con colores RGB tambien se puede, pero con este codigo es mas sencillo


Dim lngRed As Long, lngYellow As Long, lngWhite As Long
 
 
 lngRed = RGB(255, 0, 0)
 lngBlack = RGB(0, 0, 0)
 lngYellow = RGB(255, 255, 0)
 

If Me.NombreCampo="Producto" Then
Me.NombreCampo.ForeColor=lngRed    'Rojo
End If


Editado por rokoko - 05/Junio/2021 a las 19:43
Arriba
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 19:48
así lo he colocado pero aun no me cambia el color 

Debo aclarar que el campo es de texto largo y el nombre es "texto"


Private Sub Form_Current()

Dim lngRed As Long, lngYellow As Long, lngWhite As Long
 
 
 lngRed = RGB(255, 0, 0)
 lngBlack = RGB(0, 0, 0)
 lngYellow = RGB(255, 255, 0)
 

If Me.texto = "Producto" Then
Me.texto.ForeColor = lngRed  'Rojo
End If


End Sub
Arriba
supplyg7 Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 01/Abril/2019
Localización: Colombia
Estado: Sin conexión
Puntos: 17
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita supplyg7 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Junio/2021 a las 20:10
Gracias ha funcionado, cambie la tabla y el formulario que al parecer tenia algo corrupto.


Muchas gracias

Este hilo se puede cerrar
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable