Access 2013 data ultima modifica

di il
9 risposte

Access 2013 data ultima modifica

Ciao a tutti sono Peppe2802, molto inesperto,
ma per una piccola cosa non riesco a capire quale dettaglio mi sfugge, per cui procederò con tutti i dettagli possibili, anche con i nomi precisi di tabelle, campi e maschere (semmai) , quindi :

1, per gestire un archivio Contatti ho creato una Tabella chiamata Soggetti

2, a parte tutti i soliti campi, ho (sono i nomi effettivi dei campi):
Data Contatto = data creazione record e DataUltimaModifica = parla da sola
entrambi i campi nel DB sono in gestione data e senza editazione per rendere più limitati i margini di errore
3, Poichè mi serve la sola Data modifica e non anche l'ora, ho impostato entrambi i campi nella 'Struttura Tabella' come valore predefinito "Date()" , quindi fino a che gestisco l'immissione di un nuovo record ... tutto a posto, mi immette la data di sistema in entrambi i campi ... OK

4, quando vado in modifica record non succede nulla... e anche fin qui ci siamo ...

Allora per la DataUltimaModifica ho usato :
a. una Macro con 'ImpostaVarLocale' Par. Nome: DataUltimaModifica .... Par. Espressione =: Date()
(i : alla fine dei parametri sono solo interpunzione ) ... Non funziona ... poi ho cercato sui forum e ...

b. Macro con 'ImpostaVarTemp' Parametri Idem

c. Macro ho aggiunto il nome Tabella al campo : [Soggetti]![DataUltimaModifica] ...

d. ho usato un codice :
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.DataUltimaModifica = Date()
end sub

e. al Codice ho provato ad aggiungere FIX ... Date

il tutto posto sia come evento in Maschera (che in particolare si chiama 'Inserisci soggetto')
nel parametro 'Prima di Aggiornare', sia, per scrupolo (in alternativa ovviamente)
nelle Proprietà del Campo della maschera,
MA PURTROPPO SENZA ALCUN RISULTATO

Cosa sbaglio ?
oppure, vi risulta che ci sia qualche problema su ACCESS 2013 ????

Grazie tante ragazzi se mi date una mano .... non ne posso più di fare prove su prove ahahahaha

Peppe sì, ma 2802

