Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    3

    Mancata considerazione dello zero dopo la prima cifra decimale

    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)?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Di quale linguaggio stiamo parlando ? (VBA, VB6 ... dovresti indicarlo nel titolo).

    A parte questo, l'uso della funzione Len non ha molto senso per il tuo problema.

    Non ho ben capito da cosa parti e dove vuoi arrivare ma devi considerare di usare i formati e le funzioni intrinseche di gestione del tempo oppure semplici funzioni di conversione da stringa a valore numerico, in modo da risolvere con una riga il problema.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    3
    Scusa la scarsa chiarezza....
    VBA, ripeto sono un praticone (nel senso che tramite esempi e codici presi dalla rete mi sistemo i miei programmini).
    Arrivo alle cose magari facendo giri lunghissimi e come nel caso di specie a quello che mi interessa, cioè totale del tempo lavorato (in minuti) e totale della somma da percepire.
    Per completezza, più che altro per non dire ad un collega hai lavorato 18622 minuti ed avrai un compenso di ...... euro:
    ho i minuti totali (numero intero) dai quali voglio avere le ore ed i minuti residui.
    E' la prima volta che ricorro ad un forum, Grazie dell'aiuto

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Partendo da un valore Totale di minuti, puoi scrivere

    Ore = Int(Totale / 60)
    Min = Totale Mod 60

    per ottenere le due parti
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    3
    come ti dicevo.
    Mostruoso... il fatto è che stavo cercando sui vari forum e non sono riuscito a trovare nulla.
    E' Perfetto, Grazie

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Di nulla, ma nulla di mostruoso ... A presto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.