Tietokannan kirjautumisen selvittäminen Microsoft Jet UserRosterilla Accessissa
Edistynyt: Edellyttää asiantuntijakoodausta, yhteentoimivuutta ja monikäyttöosaamista.
Tämä artikkeli koskee Microsoft Access -tietokantatiedostoa (.mdb) tai Microsoft Access -tietokantatiedostoa (.accdb).
Yhteenveto
Tässä artikkelissa kerrotaan, miten voit Microsoft Visual Basic for Applications avulla tulostaa tietokantaan kirjautuneiden käyttäjien luettelon.
Microsoft esittää ohjelmointiesimerkkejä vain asian havainnollistamiseksi, ilman suoraa tai epäsuoraa vastuuta niiden toimivuudesta. Tämä sisältää muunmuassa epäsuorat vastuut soveltuvuudesta kaupankäyntiin tai soveltuvuuteen yksilöityyn käyttöön. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen, sekä proseduurien luonti- ja virheenkorjaustyökaluihin. Microsoftin tukiteknikot voivat auttaa selittämään tietyn toimenpiteen toiminnallisuuden. Microsoftin tukihenkilöt voivat auttaa selvittämään tietyn toimenpiteen toiminnallisuutta, mutta he eivät muokkaa näitä esimerkkejä parantamaan yksittäisen tarpeen toiminnallisuutta eivätkä luo siihen toimenpiteitä.
Kun käytät seuraavaa mallikoodia, palautetaan seuraavat tiedot:
- Tietokoneen nimi.
- Kirjautumisnimi.
- Onko käyttäjällä yhteys tietokantaan vai ei. (Käyttäjän tunnus säilyy lukitustietokannassa, kunnes edellinen käyttäjä katkaisee yhteyden tai kunnes paikka on otettu käyttöön uutta käyttäjäyhteyttä varten.)
- Tieto siitä, onko käyttäjäyhteys katotettu normaaleissa olosuhteissa.
Näiden tietojen avulla voidaan myös eristää tietokannan vioittumiseen liittyviä ongelmia, jotka liittyvät tietyn käyttäjän toimiin.
Menettely
Varoitus
Jos noudatat tämän esimerkin ohjeita, muokkaat mallitietokannan Northwind.mdb. Haluat ehkä varmuuskopioida Northwind.mdb -tiedoston ja tehdä nämä toimet tietokannan kopiossa.
Voit selvittää, kuka on kirjautunut tietokantaan, toimimalla seuraavasti:
Avaa mallitietokanta Northwind.mdb.
Huomautus Avaa Access 2007:ssä Northwind2007-mallitietokanta, sulje Northwind2007-mallitietokanta ja avaa sitten Northwind2007-mallitietokanta uudelleen.
Valitse Näytä-valikosta Tietokantaobjektit ja valitse sitten Moduulit.
Huomautus Valitse Access 2007:ssä VisualBasicTietokantatyökalut-välilehdenMakro-ryhmästä.
Valitse Uusi.
Huomautus Valitse Access 2007:ssä Moduuli Visual Basic -Kirjoitusavustaja Lisää-valikosta.
Kirjoita tai liitä seuraava koodi:
Huomautus Tämän artikkelin mallikoodi käyttää Microsoft ActiveX Data Objects -objekteja. Jotta tämä koodi toimisi oikein, sinun on viitattava Microsoft ActiveX Data Objects 2.1:een tai uudempaan versiokirjastoon. Voit tehdä tämän valitsemalla Visual Basic -Kirjoitusavustaja Työkalut-valikosta Viittaukset ja varmistamalla, että Microsoft ActiveX Data Objects 2.1 -kirjasto -valintaruutu on valittuna.
Sub ShowUserRosterMultipleUsers() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset 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
Tallenna moduuli ShowUsers-muodossa.
Avaa Välitön ikkuna painamalla CTRL+G.
Kirjoita seuraava rivi Välitön-ikkunaan ja paina ENTER-näppäintä:
ShowUserRosterMultipleUsers
Huomaa , että Välitön-ikkuna palauttaa luettelon tietokannasta kirjautuneista käyttäjistä.
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle