Access e VBA: tracciare il trascorrere del tempo

giovedì 03 gennaio 2008 - 09.54

SomeBooks Profilo | Newbie

Ciao ragazzi.
Purtroppo non sono un programmatore, anche se la programmazione mi piace.
Riassumo il mio problema: sto realizzando un applicazione in Access 2003 che permetta a me e ai miei colleghi di tener traccia di come utilizziamo il nostro tempo in ufficio. In pratica, ad ogni nuova attività che iniziamo, apriamo una maschera di access che viene poi chiusa quando l'attività è stata portata a termine. La mia necessità è di registrare nel database l'ora di apertura della maschera e l'ora di chiusura.
Ho cercato di realizzare quanto volevo in questo modo:
su form_load ho inserito

Dim OraStart As Date OraStart = Now()

mentre sul pulsante che chiude la maschera ho inserito:

Me!OraInizio.Value = OraStart Me!OraFine.Value = Now()

Però, mentre riesco correttamente a registrare l'ora di chiusura, non riesco a memorizzare l'ora di apertura, che mi restituisce sempre il valore 0.00.00.

Cosa sto sbagliando?
Ringrazio in anticipo chiunque possa aiutarmi.

MarKonE Profilo | Guru

>Ciao ragazzi.

Ciao!

>Purtroppo non sono un programmatore, anche se la programmazione
>mi piace.

Come ti capisco

>Riassumo il mio problema: sto realizzando un applicazione in
>Access 2003 che permetta a me e ai miei colleghi di tener traccia
>di come utilizziamo il nostro tempo in ufficio. In pratica, ad
>ogni nuova attività che iniziamo, apriamo una maschera di access
>che viene poi chiusa quando l'attività è stata portata a termine.
>La mia necessità è di registrare nel database l'ora di apertura
>della maschera e l'ora di chiusura.
>Ho cercato di realizzare quanto volevo in questo modo:
>su form_load ho inserito
>
>Dim OraStart As Date
>OraStart = Now()

Qui valorizzi semplicemente la variabile OraStart con la data e l'ora attuale....

>mentre sul pulsante che chiude la maschera ho inserito:
>
>Me!OraInizio.Value = OraStart
>Me!OraFine.Value = Now()

....mentre qui valorizzi un campo della tua maschera.

>Però, mentre riesco correttamente a registrare l'ora di chiusura,
>non riesco a memorizzare l'ora di apertura, che mi restituisce
>sempre il valore 0.00.00.
>
>Cosa sto sbagliando?

Bisognerebbe capire meglio come gestisci la scrittura/salvataggio del record perchè è difficile stabilirlo così a priori senza dettagli......ma spero che il fatto di aver notato la differenza tra le due "funzioni" possa aiutarti.

Eventualmente illuminaci un po' di più

>Ringrazio in anticipo chiunque possa aiutarmi.

Ciao e buon anno!

My Blog... http://blogs.dotnethell.it/Mark/

SomeBooks Profilo | Newbie

Ringrazio innanzitutto per la celerità (siete grandi!!)

>Bisognerebbe capire meglio come gestisci la scrittura/salvataggio
>del record perchè è difficile stabilirlo così a priori senza
>dettagli......ma spero che il fatto di aver notato la differenza
>tra le due "funzioni" possa aiutarti.

Provo a spiegarti come ho impostato il database e mi scuso in anticipo se non riuscissi ad essere chiaro.
All'interno del database ho diverse tabelle, una delle quali è collegata alla maschera di cui vi parlavo (la maschera è stata creata in creazione guidata sulla base della tabella). Per cui tutti i campi che compongono il record da salvare sulla tabella sono presenti sulla form.
Per chiudere la form e salvare il record ho inserito un pulsante con abbinato il seguente codice:

Private Sub Comando15_Click() On Error GoTo Err_Comando15_Click Me!OraInizio.Value = OraStart Me!OraFine.Value = Now() DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 DoEvents DoCmd.Close Exit_Comando15_Click: Exit Sub Err_Comando15_Click: MsgBox Err.Description Resume Exit_Comando15_Click End Sub

che contiene anche le due istruzioni che menzionavo nel post precedente.
Non so quali altre informazioni possano esservi utili.

SSUPERPIPPO Profilo | Guru

Ciao,

prova a dichiarare come Public la tua variabile OraStart

Public OraStart as Date

in questo modo la variabile mantiene la sua visibilità per l'intero form, diversamente il dato memorizzato viene perduto nel momento in cui esci dall'evento Load del form.

Ciao

Alessandro


http://blogs.dotnethell.it/alebadalin
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5