Sintomas
Numa base de dados do Microsoft Access 2010, quando executou o macro ImportExportText ou um macro que importa, exporta ou liga um ficheiro de texto utilizando um Nome de Especificação guardado e o macro foi criado ou modificado no Access 2010, recebe o seguinte erro quando tenta executar a macro:
"A especificação do ficheiro de texto '<x>' não existe. Não é possível importar, exportar ou ligar usando a especificação."Note que o valor de '<x>' corresponde ao número de índice da especificação na lista de Especificações para a base de dados.
Causa
Este é um problema conhecido no Microsoft Access 2010.
Resolução
Aplicar a atualização cumulativa de junho de 2011 para o Microsoft Access 2010:http://support.microsoft.com/kb/2544022Importante notar: Se modificar a macro que contém a ação TransferText no Access 2010 antes de aplicar a atualização cumulativa de junho de 2011, ainda receberá a mensagem de erro que executa a macro depois de aplicar a atualização. Se abrir o seu macro na vista de design, verá que a especificação de texto mudou para o número do índice de especificação ('x'). Para corrigir o problema, deve reseleler o nome de especificação de texto adequado no Access 2010 e guardar o macro.Soluções alternativas:Este problema pode ser resolvido utilizando um dos métodos descritos abaixo.Método 1: Criar/editar macros numa versão anterior do Access.
-
Abra a base de dados no Microsoft Access 2007.
-
Selecione o nome de especificação pretendido na secção de ação TransferText do macro.
-
Salve e feche a macro.
-
Abra a base de dados no Microsoft Access 2010 e execute a macro.
Método 2: Utilize a ação TransferText em Base Visual para Aplicações, em vez de um macro. Pode executar a mesma ação macro utilizando o código VBA. Por exemplo: DoCmd.TransferText acImportDelim,"MyImportSpec","Table1","C:\FileName.txt"Para mais informações sobre a utilização do TransferText consulte o seguinte artigo:DoCmd.TransferText Method (Access)http://msdn.microsoft.com/en-us/library/ff835958.aspxMétodo 3: Mude a especificação de modo a que corresponda à sua posição na lista de especificações. Para guardar uma especificação existente com um novo nome (essencialmente renomeando a especificação) siga estes passos:Na base de dados, inicie uma nova importação de ficheiros de texto selecionando o separador Dados Externos e no grupo De ligação & importação, clique em Ficheiro de Texto.
-
Selecione qualquer ficheiro de texto para importar, clique ok
-
Clique em Avançado
-
Clique em Especificações
-
Selecione a especificação existente, clique em Abrir
-
Clique em Guardar As e nomeie-o com o número de índice correspondente (na lista de especificações a primeira é "1", a segunda é "2", etc.)
-
Clique em Especificações
-
Selecione o nome de especificação antiga e clique em Eliminar
-
Agora a especificação antiga é nomeada com o número de índice
-
Cancelar das janelas de assistentes de importação
-
Abra a sua macro na vista de design
-
Dentro da caixa de combinação para o nome de especificação, selecione o novo nome de especificação
Mais Informações
As macros criadas em versões anteriores do Access serão executadas corretamente no Access 2010 até serem editadas no Microsoft Access 2010.