Você pode receber um "E não uma senha válida" mensagem de erro quando você tenta abrir um banco de dados do Access protegido por senha

O suporte para o Office 2003 terminou

A Microsoft terminou o suporte para o Office 2003 em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

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: 838593
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.
Sintomas
Quando você definir uma senha de banco de dados para um Microsoft Access banco de dados e, em seguida, tentar abrir o banco de dados do Access, você não conseguirá abrir com êxito o banco de dados do Access. Você receberá a seguinte mensagem de erro:
Não é uma senha válida.
Esse problema pode ocorrer mesmo quando você tiver certeza se você digitou a senha de banco de dados correto.
Causa
Esse problema ocorre quando a senha de banco de dados termina com um caractere de barra invertida (\).
Como Contornar
Você pode evitar esse problema quando você cria o Access primeiro banco de dados. Você deve certificar-se que a senha de banco de dados do Access banco de dados não termina com um caractere de barra invertida (\). No entanto, se você já definiu a senha de banco de dados para seu banco de dados do Access e a senha de banco de dados termina com um caractere de barra invertida (\), você não pode abrir do Access banco de dados. Para recuperar seu banco de dados Access, importe os objetos de banco de dados de seu banco de dados do Access para um banco de dados recém-criado do Access. Para fazer isso, siga estas etapas.

Observação O exemplo de código neste artigo utiliza Microsoft Data Access objetos. Para que este código seja executado corretamente, você deve fazer referência a Microsoft DAO 3.6 Object Library. Para fazer isso, clique em referências no menu Ferramentas no Editor do Visual Basic e veja que a caixa de seleção Microsoft DAO 3.6 Object Library está selecionada.

Você também deve certificar-se que nenhuma referência ao Microsoft ActiveX Data Objects está selecionada na referências caixa de diálogo.
  1. Inicie o Access.
  2. Crie um novo banco de dados Access é chamado RecoveredDB.mdb.
  3. Na janela banco de dados, clique em módulos e em seguida, clique em novo .
  4. Digite ou cole o seguinte código de exemplo na janela do módulo:
    Option Compare DatabaseOption ExplicitPublic Function ImportDb(strPath As String) As BooleanOn Error Resume NextDim db As Database 'Database to import.Dim td As TableDef 'Table definitions in the database.Dim strTDef As String 'Name of the table or the query to import.Dim qd As QueryDef 'Query definitions in the database.Dim doc As Document 'Documents in the database.Dim strCntName As String 'Document container name.Dim x As Integer 'For looping.Dim cntContainer As Container 'Containers in the database.Dim strDocName As String 'Name of the document.Dim intConst As IntegerDim cdb As Database 'Current database.Dim rel As Relation 'Relation to copy.Dim nrel As Relation 'Relation to create.Dim strRName As String 'Copied relation's name.Dim strTName As String 'Relation table name.Dim strFTName As String 'Relation foreign table name.Dim varAtt As Variant 'Attributes of the relation.Dim fld As Field 'Field(s) in the relation to copy.Dim strFName As String 'Name of the field to append.Dim strFFName As String 'Foreign name of the field to append.'Open the database that contains objects to import.Set db = DBEngine.Workspaces(0).OpenDatabase(strPath, False, False, "MS Access;PWD=<Your database password>")'Import tables from the specified Access database.For Each td In db.TableDefsstrTDef = td.NameIf Left(strTDef, 4) <> "MSys" ThenDoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acTable, _strTDef, strTDef, FalseEnd IfNext'Import queries.For Each qd In db.QueryDefsstrTDef = qd.NameDoCmd.TransferDatabase acImport, "Microsoft Access", strPath, acQuery, _strTDef, strTDef, FalseNext'Copy relationships to the current database.Set cdb = CurrentDbFor Each rel In db.RelationsWith rel'Get the properties of the relation to copy.strRName = .NamestrTName = .TablestrFTName = .ForeignTablevarAtt = .Attributes'Create a relation in the current database with the same properties.Set nrel = cdb.CreateRelation(strRName, strTName, strFTName, varAtt)For Each fld In .FieldsstrFName = fld.NamestrFFName = fld.ForeignNamenrel.Fields.Append nrel.CreateField(strFName)nrel.Fields(strFName).ForeignName = strFFNameNextcdb.Relations.Append nrelEnd WithNext'Loop through the containers and import all documents.For x = 1 To 4Select Case xCase 1strCntName = "Forms"intConst = acFormCase 2strCntName = "Reports"intConst = acReportCase 3strCntName = "Scripts"intConst = acMacroCase 4strCntName = "Modules"intConst = acModuleEnd SelectSet cntContainer = db.Containers(strCntName)For Each doc In cntContainer.DocumentsstrDocName = doc.NameDoCmd.TransferDatabase acImport, "Microsoft Access", strPath, intConst, _strDocName, strDocName'Debug.Print strDocName'for debugging will list document names in the Debug window.Next docNext x'Clean up variables to recover memory.Set fld = NothingSet nrel = NothingSet rel = NothingSet cdb = NothingSet td = NothingSet qd = NothingSet cntContainer = Nothingdb.CloseSet db = Nothingmsgbox "The database has been imported successfully."ImportDb = TrueEnd Function	
    Observação antes de você executa esse código de exemplo, substituir <Your database password> no código de exemplo com a senha que você definiu para seu banco de dados do Access.
  5. No menu Exibir , clique em janela imediata .
  6. Na janela Immediate, digite a seguinte linha de comando e pressione ENTER:
    ? ImportDb ("<Full path of your Access database>")
    Depois que o código de exemplo for executado com êxito, você pode usar o banco de dados Access novo chamado RecoveredDB.mdb em vez de seu banco de dados antigo do Access.
Mais Informações

Etapas para reproduzir o problema

  1. Inicie o Access.
  2. Crie um novo banco de dados Access é chamado TestDB.mdb.
  3. No menu Ferramentas , aponte para segurança e, em seguida, clique em Definir senha do banco de dados .
  4. Na caixa de diálogo Definir senha de banco de dados , digite password\ na caixa senha e na caixa Confirmar .
  5. Clique em OK .
  6. Feche o banco de dados Access novo chamado TestDB.mdb.
  7. Abra o banco de dados Access novo que é denominado TestDB.mdb.
  8. Na caixa de diálogo senha necessária , digite password\ na caixa Inserir senha de banco de dados e, em seguida, clique em OK .

    Você receber a mensagem de erro mencionada na seção "Sintomas", mesmo quando a senha de banco de dados é inserida corretamente.
Situação
A Microsoft confirmou que este é um bug no Microsoft produtos que estão listados na seção "Aplica-se a".
Referências
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
209953 Como usar o método OpenDatabase para abrir bancos de dados protegido por senha
162979"Não uma senha válida" erro quando a senha do banco de dados contém "\"
ACC2000 ACC2002 ACC2003 DB PWD

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 838593 - Última Revisão: 12/08/2015 06:37:51 - Revisão: 3.3

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Access 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbvba kbprogramming kbdao kbdatabase kberrmsg kbprb KB838593 KbMtpt
Comentários