Condividi tramite

Commutazione minuti in ore e minuti

Anonimo
2018-01-18T07:39:56+00:00

Ho dei campi in access , di una query collegata ad una tabella in cui inserisco il tempo di lavoro effettuato in minuti, vorrei commutare , questi minuti in ore e minuti, senza fare un calcolo manuale.

Esempio  70 minuti da visualizzare in   1 ora  e 10 minuti

per praticità inserendo solo i minuti, uso il sistema numerico normale facendo addizioni e sottrazioni. Vorrei però che apparisse in un altro campo la visualizzazione in ore e minuti, esiste qualche formula funzionante in access ?

La funzione TRONCA esiste anche in access ?

Conosco la soluzione in excel, ma non so se è possibile traslarla In access.

Grazie

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2018-01-24T13:45:58+00:00

    nella struttura del campo non associato dovrei scrivere                       oremin: min_hour([minuti])

    in ore e minuti vorrei vedere sia il singolo record che la somma dei record

    Credo tu abbia in testa una discreta confusione tra controlli, campi, e quant'altro ....

    I campi esistono nelle tabelle (e di conseguenza nelle query).

    I controlli esistono nelle maschere e nei report.

    Parlare di struttura di un campo non associato è una babele. Eventualmente puoi visualizzare in modalità struttura la tabella in cui è contenuto il campo ....

    Se stai parlando della maschera, visualizzandola in modalità struttura, nelle proprietà del controllo non associato, scheda dati, origine controllo, devi scrivere:

    =min_hour([Minuti])

    Dove minuti è il nome del controllo in cui scrivi il totale dei minuti.

    Volendo poi memorizzare anche il risultato della funzione (anche se memorizzare il risultato di un calcolo è contrario ai contesti di normalizzazione), potresti, ad esempio, sfruttare l'evento dopo aggiornamento del controllo Minuti.

    Quanto poi alla frase ... in ore e minuti vorrei vedere sia il singolo record che la somma dei record... confesso che il significato mi è oscuro!

    David

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2018-01-18T10:40:26+00:00

    modulo standard, copia questa funzione :

    Public Function timeStr(ByVal dtTime As Long) As String

    timeStr = Format$(dtTime \ 3600, "00") & ":" & Format$(Fix(dtTime / 60) Mod 60, "00") & ":" & _

    Format$(dtTime - (dtTime \ 3600) * 60 * 60 - (Fix(dtTime / 60) Mod 60) * 60, "00")

    End Function

    la richiami come segue :

    e ottieni :

    HTH,

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento

8 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-01-19T08:18:26+00:00

    Grazie

    a breve proverò

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-01-19T08:17:52+00:00

    Grazie. A breve proverò.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2018-01-18T10:26:28+00:00

    Ciao,

    puoi dare un'occhiata alla funzione che trovi al seguente link: Funzione VBA per convertire dei minuti in ore

    Con una leggera rielaborazione diventa così:

    --

    Function min_hour(ByVal minuti As Integer) As Date

    On error resume next

        Dim ore As Integer

        If minuti > 1439 Then Exit Function

        If minuti < 10 Then

            min_hour = CDate("00:0" & minuti)

        ElseIf minuti >= 10 And minuti < 60 Then

            min_hour = CDate("00:" & minuti)

        ElseIf minuti >= 60 Then

            ore = Int(minuti / 60)

            minuti = minuti Mod 60

            If ore < 10 Then

                ore = "0" & ore

            End If

            If minuti < 10 Then

                minuti = "0" & minuti

            End If

            min_hour = CDate(ore & ":" & minuti)

        End If

    End Function


    David

    La risposta è stata utile?

    0 commenti Nessun commento