
22-03-10, 13:50
|
 | Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού 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.
|