IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Access
  New Posts New Posts RSS Feed - Events Tracer
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

 Topic   Topic Hot   Topic New   Topic Locked   Topic Sticky   Topic Hidden

Events Tracer

 Post Reply Post Reply
Author
Message
@Alex View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 09/Apr/2012
Location: Mantova
Status: Offline
Points: 831
Post Options Post Options   Thanks (0) Thanks(0)   Quote @Alex Quote  Post ReplyReply Direct Link To This Post Topic: Events Tracer
    Posted: 30/Ago/2012 at 00:06

Sottopongo un demo prima della Pubblicazione.

Si tratta, come da oggetto, di un sistema per gestire un LOG per la TRACCIABILITA' degli EVENTI nelle maschere.

Praticamente è possibile definire quali Eventi Tracciare ed in quali Maschere, verà generato su questi EVENTI scelti non a caso(non era ipotizzabile renderli tutti attivabili).


In sostanza ho usato NorthWind alleggerito nel quale ho inserito il mio giochetto...

L'implementazione non richiede modifiche particolari, solo l'uso di una Funzione sostituiva per l'apertura delle Form...

In pratica invece di usar

DoCmd.OpenForm "NomeForm".....

si dovrà usare la funzione sostituiva nel modulo [basForms]

Public Function OpenFormEX(FormName, Optional View As AcFormView = acNormal, _
                           Optional FilterName As String, Optional WhereCondition As String, _
                           Optional DataMode As AcFormOpenDataMode = acFormPropertySettings, _
                           Optional WindowMode As AcWindowMode = acWindowNormal, Optional OpenArgs)


Dopo la SPLASH FORM si apre la [MAIN SWITCHBOARD], la Form con i Button di navigazione...


Ne ho inserito uno sotto i 4 standard con un contorno ROSSO, mi pare abbastanza evidente...Wink


Si apre una FORM che consente la GESTIONE delle form alle quali applicare la TRACCIATURA EVENTI.


In sostanza la LISTBOX di SX elenca TUTTE le forms(escluse quelle di configurazione).

Le forms nella Lst(Sx) possono essere inserite nella ListBox in mezzo, e solo su queste potranno essere

definiti gli Eventi di tracciabilità.


La modalità di selezione delle forms mi pare semplice devono andare in mezzo... Smile


Selezionata una Form nella LISTBOX centrale si possono selezionare quali EVENTI TRACCIARE ed ABILITARLI con il FLAG.

Dovrebbe funzionare per FORM e SUBFORM in modalità ricorsiva... quindi una SubForm apparirà come Form e se si vogliono applicare Trace anche nella SubForm devono essere definiti, poi il sistema quando apre la Form si accorge della SubForm ed istanzia la classe Eventi.


Ho lasciato qualche preconfigurazione, quindi alla prima navigazione ti verrà generato un LOG... sugli EVENTI selezionati ed attivati.


uploads/19734/Northwind.zip



Il TOOL è immaginato per ADMIN dell'applicativo che vogliono inserire tracciatura a scopi di controllo, non è da rendere disponibile all'utente....

Non è implementata una definizione di Utenti, ma è facilmente inseribile...

Non SUPPORTO il CROSSPOST.
http://mirror.masterdrive.it/alessandrobaraldi/
Scaricare i DEMO modificando l'Estensione.
Back to Top
Tommy_G View Drop Down
Veterano
Veterano
Avatar

Joined: 15/Mag/2007
Status: Offline
Points: 1385
Post Options Post Options   Thanks (0) Thanks(0)   Quote Tommy_G Quote  Post ReplyReply Direct Link To This Post Posted: 30/Ago/2012 at 22:36
complimenti! io usavo il metodo di Namor che ha un botto di codice in più rispetto al tuo, inoltre con il tuo metodo il file di log dovrebbe risultare molto più leggero alle lunghe distanze.
Con un db che ha tante maschere, tantissimi controlli da monitorare (e tanti operatori che ci lavorano in rete) il metodo di Marco Pizzamiglio mi generava dei txt che superavano i 150 mb (una volta al mese li dovevo svecchiare) questo perchè creava un file di log che proponeva uno specchietto in "verticale" delle modifiche effettuate dall'utente e contrariamente al tuo metodo nel "prima e dopo" riportava l'elenco di tutti i controlli, anche quelli che non avevano subito modifiche.
io aggiungerei solo la possibilità di distinguere l'utente che ha effettuato le modifiche in quanto per la multiutenza penso sia indispensabile:
    
Dim Utente As String
Utente = Environ("username")
If Len(CurrentUser()) > 0 Then strMsgOut = strMsgOut & cDelimiter & Utente

Back to Top
@Alex View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 09/Apr/2012
Location: Mantova
Status: Offline
Points: 831
Post Options Post Options   Thanks (0) Thanks(0)   Quote @Alex Quote  Post ReplyReply Direct Link To This Post Posted: 30/Ago/2012 at 22:53
Purtroppo avevo fatto questo demo diversi anni fà, poi, come mi è capitato con molti altri DEMO mai publicati, quando mi si è guastato l'HD del vecchio PC... ho perso moltissimo materiale...
Ora avendo la necessità di usare una cosa simile avevo ripreso il codice di Marco(in arte NAMOR che ringrazio e saluto dopo 8 anni che non vedo Smile) per lavorare meno, ma alla fine l'ho riscrito per esigenza personale.

La questione dello USER è complessa in quanto ci sono molti sistemi di realizzare la gestione UTENTI... e non è detto che quanto restituito da ENVIRON sia corrispondente ad un eventuale LOGIN personalizzato...

In tutti i casi la considerazione è corretta e basta aggiungere la riga di codice come hai esattamente già fatto per  ottenere il risultato.

Grazie per il Test
Non SUPPORTO il CROSSPOST.
http://mirror.masterdrive.it/alessandrobaraldi/
Scaricare i DEMO modificando l'Estensione.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.11
Copyright ©2001-2012 Web Wiz Ltd.

This page was generated in 0,203 seconds.