Newsgroup: it.comp.appl.access
Titolo: Log

Salve a tutti
Pensando e ripensando, mi sono chiesto, come si fa un log che memorizza le
operazioni che esegui. Tanto per avere una memoria storica.
Ciao
Fabio

 ha scritto nel messaggio
news:prCu6.67789$yl2.6...@news1.tin.it...

Di solito sono file di testo con estensione .log; il contenuto e le
operazioni da "sorvegliare" le decidi tu. Per esempio potresti tenere
traccia di ogni query di comando eseguita:
'---------------------------
open fileLog for append as #1
print #1, now(), "Tentativo di cancellare tutti i file della tabella
Anagrafica."
if msgbox("Vuoi veramente cancellare tutti i
dati?",vbinformation+vbcritical,"Attenzione!")=vbyes then
    print #1, now(), "Esecuzione query che cancella tutti i dati nella
tabella Anagrafica."
    docmd.setwarnings false
    docmd.openquery "cancellaTuttiIDati"
    docmd.setwarnings false
 else
    print #1, now(), "Query che cancella tutti i dati della tabella
Anagrafica non eseguita."
end if
close #1
'---------------------------
La sintassi è da rivedere è solo un esempio di quello che potresti fare...
Ciao.

 operazioni che esegui. Tanto per avere una memoria storica.
Un log delle azioni di Access nel senso del journaling (che in caso di
errore ti permetta di andare a ritroso e ripristinare lo stato
ante-errore come c'e' su Oracle) non credo esista.
In un paio di applicazioni genericamente tipo magazzino ho fatto dei log
sotto forma di tabelle (data, transazione, oggetto tranaszione,
beneficiario ecc.) che vengono incrementate come ultimo atto dell'evento
corrispondente. Alcune sono query di accodamento sulla tabella di Log,
altre sono istruzioni SQL INSERT a seconda della comodita'.
In un log avente valore documentario ti conviene registrare tutto in
chiaro, cioe' anche se il bene o l'assegnatario del bene hanno dei
codici, registrali col nome in chiaro e non coi codici in modo che il
log sia parlante senza bisogno di altre tabelle.

 ha scritto nel messaggio
news:prCu6.67789$yl2.6...@news1.tin.it...

Grazie del consiglio, farò qualche tentativo per capire quale è il sistema
migliore da adottare.
Ciao
Fabio

dovrei stampare il contenuto di un campo memo direttamente
mi spiego.
inserisco delle nozioni in un campo memo e vorrei stamparle
mi risce se chiudo il record e lo richiamo perche' il contenuto č
stato salvato.
se decido di stampare direttamente č come se il campo fosse vuoto e
non stampo niente.
potreste indicarmi gentilmente la strada se seguire.
come neofita di access chiudo e stampo ma non mi sembra la soluzione
logica.
frank

 logica.
Già...
Immagino che tu userai un pulsante per stampare.
Al clic del pulsante, prima del lancio della stampa, forza il salvataggio
del record corrente, con
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Antonio

 frank
Che significa che stampi direttamente? Stampi la maschera o un report?
Comunque non ti stampa il testo contenuto perché non è ancora salvato il
record (matita a sinistra); dovresti forzare la scrittura del record o con
il suggerimento di Antonio oppure inserendo nell'evento "su clic" del
bottone che utilizzi per stampare (non dalla barra strumenti di access) un
Me.Refresh...
Ciao.