Ore in MS Access

di il
5 risposte

Ore in MS Access

Ciao a tutti.

Domandina forse stupida.

Stavo inserendo dei dati in un campo "ORA". ho impostato il formato in modo che non mi visualizza i secondi ossia scrivo ad esempio 12:34.

Se pero' volessi ad esempio impostare i valori di alcuni record usando la funzione TIME( ) ho visto che mi scrive nel campo 12:30:15 anche se poi mi visualizza solo 12:30

Ora il problema sorge in fase di ricerca. Se nel where metto Ora = 12:30 non mi da risultati perche' si aspetta 12:30:15. Pero' e' assurdo che per una ricerca devo mettere anche i secondi che probabilmente non ricordero'.

La mia domanda e' : c'è una funzione come time( ) che pero' mi restituisce l'ora di sistema senza i secondi??

Grazie a tutti

5 Risposte

  • Re: Ore in MS Access

    Se usi il Format che succede...?
    
    Format(Time,"hh:nn")
    Leggi anche questo:
    http://office.microsoft.com/it-it/access-help/formattare-il-campo-della-data-e-dell-ora-in-access-HA010341474.aspx

    Ovviamente il confronto lo farai sull'equivalente...
    SELECT * FROM T1 WHERE FORMAT(....)=FORMAT(Time(),"...")[/code]
  • Re: Ore in MS Access

    Ciao,

    Ho impostato il formato di visualizzazione in fase di creazione della tabella
    ed effettivamente visualizzo 11:15

    Ma noto che se vado nel dettaglio il dato e' salvato con anche i secondi

    Adesso non posso provare il format come mi hai scritto
    perche sono connesso con il cell...

    Domani provero e ti faro sapere
  • Re: Ore in MS Access

    Ti sfugge che l'impostazione che hai fatto ha effetto SOLO sulla visualizzazione...!
    Il Formato Data/Ora ha tutti i dati... [dd/mm/yyyy hh:mm:ss]
    Se salvi il dato SENZA [hh:mm:ss] viene sostituito con 00:00:00

    Stessa cosa infatti se salvi Now() o Date()...
    Now()<>Date() se non a Mezzanotte...!!

    Il FieldType della tabella non può cambiare, quello che cambia è il FORMATO di visualizzazione, quindi la tua ricerca deve essere FUNZIONALE sul FieldType e non sul Format, ne consegue che se hai forzato il sistema, o imbrogliato il sistema, poi devi gestirlo.

    La cosa migliore era non usare semplicemente Time... ma questo
    
    Timeserial(Hour(Time),Minute(time),0)
    ciao
  • Re: Ore in MS Access

    @Alex ha scritto:


    Ti sfugge che l'impostazione che hai fatto ha effetto SOLO sulla visualizzazione...!
    Il Formato Data/Ora ha tutti i dati... [dd/mm/yyyy hh:mm:ss]
    Se salvi il dato SENZA [hh:mm:ss] viene sostituito con 00:00:00

    Stessa cosa infatti se salvi Now() o Date()...
    Now()<>Date() se non a Mezzanotte...!!

    Il FieldType della tabella non può cambiare, quello che cambia è il FORMATO di visualizzazione, quindi la tua ricerca deve essere FUNZIONALE sul FieldType e non sul Format, ne consegue che se hai forzato il sistema, o imbrogliato il sistema, poi devi gestirlo.
    Sono pienamente daccordo con tutto.
    La cosa migliore era non usare semplicemente Time... ma questo
    
    Timeserial(Hour(Time),Minute(time),0)
    ciao
    Perfetto e' la funzione che fa al caso mio... Non ne conoscevo l'esistenza.

    Posto la sintassi corretta cosi che chiunque ne abbia bisogno la puo usare :
    Timeserial(Hour(Time());Minute(time());0)

    Fondamentalmene ci sono i ; al posto di , e Time e Minute sono Time() e Minute() in quanto funzioni.

    Grazie mille Alex. Alla prossima.

    Buona giornata
  • Re: Ore in MS Access

    Solo per precisione, la sintassi suggerita era giusta, ovviamente era la versione VBA, nelle queries va sostituito il separatore.
    Perché suggerisco sempre la versione da codice.?
    Perché dalla finestra immediata si può verificare subito.

    Saluti
Devi accedere o registrarti per scrivere nel forum
5 risposte