Newsgroup: it.comp.appl.access
Titolo: Formattazione condizionale x if marg = margf  .forecolor=green  else marg=margN .forecolor=...

Buongiorno NG,
ho cercato sui vecchi post, ma solitamente si fa il controllo di un
campo con un certo valore [campo]="pippo"
io invece ho necessità che faccia
Condizione1
L'espressione è   ME!DIST_VALMARG
Condizione2
L'espressione è ME!DIST_VALMARGF
**************************************************
Il campo che deve cambiare lo sfondo, viene valorizzato in base a
questo ciclo if
If IsNull(Me!margfly) Then
        Call InserireDati
    Else
        If Me!margfly > Me!dist_tot1 Or Me!margfly = Me!dist_tot1 Then
            If Me!margfly > Me!dist_tot1 Then
                 Me!margine = Me!dist_valmarg
                 MsgBox "Il costo delle materie prime è aumentato, da
" & euro(Me!dist_tot1) & " è diventato " & euro(Me!margfly)
               Else
                    Me!margine = Me!dist_valmarg
                   MsgBox " Il costo delle materie prime è rimasto
invariato"
               End If
          Else
            Me!margine = Me!dist_valmargf
            MsgBox "Il costo delle materie prime è diminuito, da " &
euro(Me!dist_tot1) & " è diventato " & euro(Nz(Me!margfly))
        End If
End If
Grazie per qls suggrmnto
Buona giornata,
Samantha

 ha scritto nel messaggio
news:1172139082.8...@s48g2000cws.googlegroups.com...
Buongiorno NG,







Ma la domanda qual è?
Antonio

 ha scritto nel messaggionews:1172139082.8...@s48g2000cws.googlegroups.com...

ehm
come faccio ad impostare la condizione, che se un controllo sulla
maschera sia uguale ad un altro controllo della maschera allora il
testo diventi blu?
Grazie

Esattamente cosa ci stai chiedendo?

 Esattamente cosa ci stai chiedendo?
ROTFL
Allora non so' solo io...
Antonio

 ha scritto nel messaggio
news:1172140834.3...@m58g2000cwm.googlegroups.com...


penso che invece di tutto il pappardone era sufficiente questa frase no?
ma se metti su dopo aggiornamento di entrambi i controlli
if controllo1 = controllo2 then
  controllo1.forecolor = blue
  controllo2.forecolor = blue
else
  controllo1.forecolor = turchinoapalliniviola
  controllo2.forecolor = giallopaglierino
endif
dici di no?
Antonio

On 22 Feb, 11:54, "Antonio Biso" <c...@NOSPAMetruria.net> wrote:
Grazie Anto'
ho integrato l'evento che avevo su apertura maschera, perchè dopo
aggiornamento come dicevi tu non andava.... anzi sono io che non sono
riuscita a farlo andare.
If IsNull(Me!margfly) Then
        Call InserireDati
    Else
        If Me!margfly > Me!dist_tot1 Or Me!margfly = Me!dist_tot1 Then
            If Me!margfly > Me!dist_tot1 Then
                 Me!margine = Me!dist_valmarg
                 MsgBox "Il costo delle materie prime è aumentato, da
" & euro(Me!dist_tot1) & " è diventato " & euro(Me!margfly)
                 Me!margine.ForeColor = 16711680
                 Me!dist_valmarg.ForeColor = 16711680
               Else
                    Me!margine = Me!dist_valmarg
                   MsgBox " Il costo delle materie prime è rimasto
invariato"
               End If
          Else
            Me!margine = Me!dist_valmargf
            MsgBox "Il costo delle materie prime è diminuito, da " &
euro(Me!dist_tot1) & " è diventato " & euro(Nz(Me!margfly))
            Me!margine.ForeColor = 8421376
            Me!dist_valmargf.ForeColor = 8421376
        End If
End If
Buon lavoro
Samantha

 wrote:
Nel mio ciclo IF pero' c'e' qlcs che non va.
Perchè, se le materie prime diminuiscono, prende il margine + alto e
diventa blu
Se le materie prime aumentano mi diventano blu tutti i 3 margini.
If IsNull(Me!margfly) Then -> se è nullo allora esce
        Call InserireDati
    Else -> altrimenti non è nullo
        If Me!margfly > Me!dist_tot1 Or Me!margfly = Me!dist_tot1 Then
            If Me!margfly > Me!dist_tot1 Then
                 Me!margine = Me!dist_valmarg
                 MsgBox "Il costo delle materie prime è aumentato, da
