Você receberá a mensagem de erro "Erro de tempo de execução 2593" quando você definir ou recuperar a propriedade Recordset de um relatório em um banco de dados do Access

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: 287437
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Moderado: Requer básica de macro, codificação e interoperabilidade habilidades.

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

Sintomas
Quando você definir ou recuperar a propriedade Recordset de um relatório de um banco de dados do Microsoft Access (.mdb), você receber a seguinte mensagem de erro:
Erro em tempo de execução '2593':

Este recurso não está disponível em um MDB.
Causa
Relatórios em um banco de dados Microsoft Access não suportam o uso da propriedade Recordset .
Resolução
Você pode simular a ligação de um relatório a um objeto de conjunto de registros DAO, definindo a propriedade OrigemDoRegistro para o nome de uma tabela, uma consulta ou uma instrução SQL SELECT. Se você desejar usar a mesma fonte para o relatório como um conjunto de registros DAO que você tenha aberto, defina a propriedade OrigemDoRegistro do relatório como a propriedade Name do conjunto de registros DAO. O exemplo a seguir mostra como abrir um conjunto de registros DAO baseado em uma consulta e como definir a propriedade OrigemDoRegistro do relatório para a mesma fonte como a fonte de conjunto de registros.

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.
  1. cuidado : se você seguir as etapas neste exemplo, você modificar o banco de dados de exemplo Northwind.mdb. Convém fazer o backup do arquivo Northwind.mdb e seguir essas etapas numa cópia do banco de dados.

  2. Abra o banco de dados de exemplo Northwind.mdb.
  3. Feche o formulário menu de controle principal quando ela aparecer.
  4. No menu Exibir , aponte para Objetos de banco de dados e, em seguida, clique em relatórios .
  5. Na janela banco de dados, clique no relatório Lista alfabética de produtos e, em seguida, clique em Design .
  6. No menu Exibir , clique em Propriedades para exibir a folha de propriedades.
  7. No menu Editar , clique em Selecionar relatório para verificar se a folha que está sendo exibida é aquele para o relatório.
  8. Clique na guia dados e, em seguida, limpe a propriedade RecordSource .
  9. No menu Exibir , clique em código para exibir o módulo do formulário.
  10. Adicione o seguinte código para o módulo:
    Private Sub Report_Open(Cancel As Integer)    Dim db As DAO.Database    Dim rs As DAO.Recordset        Set db = CurrentDb        'Open a DAO recordset based on the Alphabetical List of Products query    Set rs = db.OpenRecordset("Alphabetical List of Products", dbOpenDynaset)    Me.RecordSource = rs.NameEnd Sub					
  11. No menu arquivo , clique em Fechar e voltar para o Microsoft Access .
  12. No menu arquivo , clique em Salvar e, em seguida, feche o relatório.
  13. Abra o relatório lista alfabética de produtos no modo de visualização de impressão.
Observe que o relatório está vinculado a dados da consulta lista alfabética de produtos, que foi a origem do objeto de conjunto de registros DAO.
Situação
A Microsoft confirmou que este é um problema no Microsoft Access.
Mais Informações
O tópico da Ajuda para a propriedade Recordset afirma que esta propriedade se aplica a relatórios. Isso só será true se o relatório está em um projeto Microsoft Access (arquivo .adp), e você estiver vinculando o relatório a um conjunto de registros ADO ou recuperar um conjunto de registros ADO do relatório. A propriedade Recordset não se aplica a relatórios em um banco de dados do Microsoft Access (arquivo.mdb).

Passos para reproduzir o problema

  1. cuidado : se você seguir as etapas neste exemplo, você modificar o banco de dados de exemplo Northwind.mdb. Convém fazer o backup do arquivo Northwind.mdb e seguir essas etapas numa cópia do banco de dados.

  2. Abra o banco de dados de exemplo Northwind.mdb.
  3. Feche o formulário menu de controle principal quando ela aparecer.
  4. No menu Exibir , aponte para Objetos de banco de dados e, em seguida, clique em relatórios .
  5. Na janela banco de dados, clique no relatório Lista alfabética de produtos e, em seguida, clique em Design .
  6. No menu Exibir , clique em Propriedades para exibir a folha de propriedades.
  7. No menu Editar , clique em Selecionar relatório para verificar se a folha que está sendo exibida é aquele para o relatório.
  8. Clique na guia dados e, em seguida, limpe a propriedade RecordSource .
  9. No menu Exibir , clique em código para exibir o módulo do formulário.
  10. Adicione o seguinte código para o módulo:
    Private Sub Report_Open(Cancel As Integer)    Dim db As DAO.Database    Dim rs As DAO.Recordset        Set db = CurrentDb    Set rs = db.OpenRecordset("Alphabetical List of Products", dbOpenDynaset)    Set Me.Recordset = rsEnd Sub					
  11. No menu arquivo , clique em Fechar e voltar para o Microsoft Access .
  12. No menu arquivo , clique em Salvar e, em seguida, feche o relatório.
  13. Abra o relatório lista alfabética de produtos no modo de visualização de impressão. Observe que você recebe a seguinte mensagem de erro:
    Erro em tempo de execução '2593':

    Este recurso não está disponível em um MDB.
pra mdb de relatório de conjunto de registros

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 287437 - Última Revisão: 12/06/2015 00:16:51 - Revisão: 4.2

Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003

  • kbnosurvey kbarchive kbmt kbbug kberrmsg kbnofix KB287437 KbMtpt
Comentários