InfoPath: Comparazione di campi numerici
Per confrontare due campi numerici di tipo Decimal (ovvero double cioè numeri in virgola mobile) in InfoPath 2007, ad esempio nei Data Validation, non è sufficiente fare un semplice confronto tra campi.
Questo perché i campi vengono confrontati come se fossero delle stringhe.
Il risultato di questo è che il confronto tra un campo che contiene un numero come 6.1 (considero il punto come separatore decimale) è diverso da 6.10, ma... matematicamente parlando, ovviamente non è esatto.
Quindi per mostrare un messaggio di errore nel caso di campi diversi non è sufficiente impostare il data validation, ad esempio a:
ma il confronto va fatto come segue usando una formula:
la chiave di tutto è la funzione number che forza InfoPath a fare un confronto fra tipi numerici anziché stringa.
Questo perché i campi vengono confrontati come se fossero delle stringhe.
Il risultato di questo è che il confronto tra un campo che contiene un numero come 6.1 (considero il punto come separatore decimale) è diverso da 6.10, ma... matematicamente parlando, ovviamente non è esatto.
Quindi per mostrare un messaggio di errore nel caso di campi diversi non è sufficiente impostare il data validation, ad esempio a:
Text
field1 is not equal field2
Text
field1 is not equal number(field2)
Questo problema non si presenta con i campi numerici di tipo Whole Number in quanto sono di tipo intero (senza decimali)