Access - ajustar todo el texto.

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 31 puestos en Access (en relación al último mes)
Gráfica de Access

ajustar todo el texto.

Publicado por Itziar (50 intervenciones) el 14/06/2007 13:47:08
Buenas,
Sabeis como ajustar todo el texto de un campo en un informe como se hace en word?
Es que veo el botón de ajustar al margen de la izq. al de la derecha y al medio pero no veo lo de ajustar en todos los margenes como está en word.
Lo he intentado agregar pero en agregar botones de la barra no está.

Gracias.
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

RE:ajustar todo el texto.

Publicado por josem@gesvicam (2 intervenciones) el 14/06/2007 16:18:29
Hola

Imagino que te refieres a campos de tipo Textbox (cuadro de texto), en la versión Access 2002 que es la que yo tengo, en las propiedades del control puedes ver cuatro opciones para la propiedad "alineación del texto":

- General
- Izquierda
- Centro
- Derecha
- Distribuir

La última sería la que más se aproximaría porque ajusta el texto a ambos lados. El problema es que si la línea es muy corta la extiende demasiado y queda un poco feo. Algo así:

e s t a l i n e a e s m u y c o r t a.

Puedes usar controles específicos como en:

http://www.lebans.com/justidirect.htm

Pero yo no lo he probado, y no te puedo decir como van.

Saludos
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

RE:ajustar todo el texto.

Publicado por antperlop (72 intervenciones) el 14/06/2007 20:32:14
Esto debe ser de algún "GuruAccess", lo implemente en mis aplicaciones y va muy bien.

Copiate está función y leete las instrucciones del final.
Saludos y ya me contarás.

Option Compare Database
Option Explicit

Public Function Justifica(lpzText, ControlText As Control, objReport As Report) As String

Dim Carac As String, Newtext As String
Dim Numspaces As Long, WidthSpace As Integer
Dim WidthControl As Integer
Dim I As Integer, Inicio As Integer
Dim LastPos As Integer, PosSpace As Integer, PoscharBreak As Integer
Dim FinalText As String, SpacesInStr As Integer
Dim SizeText As Integer
Dim POSI As Long, CI As Integer
Dim NextCarac As String
Dim n As Long

objReport.FontName = ControlText.FontName
objReport.FontSize = ControlText.FontSize
objReport.FontBold = ControlText.FontBold
objReport.FontItalic = ControlText.FontItalic

WidthControl = ControlText.WIDTH

WidthSpace = objReport.TextWidth(" ")

SizeText = Len(lpzText)

I = 1
Inicio = 1
POSI = 0
Do While I < SizeText + 1
Carac = Mid(lpzText, I, 1)
Newtext = Newtext + Carac
Select Case Carac
Case Chr(13) 'se o caracter for ENTER
FinalText = FinalText + Left(Newtext, Len(Newtext) - 1) + Chr(13) + Chr(10)
Newtext = ""
I = I + 1
LastPos = 0
Inicio = I + 1
Case " "
If objReport.TextWidth(Newtext) > WidthControl Then

Newtext = Mid(lpzText, Inicio, LastPos - Inicio)

Numspaces = Fix((WidthControl - objReport.TextWidth(Newtext)) / WidthSpace) - 1
For n = 1 To Len(Newtext)

Carac = Mid(Newtext, n, 1)
If Carac = " " Then SpacesInStr = SpacesInStr + 1
Next n
POSI = 1
CI = 1
PoscharBreak = 0
Do While CI < Numspaces

Carac = Mid(Newtext, POSI, 1)
If Carac = " " Then
NextCarac = Mid(Newtext, POSI + 1, 1)
If NextCarac <> " " Then
Newtext = Mid(Newtext, 1, POSI) + String(1, " ") + Mid(Newtext, POSI + 1)
POSI = POSI + 1
CI = CI + 1
End If
PoscharBreak = PoscharBreak + 1
If PoscharBreak = SpacesInStr Then
PoscharBreak = 0
POSI = 0
End If
End If
If POSI < (SizeText + 1) Then
POSI = POSI + 1
Else
POSI = 1
End If
Loop
FinalText = FinalText + Newtext + Chr(13) + Chr(10)
Newtext = ""
I = LastPos
LastPos = 0
Inicio = I + 1
Else
LastPos = I
End If
End Select
I = I + 1
Loop
Justifica = FinalText & Newtext

Exit_Justifica:
Exit Function

Err_Justifica:
Resume Exit_Justifica

End Function

'-2º- EN EL INFORME COLOCAR LA PROPIEDAD VISIBLE A No AL CAMPO QUE VA A SER
'JUSTIFICADO, Y LLAMARLE txtExtenso. LUEGO AÑADIR OTRO CAMPO, CON EL ORIGEN
'DE DATOS EN BLANCO, QUE VA A SER DONDE SE VA A MOSTRAR EL TEXTO JUSTIFICADO.
'LLAMARLE txtJust

'-3º- EN LA VISTA DISEÑO DEL INFORME, EN LA SECCIÓN DETALLE, AlDarFormato o
'AlImprimir (DONDE PREFIRÁIS), INTRODUCIR EL SIGUIENTE TEXTO:

'Me![txtJust] = Justifica(Me![txtExtenso], Me![txtJust], Me)

'-4º- EL TIPO DE LETRA LO TENGO PUESTO EN ARIAL 12 (¡sin negrita!) Y FUNCIONA
'CORRECTAMENTE.
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
sin imagen de perfil

RE:ajustar todo el texto.

Publicado por Abel (1 intervención) el 11/07/2016 16:06:29
Saludos soy inexperto en esto de los códigos, por lo que me gustaría que me apoyarás a realizar dicho proceso, donde pego toda la función??.... creo una macro un objeto .. un evento... no se donde colocar lo primero, agradeceré mucha su ayuda al respecto.

Me salen estos errores a ver si les sirven para detectar donde ando mal. Gracias
error
error2
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
sin imagen de perfil
Val: 5
Ha disminuido su posición en 31 puestos en Access (en relación al último mes)
Gráfica de Access

RE:ajustar todo el texto.

Publicado por Itziar (50 intervenciones) el 15/06/2007 08:49:26
Biennn!
Con lo de distribuir en cada campo ya me justifica.
Muchas graciass!!!
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

RE:ajustar todo el texto.

Publicado por antperlop (72 intervenciones) el 15/06/2007 09:50:25
Lo de distribuir te vale para una linea casi completa, lo que te he mandado es para justificar un campo memo de muchas lineas.
Saludos
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

RE:ajustar todo el texto.

Publicado por Carolina (1 intervención) el 07/03/2012 21:52:25
antperlop:

Sos un capo total!!


Muchísimas graciassss!!!
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