Giuseppe
2024-06-12 08:07:22 UTC
Buongiorno a tutti.
Nelle mie sottomaschere su evento corrente utilizzo il seguente codice
per mettere in grassetto e colorare il record attivo:
Private Sub Form_Current()
Dim ctl As control
For Each ctl In Me.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox
With ctl
.FormatConditions.Delete
.FormatConditions.Add acExpression, acEqual,
"IdDipendenteAnticipazione=" & Me!IdDipendenteAnticipazione
.FormatConditions(0).FontBold = True
.FormatConditions(0).ForeColor = 16711680
End With
End Select
Next ctl
End Sub
Tutto ok.
Però nel piè di pagina della sottomaschera ho tre controlli:
1) totale dei valori del controllo txtDare della sottomaschera;
2) totale dei valori del controllo txtAvere della sottomaschera;
3) differenza tra TotaleDare e TotaleAvere.
Il controllo txtAvere e il controllo txtSaldo, se negativo, devono avere
il font di colore rosso.
Ho provato sia con la formattazione condizionale che aggiungendo alla
routine dopo Next ctl il seguente codice
If Me.txtTotaleAvere > 0 Then
Me.txtTotaleAvere.ForeColor = vbRed
End If
If Me.txtSaldo < 0 Then
Me.txtSaldo.ForeColor = vbRed
End If
I due controlli restano sempre blu, ho notato che se mi sposto su
un'altro record con il click del mouse, diventano rossi fino a quando
non lo rilascio; se lo rilascio immediatamente quasi non mi accorgo del
cambio del colore.
Come faccio a staccare dal codice la formattazione dei controlli del piè
di pagina?
Grazie
Giuseppe
Nelle mie sottomaschere su evento corrente utilizzo il seguente codice
per mettere in grassetto e colorare il record attivo:
Private Sub Form_Current()
Dim ctl As control
For Each ctl In Me.Controls
Select Case ctl.ControlType
Case acTextBox, acComboBox, acListBox
With ctl
.FormatConditions.Delete
.FormatConditions.Add acExpression, acEqual,
"IdDipendenteAnticipazione=" & Me!IdDipendenteAnticipazione
.FormatConditions(0).FontBold = True
.FormatConditions(0).ForeColor = 16711680
End With
End Select
Next ctl
End Sub
Tutto ok.
Però nel piè di pagina della sottomaschera ho tre controlli:
1) totale dei valori del controllo txtDare della sottomaschera;
2) totale dei valori del controllo txtAvere della sottomaschera;
3) differenza tra TotaleDare e TotaleAvere.
Il controllo txtAvere e il controllo txtSaldo, se negativo, devono avere
il font di colore rosso.
Ho provato sia con la formattazione condizionale che aggiungendo alla
routine dopo Next ctl il seguente codice
If Me.txtTotaleAvere > 0 Then
Me.txtTotaleAvere.ForeColor = vbRed
End If
If Me.txtSaldo < 0 Then
Me.txtSaldo.ForeColor = vbRed
End If
I due controlli restano sempre blu, ho notato che se mi sposto su
un'altro record con il click del mouse, diventano rossi fino a quando
non lo rilascio; se lo rilascio immediatamente quasi non mi accorgo del
cambio del colore.
Come faccio a staccare dal codice la formattazione dei controlli del piè
di pagina?
Grazie
Giuseppe
--
Questa email è stata esaminata alla ricerca di virus dal software antivirus AVG.
www.avg.com
Questa email è stata esaminata alla ricerca di virus dal software antivirus AVG.
www.avg.com