General |
6.98 Verificare il numero di decimali digitati. |
Roberto |
(D) E’ possibile verificare, in una tabella o in una maschera, che un valore numerico non sia stato digitato con più di 2 decimali? (R) L’introduzione dell’Euro rende opportuno verificare che gli importi non vengano digitati con più di due decimali. Nel database allegato a questa FAQ vengono proposte tre soluzioni. La prima soluzione effettua la verifica del numero dei decimali usando le Proprietà campo “Valido se” e “Messaggio errore” di un campo di una tabella. La Proprietà campo “Valido se” viene impostata a: =Fix("" & [Campo1]*100+Sgn([Campo1])*0,5)/100mentre la Proprietà campo “Messaggio errore” viene impostata a: Hai digitato più di 2 decimali! La seconda soluzione effettua la verifica del numero dei decimali usando le Proprietà “Valido se” e “Messaggio errore” di un controllo di una maschera. La Proprietà del controllo “Valido se” viene impostata a: =Fix("" & [Campo2]*100+Sgn([Campo2])*0,5)/100mentre la Proprietà del controllo “Messaggio errore” viene impostata a: Hai digitato più di 2 decimali! La terza soluzione effettua la verifica del numero di decimali tramite una routine VBA generata a fronte dell’evento “Prima di aggiornare” di un controllo di una maschera ed usando un messaggio personalizzato. Questo è il codice VBA generato a fronte dell’evento “Prima di aggiornare” del controllo: Private Sub Campo3_BeforeUpdate(Cancel As Integer) If Me!Campo3 <> Fix("" & Me!Campo3 * 100 + Sgn(Me!Campo3) * 0.5) / 100 Then MsgBox "Hai digitato il valore " & Chr(13) & Chr(10) & _ " " & Me!Campo3 & Chr(13) & Chr(10) & _ "che contiene più di 2 decimali." & Chr(13) & Chr(10) & _ "Verrà ripristinato il valore precedente" Me!Campo3.Undo Cancel = True End If End SubIn tutte e tre le soluzioni, il campo che deve contenere il valore ha un Tipo dati Numerico ed ha una Dimensione campo in Precisione doppia. Download: |