Evento doppio click per aggiornare l'ora di un campo in auto

di
Anonimizzato12511
il
1 risposte

Evento doppio click per aggiornare l'ora di un campo in auto

Salve a tutti,
Ho da poco concluso la costruzione di un database access.
Nella maschera di visualizzazione principale vi sono molti campi, tra cui il campo "DATA" e il campo "ORA".
Vorrei che nel campo "ORA" con l'evento doppio click appaia l'ora attuale, senza la data.
infatti, utilizzando la funzione NOW() non mi è possibile visualizzare solo l'ora (o non sono stato in grado.

Mentre per il campo "DATA" in proprietà, eventi, doppio click, routine VB ho scritto:

Me![Data]=Date
.....

e mi restituisce la data attuale, la stessa cosa non si può dire con il comando Now. Qualche idea?

1 Risposte

  • Re: Evento doppio click per aggiornare l'ora di un campo in auto

    Faccio 2 premesse poi sarai tu a decidere.
    1° La funzione Now() e la Funzione Date() sono estremamente differenti e non sono da usare in opzione.
    I campi data delle tabelle infatti memorizzano un campo di tipo [gg/mm/yyyy hh:mm:ss] anche se l'estensione [hh:mm:ss] non risulta visibile in quanto non valorizzata.
    Ne consegue che Now()<>Date() sempre salvo alla mezzanotte.
    Questo spesso crea per i poco esperti difficoltà nelle ricerche per Data.

    Ovviamente ho visto che in autonomia hai usato il campo Date...

    2° Sostanzialmente è errato dividere il campo Data come fai tu... in quanto è inutile per eventuali calcoli differenziali.
    In sostanza potresti memorizzare Now() invece di Date in un solo CAMPO COMPLETO e visualizzare quello che ti serve in 2 caselle differenti:
    Nella TextBox associata al campo Data usi la Formattazione della data come propone la ComboBox Formato=Data in cifre.
    Mentre per la visualizzazione dell'ora, crei una TextBox chiamata [txtOrario] non editabile, nella quale come Origine riga scrivi:
    =Format([txtBoxData];"hh:mm:ss")
    Ovviamente poi a questo punto puoi sempre forzare l'aggiornamento in questo modo
    
    Me!txtBoxData.Value=Now()
    Me!txtOrario.Recalc
    Se invece non comprendi il senso pratico del mio suggerimento e vuoi assolutamente fare quello che hai chiesto, usa la funzione [Time()].
Devi accedere o registrarti per scrivere nel forum
1 risposte