Sono nuovo del campo anche se ho realizzato vari db per l'Ufficio dove lavoro con grande soddisfazione...
Sto realizzandomi un db access per la gestione dello straordinario elettorale. I conteggi li effettuo lavorando sui minuti (tempo e remunerazione). Fin qui tutto Ok; Per completezza di rapporto, però, voglio convertire i minuti totali in ore e minuti. In una casella di testo divido il totale minuti per 60 ed ottengo un risultato che, con una funzione trunc, mando ad un'altra casella per mantenere solo gli interi e due posizioni decimali. Gli interi, con una seconda funzione trunc li mando nella casella "ORE". Quanto ai minuti, avendo sempre un formato con, massimo, tre posizioni intere e sempre due posizioni dopo la virgola, con il seguente codice:
Private Sub Oretotali_Exit(Cancel As Integer)
Totaleore.Value = Truncore(ByVal Numero)
If (Len(Oretotali)) = 3 Then Totaleminuti = (Mid(Oretotali, 2, 2)) / 100 * 60
If (Len(Oretotali)) = 4 Then Totaleminuti = (Mid(Oretotali, 3, 2)) / 100 * 60
If (Len(Oretotali)) = 5 Then Totaleminuti = (Mid(Oretotali, 4, 2)) / 100 * 60
If (Len(Oretotali)) = 6 Then Totaleminuti = (Mid(Oretotali, 5, 2)) / 100 * 60
If (Len(Oretotali)) = 7 Then Totaleminuti = (Mid(Oretotali, 6, 2)) / 100 * 60
If (Len(Oretotali)) = 8 Then Totaleminuti = (Mid(Oretotali, 7, 2)) / 100 * 60
End Sub
ho i minuti.
Il problema sorge per quei valori che finiscono con lo zero, es: 28,50; ..,80, ecc. In questi casi la funzione len non contando lo zero finale ne falsa il valore e di conseguenza quello della casella "MINUTI"
Qualcuno mi può spiegare come posso risolvere il problema? (diciamo terra, terra)?