9 Risposte

  • Re: Access 2013 data ultima modifica

    I punti 4.a.b.c. non li ho capiti.
    Forse 4.d. ci potrebbe stare.
    Ciò che non mi convince è: come fai a stabilire se un record viene o no modificato? Se l'utente poco poco si mette a giocare con i campi per fare varie prove, ecco che tu ti ritrovi un valore DataUltimaModifica continuamente "falsamente aggiornato".
    Per me il problema non è tanto quel codice (4.d.), quanto la giusta scelta dell'evento che deve impostare il valore Date(). E poniamo il caso che trovi l'evento giusto...è probabile che dovrai trovare altri correttivi con altri eventi innescando rischiosi ping pong di eventi anche contraddittori.
    Non so se tutto il discorso ne vale la pena. Io mi accontenterei del valore predefinito =Date(), poi per le successive modifiche scriverei manualmente.
  • Re: Access 2013 data ultima modifica

    Ti riporto un mio articolo:

    REGISTRARE LA DATA DI CREAZIONE E/O MODIFICA RECORDS

    Per registrare in automatico la Data di Creazione e/o di Modifica
    di un nuovo Records si può usare questo semplice sistema:

    Ipotiziamo di avere a disposizione 2 Campi nella Tabella nei quali registrare
    Data di Inserimento e Data di Modifica, quindi nella nostra FORM avremo
    2 Controlli di Tipo TEXTBOX associati a tali campi(magari non EDITABILI):

    1) Controllo associato al Campo [DataInserimento] txtDataInserimento

    2) Controllo associato al Campo [DataUltimaModifica] txtDataUltimaModifica


    Si sfruttano gli Eventi di Maschera per ottenere il Risultato:

    REGISTRARE LA DATA DI ULTIMA MODIFICA DEL RECORDS
    
    Private Sub Form_BeforeUpdate(Cancel As Integer)
        Me!txtDataUltimaModifica=Now()
    End Sub
    
    [b]REGISTRARE LA DATA DI CREAZIONE[/b]
    
    Private Sub Form_BeforeInsert(Cancel As Integer)
        Me!txtDataInserimento=Now()
    End Sub
  • Re: Access 2013 data ultima modifica

    Grazie Alex per la risposta, ma se leggi la mia spiegazione dell'accaduto ti accorgi che sono Codici che ho usato e senza successo. perciò mi vengono seri dubbi circa problemi sulle Macro o Codici su Access 2013, problemi che non ho trovato segnalati sui Forum. Mi viene il dubbio che alcune Istruzioni vengano disattivate per qualche motivo, ma in questo caso non dovrebbe darmi almeno un Errore sulla sintassi del comando o qualcosa del genere ????
    MISTERO !!!!!!!!!!!!!!!!!!!!!
  • Re: Access 2013 data ultima modifica

    Scusa Osvaldo vedo che sei connesso e, poichè sono appena entrato in questo Forum, non so se la risposta che ti ho mandato qualche minuto fa alle tue gentili indicazioni, ti sia arrivata o meno, perchè non l'ho scritta in questa sezione 'Risposta Rapida' ma in un'altra schermata legata al tuo nome ??
  • Re: Access 2013 data ultima modifica

    Nessun mistero...
    Prima cosa le macro le lasciamo stare perchè vogliamo essere attivi nella gestione degli eventi... quindi evitiamole se vogliamo controllare ed avere la guida delle azioni.

    Quel codice funziona e non può NON ESSERE ATTIVATO se usato correttamente ma può non essere chiamato se non hai operato in modo corretto.
    E' evidente che se lo COPI/INCOLLI nella pagina VBA della Form gli eventi NON SONO ATTIVI e ti accorgi di questo dalla Finestra Proprietà della Form alla TAB Eventi... se non vedi [Procedura Evento] ... quel codice è come fosse inutile.
    Quindi prima si attivano le procedure specifiche, poi si inserisce il codice.
  • Re: Access 2013 data ultima modifica

    Ciao Alex,
    ritorno a bomba per segnalarti che a volte, nell'aprire il DB, mi ha dato un errore tipo: MSCOMTC .... nessun riferimento al VBA o qualcosa del genere (non posso specificare bene la scritta del messaggio perchè è apparso solo poche volte).
    Fatto sta che, quando è apparso questo tipo di messaggio nella DataInserimento=Date() non mi riconosceva nemmeno il parametro Date().
    Spesso a quell'errore si abbina un :
    AVVISO DI SICUREZZA ..... 'Abilita contenuto' (dettagli ... possibile virus .... conferma contenuto nattendibile)
    Tutto questo può voler dire qualcosa per te ? rispetto al fatto che (ti ricordo il problema iniziale) non mi aggiorna mai la DataUltimaModifica ?
    Grazie tanto Alex della tua attenzione
  • Re: Access 2013 data ultima modifica

    Quello è il messaggio dell'errore di riferimenti alla libreria Microsoft common control.... gli Ocx di MS come treeview ecc...
    Magari hai provato a giocare....

    In ogni modo non ha nulla a che fare con il 3D. ... quindi direi che se necessario ne apri uno dedicato
  • Re: Access 2013 data ultima modifica

    @Alex ha scritto:


    Ti riporto un mio articolo:

    REGISTRARE LA DATA DI CREAZIONE E/O MODIFICA RECORDS

    Per registrare in automatico la Data di Creazione e/o di Modifica
    di un nuovo Records si può usare questo semplice sistema:

    Ipotiziamo di avere a disposizione 2 Campi nella Tabella nei quali registrare
    Data di Inserimento e Data di Modifica, quindi nella nostra FORM avremo
    2 Controlli di Tipo TEXTBOX associati a tali campi(magari non EDITABILI):

    1) Controllo associato al Campo [DataInserimento] txtDataInserimento

    2) Controllo associato al Campo [DataUltimaModifica] txtDataUltimaModifica


    Si sfruttano gli Eventi di Maschera per ottenere il Risultato:

    REGISTRARE LA DATA DI ULTIMA MODIFICA DEL RECORDS
    
    Private Sub Form_BeforeUpdate(Cancel As Integer)
        Me!txtDataUltimaModifica=Now()
    End Sub
    
    [b]REGISTRARE LA DATA DI CREAZIONE[/b]
    
    Private Sub Form_BeforeInsert(Cancel As Integer)
        Me!txtDataInserimento=Now()
    End Sub
    Buongiorno,

    ho provato questo codice ma al salvataggio della maschera ho un errore di sintassi con evidenza a questa parte :
    REGISTRARE LA DATA DI ULTIMA MODIFICA DEL RECORDS

    Sai spiegarmi perchè ?

    grazie in anticipo
  • Re: Access 2013 data ultima modifica

    Perché non è codice, ma un commento. Anteponi l'apostrofo o elimina completamente la riga...
Devi accedere o registrarti per scrivere nel forum
9 risposte