Newsgroup: it.comp.appl.access
Titolo: Formattazione differenziata in stringhe concatenate

Salve a tutti!
Ho un database che genera un report bibliografico.
Dovrei formattare i risultati in linea con lo standard bibliografico, e
cioè:
Autore. /Titolo/. Edizione. Luogo (Anno).
deve stare tutto sullo stesso paragrafo per cui ho creato un'unica
casella di testo non associata, con il seguente codice:
= [Autore] & ". " & [Titolo] & ". " & [Edizione] & ". " & [Luogo] & "
(" & [Anno] & ")"
E fin qui è tutto perfetto.
IL PROBLEMA:
Vorrei che solo il Titolo fosse formattato in /corsivo/.
È possibile? E come?
Ho cercato a lungo ma non sono riuscito a trovare una risposta, grazie
in anticipo a chi vorrà aiutarmi.
Daniele

Palindromo ha scritto:

Devi usare un controllo Activex che si chiama RichTextBox ma è usabile
solo se hai la licenza, altrimenti puoi usare un Clone creato da
Lebans(cerca nel sito):
www.lebans.com
@Alex


Vedi l'esempio di 
http://www.lebans.com/mixbold-plain.htm
che puoi adattare circa così:
'************************************
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
' Written by Stephen Lebans 1999
' 
Ste...@lebans.com
' 
www.lebans.com
' Stephen, I slightly adapted your great code - Karl Donaubauer
Const TWIPS = 1
Dim strTitolo As String, strFront As String, strAfter As String
Dim intStart As Integer, intEnd As Integer
Dim CtlDetail As Control
Dim intMargin As Integer
Dim oldFontBold As Integer
Dim oldFontItalic As Integer
Dim oldForeColor As Long
Dim oldFontName As String
Dim oldFontSize As Integer
Dim oldScaleMode As Integer
'Save current Font settings
With Me
    oldFontItalic = .FontItalic
    oldFontBold = .FontBold
    oldForeColor = .ForeColor
    oldFontName = .FontName
    oldFontSize = .FontSize
    oldScaleMode = .ScaleMode
End With
For Each CtlDetail In Me.Section(acDetail).Controls
    If CtlDetail.Name = "TuaCasella" Then
        With CtlDetail
            .Visible = False
            intStart = InStr(1, .Value, ".")
            intEnd = InStr(intStart + 1, .Value, ".")
            strTitolo = Mid(.Value, intStart + 1, intEnd - intStart)
            strFront = left(.Value, intStart)
            strAfter = Mid(.Value, intEnd + 1)
        End With
        With Me
            .ScaleMode = TWIPS
            .FontName = CtlDetail.FontName
            .FontSize = CtlDetail.FontSize
            .CurrentX = CtlDetail.left
            .CurrentY = CtlDetail.top
            Me.Print strFront;
            .FontItalic = True
            Me.Print strTitolo;
            .FontItalic = False
            Me.Print strAfter
            .ScaleMode = oldScaleMode
            .FontBold = oldFontBold
            .FontItalic = oldFontItalic
            .FontName = oldFontName
            .FontSize = oldFontSize
            .ForeColor = oldForeColor
        End With
    End If
Next
Set CtlDetail = Nothing
End Sub
'*************************************
Certo devi sostituire "TuaCasella" con il nome della tua casella.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

Karl Donaubauer ha scritto:

Eccezionale....
@Alex

 Eccezionale....
Sě, Stephen č un wizard.
-- 
;-)


Karl Donaubauer ha scritto:

Assolutamente perfetto: grazie mille!!!