Risolto funzione datediff con un decimale

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
Buongiorno,
ho un problema con la funzione datediff in access 2010,
Visual Basic:
Espr1: Somma(DateDiff("s";[Data creazione avviso];[Data Chiusura]))/60
dovrei troncare il risultato a un solo decimale, ho provato con ROUND CAST ma non riesco a integrarli ed ottenere l'effetto voluto, devo anche dire che non sono molto esperto in sql però, potete aiutarmi ?
questa è la funzione
Grazie
 

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
Grazie mille per linteressammento e le pronte risposte, che mi hanno permesso di esplorare la funzione corretta, ho risolto così
Visual Basic:
Espr1: FormatNumber((Somma(DateDiff("s";[Data creazione avviso];[Data Chiusura]))/60);1)
Grazie ancora
 

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
scusami ma ho parlato troppo presto, con la funzione FormatNumber sql non lo ordina più (e l'ordinamento mi occorre) , forse perché lo trasforma in stringa ?
devo usare qualche altra cosa, cortesemente un altro indizio ? :)
 

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
ho risolto definitivamente (spero) cosi
Visual Basic:
Espr1: Round(Somma(DateDiff("s";[Data creazione avviso];[Data Chiusura]))/60;1)
Ciao e buona giornata
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
2.233
83
Italy
2013 2019
166
In effetti mi sembrava strano l'uso di FormatNumber (che è una proprietà esposta dal modello ad oggetti di Excel, ma non esiste nel linguaggio SQL), ma siccome non ero sicuro del contesto non mi sono azzardato a replicare.
L'importante è che tu abbia risolto.
cappello_saluta
 
  • Like
Reactions: attila666

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
però FormatNumber funzionava in sql, dopo averla applicata non riusciva più ad ordinare in base al valore, ma funzionava.
cappello_saluta a te :)
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
2.233
83
Italy
2013 2019
166
Bisogna sempre vedere quale risultato si vuole ottenere.
Format e Format Number restituiscono una stringa quindi l'ordinamento verrà basato su questo tipo di dato. Se si deve ordinare 'numericamente' allora è necessario usare una funzione di tipo numerico (come appunto Round) , oppure fare il cast da stringa a numero.
Ti suggerisco la prossima volta di postare tutta la query, anche se l'esito non era quello atteso, così sarà possibile capire dove stava l'errore, magari era solo un problema di sintassi non corretta.
 
  • Like
Reactions: attila666

attila666

Utente junior
6 Giugno 2017
54
6
roma
office 2010
2
hai ragione, purtroppo non sono un esperto in sql, quello era solo il parametro che si trova nel campo in visualizzatore struttura in access (credevo che bastasse quello per il mio problema), di solito faccio cosi, creo la macro in access (molto più semplice in modalità struttura, visto che non potrei scriverla da zero) e poi copio/adatto tutta la query in VBA connettendo il DB, così è alla mia portata :)
Ciao e grazie per la pazienza, professionalità ed eloquenza che dimostri. :StrettaDiMano:
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!