Justere tekst som er skrevet på en rapport med Me.Print
For at få mit beløb justeret i forhold til et notatfelt (beløb skal følge nederste linie i notatfelt), tilføjer jeg et felt med beløbet til min rapport med nedenstående kode:Option Compare Database
Option Explicit
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
Const TWIPS = 1
' Need to store Report's current settings
Dim oldFontBold As Integer
Dim oldFontItalic As Integer
Dim oldForeColor As Long
Dim oldFontName As String
Dim oldfontsize As Integer
Dim oldScaleMode As Integer
' Temp var
Dim lngRet As Long
'Save current Font settings
With Me
oldFontItalic = .FontItalic
oldFontBold = .FontBold
oldForeColor = .ForeColor
oldFontName = .FontName
oldfontsize = .FontSize
oldScaleMode = .ScaleMode
End With
' Remember for this sample I am
' naming your control txtcusnum. You MUST
' change the name throughout this code
' to match that of your actual control.
' OK lets set the .Visible prop for your control to NO
BeløbDKK.Visible = False
With Me
' Make sure we are in Twips
.ScaleMode = TWIPS
' Grab Controls current Font settings
.FontName = BeløbDKK.FontName
.FontSize = BeløbDKK.FontSize
' Create desired Font settings
Me.FontBold = IIf((Me.BeløbDKK.FontBold) <> 0, -1, 0)
.FontItalic = BeløbDKK.FontItalic
.ForeColor = BeløbDKK.ForeColor
' Get TextMetrics for this Font
lngRet = fTextMetric(Me.Beskrivelse)
If Me.Beskrivelse.Height > Me.BeløbDKK.Height Then
.CurrentY = Me.Beskrivelse.Top + Me.Beskrivelse.Height
.CurrentY = CurrentY - (sTM.tmHeight)
Else
.CurrentY = Me.BeløbDKK.Top + sTM.tmInternalLeading
' Exit Sub
End If
.CurrentX = BeløbDKK.Left
' Printing on Same line as above
Me.Print Format(Me.BeløbDKK, "Standard")
' Restore Reports original Font settings
.ScaleMode = oldScaleMode
.FontBold = oldFontBold
.FontItalic = oldFontItalic
.FontName = oldFontName
.FontSize = oldfontsize
.ForeColor = oldForeColor
End With
End Sub
Hvordan kan jeg justere det nye felt så teksten er højrejusteret???
Jeg har tidligere benyttet følgende funktion, men denne giver et ekstra linieskift i beløbsfeltet når der ikke er nogle linieskift i notatfeltet:
=Space(Len([beskrivelse2])-Len([beløbdkk])) & Format([beløbdkk];"Standard")
