** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - cambio de linea en caja de texto
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradocambio de linea en caja de texto

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Tema: cambio de linea en caja de texto
    Enviado: 28/Diciembre/2018 a las 19:17
Ola Colegas,

Se puede en Access 2007 en una caja de texto  desvinculada tener varias lineas ?

intente :
Me.tt = "linea1" & Chr(13) & Chr(10) & "linea2"

ademas escoji en las propiedades RichText, y ademas el comportamientoi de la tecla enter como pasar a nueva linea

a lo mejor es que no se puede
alguna idea ?



Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 11096
Enlace directo a este mensaje Enviado: 28/Diciembre/2018 a las 20:38
Usa vbcrlf
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 4991
Enlace directo a este mensaje Enviado: 28/Diciembre/2018 a las 22:00
Es correcto como lo haces, como te dice el Sr. Mihura o también con vbNewLine pero lo tienes que hacer en VBA no en el origen del control, y lo colocas en el evento al cambiar del formulario y en el evento al salir de ambos controles.

Saludos.
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Enviado: 28/Diciembre/2018 a las 23:37
Hola,
El ejemplo me funciono bien, con & Chr(13) & Chr(10) &, y lo puse en un boton de comando, solo tuve que cambiar  de Rich TExt , a texto simples

pero ahora que lo queria hacer con datos reales, tengo este problema. Lo que quiero pasar a la caja de texto es el contenido de una string, que se ve asi en el inmediate window :

?mm1
 Contrato de Arrendamento Urbano para fins habitacionais com prazo certo (e com fiança – opcional)

Entre:
I -    ________________________ . XXX ,  XXX ,  XXX 

el caso  es que  al pasar el contenido de la string a la caja de texto, me lo escribe todo seguido

Contrato de Arrendamento Urbano para fins habitacionais com prazo certo (e com fiança – 0pcional)Entre: I -    ________________________ . XXX ,  XXX ,  XXX

Sabeis la razon de esto, y si tiene alguna solucion? o sea que me gustaria mantener  los avances de linea en la caja de texto

Saludos




Editado por cpampasPT - 28/Diciembre/2018 a las 23:38
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1039
Enlace directo a este mensaje Enviado: 29/Diciembre/2018 a las 11:41
Puede que ese texto sólo tenga el código de nueva línea (vbLf) para indicar el cambio de línea, que es el estándar de Unix y Linux. En cambio, en Windows hay que indicar 2 caracteres, retorno de carro y nueva línea (vbCrLf) para el cambio de línea.

Si es esto, puedes crearte una pequeña función para "formatear" el texto a lo deseado:

Function NuevaLineaWin(ByVal Texto As String) As String
    NuevaLineaWin = Replace$(Texto, vbCr, "")
    NuevaLineaWin = Replace$(NuevaLineaWin, vbLf, vbCrLf)
End Function



Editado por pitxiku - 29/Diciembre/2018 a las 11:42
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Enviado: 29/Diciembre/2018 a las 20:52
hola pitxiku,
Tampoco lo consigo como me dices.
y si hago un loop para ver cual es cada uno de los caracteres ? para no hacer el texto todo pongo solo esta parte de la string que contiene los avances de linea, a partir del caracter 90 hasta el 110 Esto ayuda algo ?

opcional)

Entre:
I -  

90 - o - 111
91 - p - 112
92 - c - 99
93 - i - 105
94 - o - 111
95 - n - 110
96 - a - 97
97 - l - 108
98 - ) - 41
99 - 
-13
100 - 
-13
101 - E - 69
102 - n - 110
103 - t - 116
104 - r - 114
105 - e - 101
106 - : - 58
107 - 
-13
108 - I - 73
109 -   - 32
110 - - - 45
























Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1039
Enlace directo a este mensaje Enviado: 30/Diciembre/2018 a las 11:09
El 13 es el retorno de carro (vbCr). A ti te falta el avance de línea (vbLf) que es el carácter 10. Puedes reemplazar el 13 por la pareja 13+10:


NuevaLineaWin = Replace$(Texto, vbCr, vbCrLf)
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 500
Enlace directo a este mensaje Enviado: 30/Diciembre/2018 a las 14:46
A_hora si, gracias pitxiku, por tu amable ayuda
SAludos

Podeis cerrar el hilo
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable