p.f. mi fate un test sui vostri sistemi?

4 views
Skip to first unread message

Ammammata

unread,
Sep 30, 2021, 8:54:17 AMSep 30
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 ] ...........

Ammammata

unread,
Sep 30, 2021, 9:31:09 AMSep 30
to
Il giorno Thu 30 Sep 2021 02:54:15p, *Ammammata* ha inviato su
microsoft.public.it.office.excel il messaggio
news:XnsADB5979FC7B1Cam...@127.0.0.1. Vediamo cosa ha
scritto:

> vorrei sapere se anche sui vostri sistemi si verifica questo
> comportamento anomalo

ah, ovviamente fatelo con Excel, vorrei capire se è una magagna di Access o
di Windows o di altro
Reply all
Reply to author
Forward
0 new messages