ID do artigo: 198755 - Última revisão: quinta-feira, 23 de junho de 2005 - Revisão: 4.0

Como determinar quem tenha feito logon um banco de dados usando o Microsoft Jet UserRoster no Access 2000

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

Usando o Microsoft Visual Basic for Applications no Microsoft Access 2000, você pode dar saída a uma lista de usuários que fizeram logon em um banco de dados. O exemplo de código neste artigo mostram como fazer isso.

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. O recurso de lista de usuário fornece uma maneira de determinar quem está conectado no momento a um banco de dados Microsoft Jet. A lista pode ser obtida por meio da interface de programação ADO e retorna as seguintes informações para cada usuário:
  • Nome do computador que o usuário está usando.
  • Nome de segurança, ou seja, a identificação do usuário.
  • Se o usuário é conectado no momento para o banco de dados. (ID do usuário permanece no banco de dados bloqueio até que o último usuário se desconecta ou até que o slot é recuperado para uma nova conexão de usuário.)
  • Se a conexão de usuário foi encerrada normalmente.
  • A capacidade da lista usuário pode ser usada em conjunto com o recurso de controle de conexão para determinar quais usuários ainda estão conectados, para que eles podem ser solicitados a se desconectar.
A capacidade da lista usuário também é útil para isolar problemas de corrupção de banco de dados que está associado com as atividades de um usuário específico.

Exemplo de código

Para demonstrar o exemplo de código, execute estas etapas:

Observação : O exemplo códigos este artigo utiliza Microsoft ActiveX Data Objects. Para que este código seja executado corretamente, você deve fazer referência a 2.x Microsoft ActiveX Data Objects Library (onde 2.x é 2.1 ou posterior.) Para fazer isso, clique em referências no menu Ferramentas no Editor do Visual Basic e veja que a caixa de seleção 2.x Microsoft ActiveX Data Objects Library está selecionada.

  1. Copie o banco de dados de exemplo Northwind a pasta C:\.
  2. No Microsoft Access, abra C:\Northwind.
  3. Na janela banco de dados, clique em módulos em objetos e, em seguida, clique em novo .
  4. Salve o módulo como ShowUsers.
  5. Digite o seguinte código no novo módulo ShowUsers:
    Sub ShowUserRosterMultipleUsers()
        Dim cn As New ADODB.Connection
        Dim cn2 As New ADODB.Connection
        Dim rs As New ADODB.Recordset
        Dim i, j As Long
    
        cn.Provider = "Microsoft.Jet.OLEDB.4.0"
        cn.Open "Data Source=c:\Northwind.mdb"
    
        cn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "Data Source=c:\Northwind.mdb"
    
        ' The user roster is exposed as a provider-specific schema rowset
        ' in the Jet 4 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
    					
  6. Feche o banco de dados Northwind e quando solicitado, salve as alterações para ShutDownDB (isso deve ser feito para liberar um bloqueio exclusivo no banco de dados devido ao código que você acabou de adicionar).
  7. Reabra C:\Northwind.
  8. Pressione CTRL+G para abrir a janela imediata no Editor do Visual Basic.
  9. Digite o seguinte na janela Verificação imediata e pressione ENTER:
    ShowUserRosterMultipleUsers
    					
    Observe que na imediata janela retorna uma lista de usuários no banco de dados.

A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbprogramming kbvba kbado kbinfo kbhowtomaster KB198755 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 198755  (http://support.microsoft.com/kb/198755/en-us/ )