Newsgroup: it.comp.appl.access
Titolo: Log di errori in tabella

Esimi pasticciatori di Access97.
Come dai thread precedenti relativi al log di errori, vorrei approfondire
l'argomento.
Al momento, ad ogni apertura di maschera (Form Open), loggo nella tabella
tblLog l'avvenuta apertura con il codice che segue:
Public Sub LoggaLogga(Maschera As Form)
   Dim rS As Recordset
   Dim User, Data
User = CurrentUser
Data = Now()
Set rS = CurrentDb.OpenRecordset("tblLog")
   rS.AddNew
    rS.Fields("User") = User
    rS.Fields("Data") = Data
    rS.Fields("Form") = Maschera.name
   rS.Update
   rS.Close
   Set rS = Nothing
End Sub
richiamato nell'evento Open della form dal codice
LoggaLogga Me
E così so chi ha aperto che cosa quando etc...
Sto cercando di rendere simile l'operazione di registrazione degli errori, e
mi piacerebbe poterlo fare con una sola riga, suppongo nell'evento
Form_Current(), che sia un qualcosa di questo tipo
LoggaLoggaErrore (Me, Evento, Err.Number)
con alle spalle un modulo simile al LoggaLogga di cui sopra, che inserisca
nella tabella tblLogErrori l'errore verificatosi.
Avete consigli o idee in merito? Resto con le orecchie ben all'erta!
--
'--------------------------------------------------------
'Saludos
'--------------------------------------------------------

CUT
scusate se insisto, ma le risposte trovate finora nel NG non mi hanno
aiutato nel caso specifico in questione...

 ha scritto nel messaggio
news:gVt19.17752$lu5.5...@twister1.libero.it...

... certo che se cambi 3d ...... non è facile.........
secondo me ti conviene appoggiarti su di un file esterno al database, perchè
se registri tutti gli eventi (cosa della quale non capisco l'utilità) che si
verificano in breve avrai notevoli dimensioni.......
una buona soluzione sarebbe creare, magari in una sottocartella, un file di
testo denominato con la data, creato quindi quotidianamente, dove registri
tutti i messaggi che vuoi, volendo anche con qualche indicazione sul tipo di
messaggio (hai presente registro eventi di winNT?)
a mio avviso, generalmente, vale la pena registrare le azioni degli utenti
sui record non la loro attività sulle maschere, e gli errori che si generano
all'interno, possibilmente con le informazioni di cui al 3d precedente.
ciao.


Ciao e grazie per l'attenzione. Io loggo le aperture delle maschere in una
tabella per verificare a livello statistico le attività più utilizzate e
simili. Per gli errori siamo d'accordo. Ho un URL che può essere
interessante ma devo ancora studiarmelo. Te lo posto
http://allenbrowne.com/ser-23a.html


nel 3d precedente ti ho scritto le istruzioni per creare il file di testo:
vedi istruzioni open, write, put, get ecc. è abbastanza semplice.
nel link che hai postato, c'è la routine "LogError" che fa al caso tuo.
ciao.

CUT
Ancora una cosa: sto provando a fare come mi hai suggerito, a loggare
l'apertura delle maschere su un file di testo.
Sai suggerirmi come convertire il metodo che utilizzo attualmente (aggiunta
di record sulla tabella) per poter sparare nel file il log?
Al momento funge così (forse l'ho già messo dentro un 3d precedente):
* dalla maschera:
    LoggaLogga Me
* nel modulo:
    Public Sub LoggaLogga2(Maschera As Form)
    Dim rS As Recordset
    Dim User, Data
    User = CurrentUser
    Data = Now()
    Set rS = CurrentDb.OpenRecordset("tblLog")
    rS.AddNew
    rS.Fields("User") = User
    rS.Fields("Data") = Data
    rS.Fields("Form") = Maschera.name
    rS.Update
    rS.Close
    Set rS = Nothing
    End Sub
Se io provo a modificare e a mettere nel modulo:
* nel modulo:
    Public Function LoggaLogga (Form As Form)
    Open "NomeFile.txt" For Append As #1
    Write #1, Form ; Now; CurrentUser
    Close #1
    End Function
mi viene restituito un errore di run-time.
E non so come modificare la sintassi nel modulo o nella maschera.
Sai darmi una mano?

 ha scritto nel messaggio
news:ldS19.21935$n04.6...@twister2.libero.it...

il codice è corretto.
Probabilmente non viene accettata la variabile FORM  (non è conveniente dare
alle variabili il nome della classe o del tipo che rappresentano).
cosi dovrebbe andare:
 Public Function LoggaLogga (Frm As Form)
    Open "NomeFile.txt" For Append As #1
    Write #1, Frm ; Now; CurrentUser
    Close #1
Function
fammi sapere.
ciao.


Purtroppo non va...
Mi viene detto:
Errore di run-time '450':
Numero errato di argomenti o assegnazione di proprietà non valida
Che sia il codice dalla maschera?
Mah, spero in un tuo o altrui suggerimento!


e cià ragione 'azzo!!! :)
gli si vuola far scrivere una form in un file di testo .......
     Write #1, Frm ; Now; CurrentUser
alla routine passa in nome della form anzichè il riferimento all'oggetto
 Public Function LoggaLogga (sNameForm As string)
     Open "NomeFile.txt" For Append As #1
     Write #1, sNameForm ; Now; CurrentUser
     Close #1
Function
ciao.

 ha scritto nel messaggio
news:ai90tb$12km0r$1...@ID-57322.news.dfncis.de...

L'avevo già provato, e dalla maschera mi dice
Tipo non corrispondente
L'errore e sulla riga
LoggaLogga2 Me

CUT
Ca##o finalmente!
Grazie ramblers!
Bastava passargli
LoggaLogga2 Me.name
avendo impostato la variabile nel modulo come stringa!!!!
Alla prossima, ribaldo...

 ha scritto nel messaggio
news:eNT19.22309$n04.6...@twister2.libero.it...

hasta siempre!