Newsgroup: it.comp.appl.access
Titolo: File LOG su movimenti Utente [Seguito]

Salve a tutti
Faccio seguito ad un mio post del 17/10, dove chiedevo spiegazioni su
come avere un file di LOG, sui movimenti che un Utente effettua (modifica,
aggiunta record)
Ho fatto qualche passo avanti, sfruttandio una FaQ di m.Castaldi prelevata
dal SitoComune.
Il problema è che non riesco a fare scrivere il nome dell'utente nel
File.log.
Ovvero sull'evento dopo aggiornamento di una maschera qualsiasi  chiamo la
Sub "Movimenti" che
scrive sul File.log le informazioni che desidero ma non il nomeUtente.
Ho creato una funzione come questa, posizionata in un modulo
    Public Function NomeUtente()
        nomeUtente= Form_MascheraLogin.Ute
        'Ute è il campo della Maschera di Login che contiene il nome
dell'Utente
    End Function
Potreste darmi una mano?
Posto il codice (che ho leggermente modificato dal Sito)
   ========================
Public Sub movimenti()
'Questa è la sub per le modifiche e/o aggiunte
   Dim ormacce As New LogFile
 Dim datadioggi As String
 Dim NomeCampo As String
Dim NomeMaschera As String
 Dim Maschera As Form
Dim Campo As Control
datadioggi = Format(Date, "dddd, d mmm yyyy")
Set Maschera = Screen.ActiveForm
NomeMaschera = Maschera.name
Set Campo = Screen.ActiveControl
NomeCampo = Campo.name
'questo IF serve per stabilire se è una modifica o una aggiunta di un record
o di un campo
If Not IsNull(Campo.OldValue) Then
 
ormacce.name
 = datadioggi & ".log"
   ormacce.LWrite "# " & nomeUtente & " HA MODIFICATO DALLA MASCHERA: " &
NomeMaschera & ", NEL CAMPO: " & NomeCampo & ", dal valore: " &
Screen.ActiveControl.OldValue & ", al valore: " & Screen.ActiveControl.Value
   Set ormacce = Nothing
   Exit Sub
Else
 
ormacce.name
 = datadioggi & ".log"
   ormacce.LWrite "# " & nomeUtente & " HA AGGIUNTO DALLA MASCHERA: " &
NomeMaschera & ", IL NUOVO RECORD CON IL CAMPO: " & NomeCampo & ", COL
VALORE: " & Screen.ActiveControl.Value
   Set ormacce = Nothing
   Exit Sub
End If
End Sub
=================
Public Function GetAppDir()
    GetAppDir = Left(CurrentDb.name, Len(CurrentDb.name) -
Len(Dir(CurrentDb.name)))
End Function
==============
' Tutto ciò che segue è il modulo di classe "LOGFILE"
Dim Nome As String
Dim percorso As String
Dim modo As Byte
Private Sub Class_Initialize()
   Nome = Date & ".log"
   percorso = GetAppDir
   modo = 1
nomeUtente = "Pinco"    '<------------------- questo non lo scrive!!!!!!!"
End Sub
Property Let name(nomeUtente As String)
   Nome = nomeUtente
End Property
Property Get name() As String
   name = Nome
End Property
Property Let path(percUtente As String)
   percorso = percUtente
End Property
Property Get path() As String
   path = percorso
End Property
Property Let mode(modoUtente As Byte)
   modo = modoUtente
End Property
Property Get mode() As Byte
   mode = modo
End Property
===================
Function LWrite(messaggio As String) As Boolean
   Dim FileNumber As Integer
   Dim dati As String
   Select Case modo
      Case 1:
         dati = Format$(Now(), "h:m:s") & " " & messaggio
      Case 2:
         dati = Format$(Date, "General Date") & " " & messaggio
      Case 3:
         dati = Format$(Time, "General Date") & " " & messaggio
      Case 4:
         dati = messaggio
      Case Else:
         dati = " Invalid LogFile Mode: " & modo
         Exit Function
   End Select
   FileNumber = FreeFile
   Open GetAppDir & Nome For Append As #FileNumber
   Print #FileNumber, dati
   Close #FileNumber
End Function
====================
Grazie e scusate la lunghezza del post
Giampaolo

[CuT]
prova ad associare il nome utente ad una Variabile globale

 ' Tutto ciň che segue č il modulo di classe "LOGFILE"

Io ho provato col tuo codice cosě:
nella maschera che uso come login password sull'evento chiusura do il valore
di login ad una varianěbile globale
 (in alto ad un modulo imposto public nomeut as string)
su chiusura metto nomeut=me!login
poi usando quello che hai postato funziona
Stefano (Kabisa)


..E' vero !!  funzia!
come sempre: era abbastanza semplice, ma io non ci sono riuscito!
Grazie del vostro aiuto.
Giampaolo


..E' vero !!  funzia!
