Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 22-03-10, 13:50
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.027
Προεπιλογή Απλή παρακολούθηση Εφαρμογής Access

Σε κάποιες περιπτώσεις κρίνεται αναγκαία η καταγραφή κινήσεων σε κάποια εφαρμογή Access (πχ. σε κοινόχρηστες Βασεις δεδομένων).

Το παρακάτω απλό παράδειγμα δείχνει την αρχή λειτουργίας της τεχνικής αυτής.

Το παράδειγμα προϋποθέτει έναν πίνακα με την εξής δόμηση:
  • Όμομα Πίνακα: tblLog
  • Πεδίο: LogID: Αυτόματη Αρίθμιση
  • Πεδίο: OpenDateTime: Ημερομηνία/Ώρα
  • Πεδίο: CloseDateTime: Ημερομηνία/Ώρα
  • Πεδίο: DocName: Κείμενο
  • Πεδίο: ComputerName: Κείμενο
  • Πεδίο: WinUser: Κείμενο
  • Πεδίο: AppUser: Κείμενο

Σε μια λειτουργική μονάδα περνάμε τον παρακάτω κώδικα:
Κώδικας:
  Function LogAction(obj As Object, Optional LastID&)
      With CurrentDb.OpenRecordset("tblLog", 2)
          If LastID Then
              LastID = IIf(obj.Tag <> vbNullString, obj.Tag, -1)
              obj.Tag = vbNullString
              .MoveFirst
              .FindFirst "LogID = " & LastID
              If Not .NoMatch Then
                  .Edit
                  .Fields("CloseDateTime") = Now
              End If
          Else
              .AddNew
              LastID = .Fields("LogID")
              obj.Tag = LastID
              .Fields("OpenDateTime") = Now
              .Fields("DocName") = obj.Name
              .Fields("ComputerName") = Environ("COMPUTERNAME")
              .Fields("WinUser") = Environ("USERNAME")
              .Fields("AppUser") = Application.CurrentUser
          End If
          .Update
          .Close
      End With
  End Function


Σε κάθε μια από τις φόρμες ή εκθέσεις που θέλουμε να καταγραφούν :

Κώδικας:
  Private Sub Form_Close()
      LogAction Me, 1
  End Sub
   
  Private Sub Form_Load()
      LogAction Me, 0
  End Sub



__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 20-05-10 στις 17:05.
Απάντηση με παράθεση