Ammammata
unread,Sep 30, 2021, 8:54:17 AM9/30/21Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
riprendo un post che ho inviato tempo fa sul gruppo di access: in poche
parole Windows non mi restituisce la giusta data di creazione del file
vorrei sapere se anche sui vostri sistemi si verifica questo comportamento
anomalo:
con *codice VBA* create un file, leggete la data di creazione,
cancellatelo, aspettate qualche secondo/minuto, createne uno nuovo (con lo
stesso nome), ri-leggete la data di creazione, confrontatela con la
precedente: il mio access 2010 riporta sempre la data di creazione del
vecchio file cancellato
ovviamente il vostro test dovrą tenere conto dei minuti e dei secondi, non
posso chiedervi di aspettare un giorno intero
ho messo qualche ritocco rispetto al post originale del 19 luglio che
riporto:
--- inizio ---
Subject: data di creazione del database
Newsgroups: it.comp.appl.access
ho una procedura eseguita settimanalmente che genera un file temporaneo
alla fine compatta questo file temporaneo scrivendone uno diverso,
*precedentemente cancellato* (codice qui sotto)
nel codice VBA controllo se il file di destinazione esiste (Dir_Exist) ed
eventualmente lo cancello, l'operazione viene sempre eseguita senza errori
If Dir_Exist(Me.APP_PATH & NN & Ty & CO & MA & "DATI_REP.Mdb") <> "" Then
Kill Me.APP_PATH & NN & Ty & CO & MA & "DATI_REP.Mdb"
la funzione:
Function Dir_Exist(TestDir As String) As Variant
MyName = DIR(TestDir, vbDirectory)
If MyName = "" Then
Dir_Exist = ""
Else
If Right(TestDir, 1) = "\" Then Dir_Exist = TestDir Else Dir_Exist
= TestDir & "\"
End If
End Function
successivamente compatto il file temporaneo (DATI_REP.MDB) scrivendo quello
nuovo (con lo stesso nome del vecchio appena cancellato)
DBEngine.CompactDatabase Me.APP_PATH & "DATI_REP.MDB", Me.APP_PATH & NN &
Ty & CO & MA & "DATI_REP.Mdb"
cosa succede?
se eseguo il codice normalmente, come lo eseguono gli utenti, lasciando
fare senza debug, il file di destinazione viene correttamente creato ma la
data/ora di creazione resta inspiegabilmente quella del file
precedentemente cancellato (10 luglio)
se eseguo passo passo... funziona: la data/ora di creazione č quella del
momento stesso in cui eseguo l'istruzione (19 luglio)
--- fine ---
la data la leggo cosģ:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oF = oFSO.GetFile(Me.APP_PATH + MyName)
CreationDate = oF.DateCreated
ho anche provato, a creare il file (il risultato della compattazione) in
una cartella diversa per poi spostarlo in quella definitiva, senza esito
grazie in anticipo per il tempo che vorrete dedicarmi
--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........