" & euro(Me!dist_tot1) & " è diventato " & euro(Me!margfly)
                 Me!margine.ForeColor = 16711680
                 Me!dist_valmarg.ForeColor = 16711680
               Else
                    Me!margine = Me!dist_valmarg
                   MsgBox " Il costo delle materie prime è rimasto
invariato"
               End If
          Else
            Me!margine = Me!dist_valmargf
            MsgBox "Il costo delle materie prime è diminuito, da " &
euro(Me!dist_tot1) & " è diventato " & euro(Nz(Me!margfly))
            Me!margine.ForeColor = 16711680
            Me!dist_valmargf.ForeColor = 16711680
        End If
End If
non capisco dove si impiglia,
...

 wrote:
Nel mio ciclo IF pero' c'e' qlcs che non va.
Perchč, se le materie prime diminuiscono, prende il margine + alto e
diventa blu
Se le materie prime aumentano mi diventano blu tutti i 3 margini.
If IsNull(Me!margfly) Then -> se č nullo allora esce
        Call InserireDati
    Else -> altrimenti non č nullo
        If Me!margfly > Me!dist_tot1 Or Me!margfly = Me!dist_tot1 Then
-->Non hai mai avuto conoscenze carnali con l'operatore >= ?
Suorina!!!
            If Me!margfly > Me!dist_tot1 Then
                 Me!margine = Me!dist_valmarg
                 MsgBox "Il costo delle materie prime č aumentato, da
" & euro(Me!dist_tot1) & " č diventato " & euro(Me!margfly)
                 Me!margine.ForeColor = 16711680
                 Me!dist_valmarg.ForeColor = 16711680
               Else
                    Me!margine = Me!dist_valmarg
                   MsgBox " Il costo delle materie prime č rimasto
invariato"
               End If
          Else
            Me!margine = Me!dist_valmargf
            MsgBox "Il costo delle materie prime č diminuito, da " &
euro(Me!dist_tot1) & " č diventato " & euro(Nz(Me!margfly))
            Me!margine.ForeColor = 16711680
            Me!dist_valmargf.ForeColor = 16711680
        End If
End If
non capisco dove si impiglia,
-->Ma semplificare un attimino la descrizione del problema togliendo tutti
gli annessi e connessi e lasciando solo le istruzioni per il cambio colore e
il test delle condizioni?
Antonio

 Antonio
Dunque
If Me!margfly <> Me!dist_tot1 Then
              If Me!margfly > Me!dist_tot1 Then
                 Me!margine.ForeColor = 16711680
                 Me!dist_valmarg.ForeColor = 16711680
               Else
                          If Me!margfly < Me!dist_tot1 Then
                               Me!margine.ForeColor = 16711680
                               Me!dist_valmargf.ForeColor = 16711680
                          End If
               End If
     Else
            Me!margine = Me!dist_valmarg
End If
Va meglio così?
è un po' semplificato...

Il problema è che se margfly < dist_tot1  tutti e 3 i campi si
illuminano...
If Me!margfly <> Me!dist_tot1 Then
                  If Me!margfly > Me!dist_tot1 Then
                     Me!margine.ForeColor = 16711680
                     Me!dist_valmarg.ForeColor = 16711680
                    Else
                     Me!margine.ForeColor = 16711680
                     Me!dist_valmargf.ForeColor = 16711680
                  End If
    Else



Ciao Antonio, ho risolto...
Grazie
Samantha

 End If
Ciao Antonio, ho risolto...
va beh
Antonio

 Antonio
Ok non insistere, ti spiego
ogni volta che mi eseguiva il ciclo if, tutti i caratteri di quelle
celle restavano blu. Per cui riaprivo ed erano blu. Me ne sono accorta
andando in visualizzazione struttura.
Allora ho cambiato approccio, ho impostato un backcolor allo sfondo
della cella e in + ho previsto quale colore devono assumere le celle
in qualsiasi stato del ciclo. Questo è il codice:
If Me!margfly <> Me!dist_tot1 Then
                  If Me!margfly > Me!dist_tot1 Then
                     Me!margine.BackColor = 65280
                     Me!dist_valmarg.BackColor = 65280
                     Me!dist_valmargf.BackColor = 16776960
                    Else
                     Me!margine.BackColor = 16776960
                     Me!dist_valmarg.BackColor = 65280
                     Me!dist_valmargf.BackColor = 16776960
                  End If
             Else
                 Me!margine.BackColor = 16777215
                 Me!dist_valmarg.BackColor = 65280
                 Me!dist_valmargf.BackColor = 16776960
             End If
:)  Buon lavoro
Samantha