Αναγν. άρθρου: 285822 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 4.0

Πώς μπορείτε να καθορίσετε ποιος είναι συνδεδεμένος σε μια βάση δεδομένων χρησιμοποιώντας το Microsoft Jet UserRoster στην Access

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.

Σε αυτήν τη σελίδα

Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Αυτό το άρθρο παρουσιάζει τον τρόπο χρήσης της Microsoft Visual Basic for Applications για να εξαγάγετε μια λίστα των χρηστών που είναι συνδεδεμένοι σε μια βάση δεδομένων.

Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για λόγους επεξήγησης, χωρίς να παρέχει καμία εγγύηση, σιωπηρή ή ρητή. Σε αυτά περιλαμβάνονται, ενδεικτικά, οι σιωπηρές εγγυήσεις εμπορευσιμότητας ή/και καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία και τον εντοπισμό σφαλμάτων κώδικα διαδικασιών. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας. Ωστόσο, δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες, για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Όταν χρησιμοποιείτε το ακόλουθο δείγμα κώδικα, επιστρέφει τις ακόλουθες πληροφορίες:
  • Όνομα υπολογιστή.
  • Όνομα σύνδεσης.
  • Αν ο χρήστης είναι συνδεδεμένος αυτήν τη στιγμή στη βάση δεδομένων. (Αναγνωριστικό του χρήστη παραμένουν στη βάση δεδομένων κλειδώματος μέχρι ο τελευταίος χρήστης αποσυνδέεται ή μέχρι την υποδοχή στην οποία έχει ανακτηθεί για μια νέα σύνδεση χρήστη.)
  • Ή όχι σε κανονικές συνθήκες τερματίστηκε η σύνδεση του χρήστη.
Αυτές οι πληροφορίες μπορούν να χρησιμοποιηθούν επίσης για να απομονώσετε προβλήματα με την καταστροφή της βάσης δεδομένων που σχετίζεται με τις δραστηριότητες ενός συγκεκριμένου χρήστη.

Διαδικασία

Προσοχή: Εάν ακολουθήσετε τα βήματα σε αυτό το παράδειγμα, μπορείτε να τροποποιήσετε το δείγμα βάσης δεδομένων Northwind.mdb. Θέλετε να δημιουργήσετε αντίγραφα ασφαλείας του αρχείου Northwind.mdb και να ακολουθήσετε αυτά τα βήματα στο αντίγραφο της βάσης δεδομένων.


Για να καθορίσετε ποιος είναι συνδεδεμένος σε μια βάση δεδομένων, ακολουθήστε τα εξής βήματα:
  1. Ανοίξτε το δείγμα βάσης δεδομένων Northwind.mdb.

    ΣΗΜΕΙΩΣΗΣτην Access 2007, ανοίξτε το δείγμα βάσης δεδομένων Northwind2007, κλείστε το δείγμα βάσης δεδομένων Northwind2007 και, στη συνέχεια, ανοίξτε πάλι το δείγμα βάσης δεδομένων Northwind2007.
  2. Στο διακομιστήViewμενού, σημείοΑντικείμενα βάσης δεδομένων, και στη συνέχεια κάντε κλικ στο κουμπίΛειτουργικές μονάδες.

    ΣΗΜΕΙΩΣΗΣτην Access 2007, κάντε κλικ στο κουμπίVisual BasicΣτοMacroομάδα από τοΕργαλεία βάσης δεδομένωνTAB.
  3. Κάντε κλικΝέα.

    ΣΗΜΕΙΩΣΗΣτην Access 2007, κάντε κλικ στο κουμπίModuleΣτο διακομιστήINSERTμενού στο πρόγραμμα επεξεργασίας της Visual Basic.
  4. Πληκτρολογήστε ή επικολλήστε τον ακόλουθο κώδικα:

    ΣΗΜΕΙΩΣΗΤο δείγμα κώδικα σε αυτό το άρθρο χρησιμοποιεί Microsoft ActiveX Data Objects. Για να εκτελεστεί σωστά αυτός ο κώδικας, πρέπει να αναφέρεται η Microsoft ActiveX Data Objects 2.1 ή νεότερη έκδοση βιβλιοθήκης. Για να γίνει αυτό, κάντε κλικ στο κουμπίΑναφορέςΣτο διακομιστήΕργαλείαμενού στο πρόγραμμα επεξεργασίας της Visual Basic, και βεβαιωθείτε ότι τοMicrosoft ActiveX Data Objects 2.1 βιβλιοθήκηςτο πλαίσιο ελέγχου είναι επιλεγμένο.
    Sub ShowUserRosterMultipleUsers()
        Dim cn As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim i, j As Long
    
        Set cn = CurrentProject.Connection
    
        ' The user roster is exposed as a provider-specific schema rowset
        ' in the Jet 4.0 OLE DB provider.  You have to use a GUID to
        ' reference the schema, as provider-specific schemas are not
        ' listed in ADO's type library for schema rowsets
    
        Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
        , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
    
        'Output the list of all users in the current database.
    
        Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
        "", rs.Fields(2).Name, rs.Fields(3).Name
    
        While Not rs.EOF
            Debug.Print rs.Fields(0), rs.Fields(1), _
            rs.Fields(2), rs.Fields(3)
            rs.MoveNext
        Wend
    
    End Sub
    					
  5. Αποθηκεύστε τη λειτουργική μονάδα ωςShowUsers.
  6. Πιέστε τα πλήκτρα CTRL + G για να ανοίξετε το παράθυρο "άμεσης παρακολούθησης".
  7. Πληκτρολογήστε την ακόλουθη γραμμή στο παράθυρο εντολών και κατόπιν πιέστε το πλήκτρο ENTER:
    ShowUserRosterMultipleUsers
    					
    Σημειώστε ότι το παράθυρο άμεσης παρακολούθησης επιστρέφει μια λίστα με τους χρήστες που είναι συνδεδεμένοι στη βάση δεδομένων.

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Λέξεις-κλειδιά: 
kbinfo kbexpertiseadvanced kbexpertiseinter kbhowtomaster kbmt KB285822 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:285822  (http://support.microsoft.com/kb/285822/en-us/ )