Alexandre Neves 24/6/2014, 15:23
Boa tarde,
Já passei o São João às voltas com o caso
Descobri que se o relatório for aberto não executa o código. Para executar o código tem de ser pré-visualizado
- colocar as caixas de texto transparentes
- colar o código
Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
Dim L As Double
Dim V As Double
ScaleMode = 1
L = TxtMARCH.Width / 2
If IsNull(TxtMARCH) Then V = 0 Else V = TxtMARCH
Select Case V
Case Is < 0
V = 1 + V
Line (TxtMARCH.Left + (L * V), TxtMARCH.Top)-(TxtMARCH.Left + TxtMARCH.Width / 2, TxtMARCH.Top + TxtMARCH.Height), QBColor(12), BF
Case Is > 0
V = V * 100
Line (TxtMARCH.Left + TxtMARCH.Width / 2, TxtMARCH.Top)-(TxtMARCH.Left + L * V, TxtMARCH.Top + TxtMARCH.Height), QBColor(10), BF
End Select
L = TxtAPRIL.Width / 2
If IsNull(TxtAPRIL) Then V = 0 Else V = TxtAPRIL
Select Case V
Case Is < 0
V = 1 + V
Line (TxtAPRIL.Left + (L * V), TxtAPRIL.Top)-(TxtAPRIL.Left + TxtAPRIL.Width / 2, TxtAPRIL.Top + TxtAPRIL.Height), QBColor(12), BF
Case Is > 0
Line (TxtAPRIL.Left + TxtAPRIL.Width / 2, TxtAPRIL.Top)-(TxtAPRIL.Left + TxtAPRIL.Width / 2 + L * V, TxtAPRIL.Top + TxtAPRIL.Height), QBColor(10), BF
End Select
L = TxtMay.Width / 2
If IsNull(TxtMay) Then V = 0 Else V = TxtMay
Select Case V
Case Is < 0
V = 1 + V
Line (TxtMay.Left + (L * V), TxtMay.Top)-(TxtMay.Left + TxtMay.Width / 2, TxtMay.Top + TxtMay.Height), QBColor(12), BF
Case Is > 0
Line (TxtMay.Left + TxtMay.Width / 2, TxtMay.Top)-(TxtMay.Left + TxtMay.Width / 2 + L * V, TxtMay.Top + TxtMay.Height), QBColor(10), BF
End Select
End Sub