Pode transferir dados de um ficheiro de texto para o Access de duas formas. Se quiser uma cópia dos dados para editar no Access, importe o ficheiro numa tabela nova ou existente ao utilizar o Assistente de Importação de Texto. Se apenas quiser ver os dados de origem mais recentes no Access para efetuar consultas ou criar relatórios mais avançados, crie uma ligação para o ficheiro de texto na sua base de dados ao utilizar o Assistente de Ligação de Texto.
Este artigo explica como importar e ligar a um ficheiro de texto através destes assistentes.
Neste artigo
Sobre os ficheiros de texto e os formatos suportados
Um ficheiro de texto contém carateres legíveis não formatados, como letras e números e carateres especiais, como tabulações, avanços de linha e símbolos de retorno. O Access suporta as seguintes extensões de nome do ficheiro: .txt, .csv, .asc e .tab.
Para utilizar um ficheiro de texto como um ficheiro de origem para importação ou ligação, os conteúdos do ficheiro têm de estar organizados de forma a que os assistentes de importação e ligação consigam dividir os conteúdos em conjuntos de registos (linhas) e cada registo numa coleção de campos (colunas). Os ficheiros de texto que estão devidamente organizados integram-se num de dois tipos:
-
Ficheiros delimitados Num ficheiro delimitado, cada registo é apresentado numa linha separada e os campos são separados por um único caráter, denominado delimitador. O delimitador pode ser qualquer caráter que não seja apresentado nos valores dos campos, como uma tabulação, ponto e vírgula, vírgula, espaço, etc. O seguinte é um exemplo de um texto delimitado por vírgulas.
1,Company A,Anna,Bedecs,Owner 2,Company C,Thomas,Axen,Purchasing Rep 3,Company D,Christina,Lee,Purchasing Mgr. 4,Company E,Martin,O’Donnell,Owner 5,Company F,Francisco,Pérez-Olaeta,Purchasing Mgr. 6,Company G,Ming-Yang,Xie,Owner 7,Company H,Elizabeth,Andersen,Purchasing Rep 8,Company I,Sven,Mortensen,Purchasing Mgr. 9,Company J,Roland,Wacker,Purchasing Mgr. 10,Company K,Peter,Krschne,Purchasing Mgr. 11,Company L,John,Edwards,Purchasing Mgr. 12,Company M,Andre,Ludo,Purchasing Rep 13,Company N,Carlos,Grilo,Purchasing Rep
-
Ficheiros com largura fixa Num ficheiro com largura fixa, cada registo é apresentado numa linha separada e a largura de cada campo mantém-se consistente nos registos. Por exemplo, o primeiro campo de cada registo tem sempre sete carateres de comprimento, o segundo campo de cada registo tem sempre 12 carateres de comprimento e por aí adiante. Se o comprimento real do valor de um campo variar consoante o registo, os valores que não atingirem a largura exigida têm de ser preenchidos com carateres de espaço à direita. O seguinte é um exemplo de texto com largura fixa.
1 Company A Anna Bedecs Owner 2 Company C Thomas Axen Purchasing Rep 3 Company D Christina Lee Purchasing Mgr. 4 Company E Martin O’Donnell Owner 5 Company F Francisco Pérez-Olaeta Purchasing Mgr. 6 Company G Ming-Yang Xie Owner 7 Company H Elizabeth Andersen Purchasing Rep 8 Company I Sven Mortensen Purchasing Mgr. 9 Company J Roland Wacker Purchasing Mgr. 10 Company K Peter Krschne Purchasing Mgr. 11 Company L John Edwards Purchasing Mgr. 12 Company M Andre Ludo Purchasing Rep 13 Company N Carlos Grilo Purchasing Rep
Importar dados a partir de um ficheiro de texto
Se o seu objetivo é armazenar alguns dados ou todos os dados que se encontrem num ficheiro de texto na base de dados do Access, deve importar os conteúdos do ficheiro para uma nova tabela ou acrescentar os dados a uma tabela existente. Pode ver e editar os dados importados e as alterações que realizar aos dados não afetarão o ficheiro de texto de origem.
Durante a operação de importação, pode especificar de que forma é que o ficheiro de origem está organizado e se quer criar uma nova tabela ou acrescentar os dados a uma tabela existente.
Sugestão: Se não estiver familiarizado com as tabelas ou com a estrutura de uma base de dados, consulte os artigos Criar tabelas numa base de dados ou Princípios básicos da estrutura de bases de dados.
No final da operação de importação, pode optar por guardar os detalhes da operação de importação como uma especificação. Uma especificação de importação ajuda-o a repetir a operação mais tarde sem ter de utilizar sempre o Assistente de Importação de Texto.
Cenários comuns de importação de um ficheiro de texto para o Access
Normalmente, importa dados de texto para o Access por estas razões:
-
Alguns dos seus dados encontram-se num formato que não é reconhecido pelo Access e quer utilizar esses dados numa das suas bases de dados. Pode primeiro exportar os dados de origem como um ficheiro de texto e, em seguida, exportar os conteúdos do ficheiro de texto numa tabela do Access.
-
Utiliza o Access para gerir os seus dados, mas recebe regularmente dados em formato de texto por parte de utilizadores que utilizam um programa diferente. Importa os dados regularmente e quer simplificar o processo de importação para poupar tempo e esforço.
Nota: Quando abre um ficheiro de texto no Access (ao alterar a caixa de listagem Ficheiros do Tipo para Todos os Ficheiros na caixa de diálogo Abrir e, em seguida, selecionar o seu ficheiro de texto), este inicia o Assistente de Ligação de Texto, que lhe permite criar uma ligação para o ficheiro de texto em vez de importar os respetivos conteúdos. Ligar a um ficheiro é diferente do que importar os seus conteúdos. Para obter mais informações sobre ligar a ficheiros de texto, consulte a secção Ligar a um ficheiro de texto, mais à frente neste artigo.
Preparar o seu ficheiro de origem
-
Abra o ficheiro de texto de origem num editor de texto, como o Bloco de Notas.
Nota: Pode importar apenas um ficheiro de texto durante uma operação de importação. Para importar múltiplos ficheiros, repita a operação de importação para cada ficheiro.
-
Reveja os conteúdos do ficheiro de texto de origem e proceda de acordo com as descrições nesta tabela.
Elemento
Descrição
Largura delimitada ou fixa
Certifique-se de que o ficheiro segue de forma consistente um dos formatos. Se o ficheiro estiver delimitado, identifique o delimitador. Se o ficheiro tiver campos de largura fixa, certifique-se de que cada campo tem a mesma largura em todos os registos.
Qualificadores de texto
Alguns dos ficheiros delimitados contêm valores de campos que se encontram entre aspas simples ou aspas duplas, tal como é apresentado aqui:
-
"Matilde Cunha",25,5/4/2017,"Lisboa"
-
"João Teixeira",27,2018,"Porto"
O caráter que rodeia o valor do campo é denominado de qualificador de texto. Os qualificadores de texto não são obrigatórios, mas são essenciais se uma das seguintes afirmações for verdadeira:
-
O delimitador de campo aparecer como parte dos valores de campo. Por exemplo, se for utilizada uma vírgula como o delimitador de campo e Lisboa, Porto for um valor de campo válido, terá de introduzir o valor entre qualificadores, desta forma: "Lisboa, Porto"
-
Pretende que o Access trate valores que não sejam de texto, tais como 0452934 e 0034539 como valores de texto e os guarde num campo de texto.
Durante a operação de importação, pode especificar se quer que o ficheiro utilize um qualificador e, em caso afirmativo, especificar o caráter que pretende utilizar.
Certifique-se de que o mesmo qualificador de texto é utilizado no ficheiro e que só os valores de texto se encontram entre qualificadores.
Número de campos
O número de campos de origem não pode exceder os 255, pois o Access não consegue suportar mais de 255 campos numa tabela.
Ignorar registos e valores
Se só estiver interessado numa parte do texto, edite o ficheiro de origem antes de começar a operação de importação. Não pode ignorar registos durante a operação de importação.
Se estiver a adicionar dados a uma nova tabela, pode ignorar determinados campos, no entanto, esta opção não está disponível se estiver a acrescentar os conteúdos a uma tabela existente. Quando acrescenta dados a uma tabela existente, a estrutura dos dados de origem tem de corresponder à estrutura da tabela de destino. Por outras palavras, os dados de origem têm de ter o mesmo número de colunas que a tabela de destino e os tipos de dados dos dados de origem têm de corresponder aos tipos de dados da tabela de destino.
Linhas e campos em branco
Elimine todas as linhas em branco desnecessárias no ficheiro. Se existirem campos em branco, experimente adicionar os dados em falta. Se estiver a pensar em acrescentar os registos a uma tabela existente, certifique-se de que o campo correspondente na tabela aceita valores nulos. Um campo aceitará valores nulos se a respetiva propriedade de campo Obrigatório estiver definida como Não e a definição da propriedade RegraDeValidação não impedir valores nulos.
Carateres estranhos
Reveja e elimine carateres estranhos, tais como tabulações, avanços de linha e símbolos de retorno.
Tipos de dados
Para evitar erros durante a importação, certifique-se de que cada campo de origem contém o mesmo tipo de dados em todas as linhas. O Access analisa as primeiras 25 linhas de um ficheiro para determinar o tipo de dados dos campos na tabela. Recomendamos vivamente que se certifique de que as primeiras 25 linhas não misturam valores de diferentes tipos de dados em qualquer um dos campos. Além disso, deve certificar-se de que os valores que não sejam de texto e que pretende que sejam tratados como valores de texto se encontram entre aspas simples ou aspas duplas.
Se o ficheiro de origem tiver valores misturados nas linhas a seguir à 25.ª, a operação de importação poderá ignorá-los ou convertê-los incorretamente. Para obter informações sobre como resolver o problema, consulte a secção Resolver problemas de valores em falta ou incorretos numa tabela importada, mais à frente neste artigo.
Nomes de campos
Para ficheiros de texto delimitado, se o ficheiro não incluir os nomes dos campos, é prática recomendada colocá-los na primeira linha. Durante a operação de importação, pode especificar se pretende que Access processe os valores na primeira fila como nomes de campos. Quando importa ficheiros de texto de largura fixa, o Access não lhe fornece a opção de utilizar os valores na primeira fila como nomes de campos.
Nota: Quando acrescenta um ficheiro de texto delimitado a uma tabela existente, certifique-se de que o nome de cada coluna corresponde exatamente ao nome do campo correspondente. Se o nome de uma coluna for diferente do nome do campo correspondente na tabela, a operação de importação irá falhar. Para localizar os nomes dos campos, abra a tabela de destino na Vista de Estrutura.
-
-
Feche o ficheiro de origem, se o mesmo estiver aberto. Manter o ficheiro de origem aberto poderá resultar em erros de conversão de dados durante a operação de importação.
Iniciar o processo de importação no Access
-
Abra a base de dados do Access onde serão armazenados os dados importados. Se não quiser guardar os dados em nenhuma das suas bases de dados existentes, crie uma base de dados vazia.
-
Antes de iniciar a operação de importação, decida se pretende armazenar os dados numa tabela nova ou existente.
-
Criar uma nova tabela Se optar por armazenar os dados numa nova tabela, o Access cria uma tabela e adiciona os dados importados à mesma. Se já existir uma tabela com o nome especificado, o Access substitui os conteúdos da mesma pelos dados importados.
-
Acrescentar a uma tabela existente Se estiver a adicionar os dados a uma tabela existente, o processo de importação acrescenta os dados à tabela especificada.
À medida que vai avançando no processo, lembre-se de que a maioria operações de acréscimo falham porque os dados de origem não correspondem às definições de estrutura e campos da tabela de destino. Para evitar esta situação, abra a tabela na Vista de Estrutura e reveja o seguinte:
-
Primeira linha Se a primeira linha do ficheiro de texto de origem não tiver nomes de campo, certifique-se de que a posição e o tipo de dados de cada coluna coincidem com o campo correspondente na tabela. Para ficheiros de texto delimitados, se a primeira linha tiver cabeçalhos de coluna, a ordem das colunas não tem de coincidir, mas o nome e os tipos de dados de cada coluna tem de corresponder exatamente ao tipo de dados do campo correspondente. Quando importa ficheiros de texto de largura fixa, o Access não lhe fornece a opção de utilizar os valores na primeira fila como nomes de campos.
-
Campos em falta ou adicionais Se um ou mais campos não existirem na tabela de destino, adicione-os antes de iniciar a operação de importação. No entanto, se a tabela de destino tiver campos que não existem no ficheiro de origem, não será necessário eliminar esses campos da tabela, desde que aceitem valores nulos.
Sugestão: Um campo aceitará valores nulos se a sua propriedade de campo Obrigatório estiver definida como Não e a definição de propriedade RegraDeValidação não impedir valores nulos.
-
Chave primária Se a tabela tiver um campo de chave primária, o ficheiro de origem tem de conter uma coluna que contenha valores compatíveis com o campo de chave primária. Além disso, os valores da chave importada têm de ser exclusivos. Se um registo importado tiver um valor de chave primária que já exista na tabela de destino, a operação de importação apresenta uma mensagem de erro. Tem de editar os dados de origem para que os mesmos contenham os valores primários exclusivos e, em seguida, pode iniciar novamente a operação de importação.
-
Campos indexados Se a propriedade Indexado de um campo na tabela for definida para Sim(Duplicação Não Autorizada), a coluna correspondente no ficheiro de texto de origem tem de ter valores exclusivos.
-
-
-
A localização do assistente de importação/ligação de texto difere ligeiramente, consoante a sua versão do Access. Selecione os passos que correspondem à sua versão do Access:
-
Se estiver a utilizar a versão mais recente do Access de uma subscrição do Microsoft 365 ou o Access 2019, no separador Dados Externos, no grupo Importar e Ligar, clique em Nova Origem de Dados > A Partir do Ficheiro > Ficheiro de Texto.
-
Se estiver a utilizar Access 2016, no separador Dados Externos , no grupo Importar & Ligação , clique em Ficheiro de Texto.
-
-
O Access abre a caixa de diálogo Obter Dados Externos – Ficheiro de Texto.
-
Na caixa de diálogo Obter Dados Externos – Ficheiro de Texto, na caixa Nome do ficheiro, escreva o nome do ficheiro de origem.
-
Especifique como pretende armazenar os dados importados.
-
Para armazenar os dados numa nova tabela, selecione Importar os dados de origem para uma nova tabela na base de dados atual. Posteriormente, ser-lhe-á pedido para atribuir um nome a esta tabela.
-
Para acrescentar os dados a uma tabela existente, selecione Anexar uma cópia dos registos à tabela e, em seguida, selecione uma tabela na lista pendente.
Nota: Para ligar à origem de dados ao criar uma tabela ligada, consulte a secção Ligar a um ficheiro de texto, mais à frente neste artigo.
-
-
Clique em OK.
O Access analisa os conteúdos do ficheiro e recomenda uma forma de organizar o ficheiro. Se o ficheiro utilizar um delimitador para separar os campos, certifique-se de que a opção Delimitado está selecionada. Se o ficheiro tiver campos de largura fixa, certifique-se de que a opção Largura Fixa está selecionada. Se não tem a certeza se o ficheiro tem campos de largura fixa ou campos delimitados, consulte a secção anterior Preparar o seu ficheiro de origem.
Nota: Se o ficheiro de texto tiver tabulações ou outros carateres especiais, estes são representados no Assistente de Importação de Texto como pequenas caixas entre as colunas de dados.
-
Clique em Seguinte.
As informações que o assistente apresenta dependem se selecionou a opção Delimitado ou Largura Fixa.
Delimitado
Selecione ou especifique o caráter que delimita os valores de campo, seja este uma Tabulação, Ponto e Vírgula, Vírgula, Espaço ou Outro. Se o ficheiro utilizar um qualificador de texto, na caixa Qualificador de Texto, selecione as aspas duplas (") ou as aspas simples ('). Se a primeira linha do ficheiro de origem tiver nomes de ficheiros, selecione a caixa de verificação A Primeira Linha Contém os Nomes dos Campos. Em seguida, clique em Seguinte.
Largura fixa
O assistente apresenta os conteúdos do ficheiro. Se o Access detetar uma estrutura de colunas nos dado, coloca linhas verticais nos dados para separar os campos. Reveja a estrutura sugerida pelo assistente e, caso seja necessário, siga as instruções na página do assistente para adicionar, remover ou ajustar as linhas. Em seguida, clique em Seguinte.
-
Se optar por acrescentar dados, avance para o passo 13. Se estiver a importar dados para uma nova tabela, clique em Seguinte. Nesta altura, deve rever as propriedades dos campos apresentadas no assistente.
Nota: A página do assistente onde pode especificar as informações sobre os campos que está a importar não é apresentada se estiver a acrescentar registos a uma tabela existente.
-
Clique numa coluna na parte inferior da página do assistente para apresentar as respetivas propriedades do campo. Se pretender, reveja e altere o nome e tipo de dados do campo de destino.
O Access revê as primeiras 25 linhas de cada coluna para sugerir o tipo de dados predefinido para o campo correspondente. Se existirem tipos de valores diferentes, como valores de texto e números, nas primeiras 25 linhas de uma coluna, o assistente irá sugerir um tipo de dados compatível com todos ou com a maioria dos valores na coluna – mais frequentemente, o tipo de dados de Texto. Embora possa escolher um tipo de dados diferente, lembre-se de que os valores que são incompatíveis com o tipo de dados que escolher são ignorados ou convertidos de forma incorreta. Para mais informações sobre como corrigir valores em falta ou incorretos, consulte a secção Resolver problemas de valores em falta ou incorretos numa tabela importada, mais à frente neste artigo.
-
Para criar um índice no campo, defina Indexado como Sim. Para ignorar completamente uma coluna de origem, selecione a caixa de verificação Não importar campo (Ignorar). Em seguida, clique em Seguinte.
-
Se os registos estiverem a ser adicionados a uma nova tabela, o assistente pede-lhe para especificar a chave primária para a tabela. Se selecionar Deixar o Access adicionar uma chave primária, o Access adiciona um campo Numeração Automática como o primeiro campo na tabela de destino e preenche-o automaticamente com ID exclusivos, a começar no 1. Clique em Seguinte.
Nota: A página do assistente onde pode especificar as informações sobre os campos que está a importar não é apresentada se estiver a acrescentar registos a uma tabela existente.
-
O Access apresenta a página final do assistente. Se estiver a importar registos para uma nova tabela, especifique um nome para a tabela de destino. Na caixa Importar para a Tabela , escreva um nome para a tabela. Se a tabela já existir, é apresentado uma mensagem a perguntar se pretende substituir o conteúdo existente na tabela. Clique em Sim para continuar, ou em Não para especificar um nome diferente para a tabela de destino.
Para que é utilizado o botão Avançadas?
O botão Avançadas no Assistente de Importação de Texto permite-lhe criar ou abrir uma especificação de importação no formato utilizado pelas versões anteriores do Access. A menos que tenha especificações de importação de versões anteriores do Access, recomendamos que não utilize o botão Avançadas . Em alternativa, se quiser guardar os detalhes da sua operação de importação, pode obter mais informações sobre este procedimento na próxima secção.
-
Clique em Concluir para importar os dados.
O Access tenta importar os dados. Se os dados forem importados, o assistente apresenta uma caixa de diálogo que indica o estado da operação de importação. Por outro lado, se a operação falhar completamente, o Access apresenta a mensagem de erro Ocorreu um erro ao tentar importar o ficheiro.
-
Abra a tabela de destino na vista Folha de Dados. Compare os dados na tabela com o ficheiro de origem e certifique-se de que os mesmos estão corretos.
Que mais informações devo saber sobre a importação?
-
Para obter informações sobre como guardar os detalhes da sua importação numa especificação para voltar a utilizá-la, consulte o artigo Guardar os detalhes de uma operação de importação ou de exportação como uma especificação.
-
Para obter informações sobre como executar especificações de importação guardadas, consulte o artigo uma operação de importação ou exportação guardada.
-
Para obter informações sobre como agendar especificações para que sejam executadas a horas específicas, consulte o artigo Agendar uma operação de importação ou exportação.
-
Para obter informações sobre como alterar o nome de uma especificação, eliminar especificações ou atualizar os nomes dos ficheiros de origem em especificações, consulte o artigo Gerir Tarefas de Dados.
Resolver problemas de valores em falta ou incorretos numa tabela importada
Se for apresentada a mensagem Ocorreu um erro ao tentar importar o ficheiro, significa que a operação de importação falhou completamente. Por outro lado, se a operação de importação apresentar uma página a pedir para guardar os detalhes da operação, significa que a operação conseguiu importar alguns ou todos os dados. A mensagem de estado também menciona o nome da tabela de registo de erros que contém a descrição de quaisquer erros que tenham ocorrido durante a operação de importação.
É importante ter em atenção que, mesmo que a mensagem de estado indique que a operação foi concluída com êxito, deverá rever o conteúdo e a estrutura da tabela para garantir que os dados estão corretos antes de começar a utilizar a tabela.
Abra a tabela de destino na Vista de Folha de Dados para ver se todos os dados foram adicionados à tabela. Deve abrir a tabela na Vista de Estrutura para rever o tipo de dados e outras definições de propriedades dos campos.
A tabela seguinte descreve os passos que pode executar para corrigir valores em falta ou incorretos.
Sugestão: Enquanto estiver a resolver problemas, se encontrar apenas alguns valores em falta, poderá adicioná-los diretamente à tabela na vista Folha de Dados. Por outro lado, se detetar que colunas inteiras ou uma grande quantidade de valores estão em falta ou não foram importados corretamente, deve corrigir o problema no ficheiro de origem. Quando considerar que corrigiu todos os problemas conhecidos, repita a operação de importação.
Problema |
Resolução |
---|---|
Valores -1 ou 0 |
Se o ficheiro de origem incluir um campo que tenha apenas os valores Verdadeiro ou Falso ou apenas os valores Sim ou Não, e selecionar Sim/Não como tipo de dados para o campo, verá -1 e 0 na tabela. Abra a tabela na vista Estrutura e defina a propriedade Formato para Verdadeiro/Falso ou Sim/Não. |
Campos de valores múltiplos |
O Access não suporta a importação de vários valores num campo. A lista de valores é tratada como um valor isolado e colocada num campo de texto, separada por ponto e vírgula. |
Dados truncados |
Se os dados forem apresentados truncados numa coluna, experimente aumentar a largura da coluna na Vista de Folha de Dados. Se aumentar a largura não resolver o problema, a origem do mesmo poderá estar no tipo de dados de um campo numérico estar definido como Número Inteiro Longo, quando deveria estar definido como Duplo. |
Falta de dados na chave primária ou nos campos indexados |
Os registos que está a importar contêm valores duplicados que não podem ser armazenados no campo chave primária da tabela de destino ou num campo que tenha a propriedade Indexado definida como Sim (Duplicação Não Autorizada) na base de dados do Access. Elimine os valores duplicados no ficheiro de origem e experimente importar novamente. |
Valores nulos |
Quando abre a tabela na vista Folha de Dados, pode descobrir que alguns campos estão em branco. Efetue o seguinte para minimizar ou eliminar quaisquer instâncias de valores nulos na tabela:
|
Para além disso, poderá rever a tabela de registo de erros a partir da última página do assistente na vista Folha de Dados. A tabela tem três campos: Erro, Campo e Linha. Cada linha contém informações acerca de um erro específico e os conteúdos do campo Erro deverão ajudá-lo a resolver o problema.
Lista completa de cadeias de erros e sugestões de resolução de problemas
Erro |
Descrição |
---|---|
Truncamento do Campo |
Um valor no ficheiro é demasiado grande para a definição da propriedade Tamanho do Campo para este campo. |
Falha na Conversão de Tipo |
Um valor no ficheiro de texto ou na folha de cálculo tem o tipo de dados errado para este campo. O valor poderá estar em falta ou aparecer incorreto no campo de destino. Consulte as entradas da tabela anterior para obter mais informações sobre como resolver este problema. |
Violação de Chave |
O valor de chave primária deste registo é um duplicado, ou seja, já existe na tabela. |
Falha na Regra de Validação |
Um valor infringe a regra definida pela utilização da propriedade RegraDeValidação para este campo ou para a tabela. |
Valor Nulo no Campo Obrigatário |
Não é permitido um valor nulo neste campo porque a propriedade Obrigatório do mesmo está definida como Sim. |
Valor Nulo no campo Numeração Automática |
Os dados que está a importar contêm um valor nulo que tentou acrescentar a um campo Numeração Automática. |
Registo Não Analisável |
Um valor de texto contém o caráter delimitador de texto (normalmente, aspas duplas). Sempre que um valor contiver o caráter delimitador, este terá de ser repetido duas vezes no ficheiro de texto; por exemplo: 10 – discos/caixas de 3,5"" |
Ligar a um ficheiro de texto
Pode utilizar a ligação para se ligar a dados noutro ficheiro sem ter de o importar – desta forma, pode ver os dados mais recentes tanto no programa original como no ficheiro do Access sem ter de criar e manter uma cópia no Access. Se não quiser copiar os conteúdos do ficheiro de texto para a base de dados do Access, mas quiser executar consultas e gerar relatórios com base nos seus dados, deve ligar ao ficheiro de texto em vez de o importar.
Quando liga a um ficheiro de texto, o Access cria uma nova tabela que está ligada ao ficheiro de origem. Quaisquer alterações que efetue ao ficheiro de origem refletem-se na tabela ligada. No entanto, não poderá editar os conteúdos da tabela correspondente no Access. Se quiser efetuar alterações aos conteúdos da estrutura dos dados, deve abrir o ficheiro de origem e efetuar as alterações no mesmo.
Cenários comuns de ligação a um ficheiro de texto a partir do Access
-
Utiliza um programa que cria dados no formato de texto, mas pretende utilizar os dados para uma análise mais aprofundada e para criar relatórios através de múltiplas aplicações, entre elas o Access.
-
Os dados com os quais quer trabalhar são mantidos num departamento ou grupo de trabalho diferente. Quer ver os dados mais recentes, mas não quer editar ou manter uma cópia própria.
Se for a primeira vez que está a ligar a um ficheiro de texto
-
Quando liga a um ficheiro de texto, o Access cria uma nova tabela, geralmente denominada tabela ligada. A tabela ligada mostra os dados do ficheiro de origem, mas não os armazena na base de dados.
-
Não é possível ligar um ficheiro de texto a uma tabela existente na base de dados. Por outras palavras, não pode acrescentar dados a uma tabela existente através de uma operação de ligação.
-
Uma base de dados pode conter várias tabelas ligadas.
-
Quaisquer alterações efetuadas ao ficheiro de origem refletem-se automaticamente na tabela ligada. No entanto, o conteúdo e estrutura de uma tabela ligada no Access são só de leitura.
-
Quando abre um ficheiro de texto no Access, este cria uma base de dados em branco e inicia automaticamente o Assistente de Ligação de Texto.
Passos para ligar a um ficheiro de texto
-
Localize o ficheiro e abra-o num programa de processamento de texto, como o Word ou o Bloco de Notas.
Tenha em atenção que só pode ligar um ficheiro de texto durante a operação de ligação. Para ligar múltiplos ficheiros, tem de repetir a operação de ligação para cada ficheiro.
-
Reveja os conteúdos do ficheiro de origem e proceda de acordo com as descrições na tabela seguinte:
Elemento
Descrição
Largura delimitada ou fixa
Certifique-se de que o ficheiro segue de forma consistente um dos formatos. Se o ficheiro estiver delimitado, identifique o caráter delimitador. Se o ficheiro tiver campos de largura fixa, certifique-se de que cada campo tem a mesma largura em todos os registos.
Qualificadores de texto
Alguns dos ficheiros delimitados contêm valores de campos que se encontram entre aspas simples ou aspas duplas, tal como é apresentado aqui:
"Matilde Cunha",25,5/4/2017,"Lisboa"
"João Teixeira",27,2018,"Porto"
O caráter que rodeia o valor do campo é denominado de qualificador de texto. Os qualificadores de texto não são obrigatórios, mas são essenciais se:
-
O delimitador de campo aparecer como parte dos valores de campo. Por exemplo, se for utilizada uma vírgula como o delimitador de campo e Lisboa, Porto for um valor de campo válido, terá de introduzir o valor entre qualificadores, desta forma: "Lisboa, Porto"
-
Pretender que o Access trate valores que não sejam de texto, tais como 0452934 e 0034539 como valores de texto e os guarde num campo de texto.
Durante a operação de ligação, pode especificar se quer que o ficheiro utilize um qualificador e, em caso afirmativo, especificar o caráter que pretende utilizar.
Certifique-se de que o mesmo qualificador de texto é utilizado no ficheiro e que só os valores de texto se encontram entre os qualificadores.
Número de campos
O número de campos de origem não pode exceder os 255, pois o Access não consegue suportar mais de 255 campos numa tabela.
Ignorar registos e campos
Pode ignorar determinados campos, mas não pode ignorar registos.
Linhas e campos em branco
Elimine todos as linhas em branco desnecessárias no ficheiro. Se existirem campos em branco, experimente adicionar os dados em falta no ficheiro de origem.
Carateres estranhos
Reveja e elimine carateres estranhos, tais como tabulações, avanços de linha e símbolos de retorno.
Tipos de dados
Para evitar erros durante a ligação, certifique-se de que cada campo de origem contém o mesmo tipo de dados em todas as linhas. O Access analisa as primeiras 25 linhas de um ficheiro para determinar o tipo de dados dos campos na tabela. Recomendamos vivamente que se certifique de que as primeiras 25 linhas não misturam valores de diferentes tipos de dados em qualquer um dos campos. Também deve certificar-se de que todos os valores que não sejam de texto e que pretende que sejam tratados como valores de texto se encontram entre aspas simples ou aspas duplas.
Se o ficheiro de origem tiver valores misturados nas linhas a seguir à 25.ª, a operação de importação poderá apresentar um erro ou converter os dados incorretamente. Para obter mais informações sobre a resolução de problemas, consulte a secção Resolver valores #Núm! e valores incorretos numa tabela ligada, mais à frente neste artigo.
Nomes de campos
Para ficheiros de texto delimitado, se o ficheiro não incluir os nomes dos campos, é uma prática recomendada colocá-los na primeira linha. Durante a operação de ligação, pode especificar se pretende que Access trate os valores na primeira fila como nomes de campos. No entanto, quando importa ficheiros de texto com largura fixa, não existe a opção de tratar os valores na primeira linha como nomes de campos.
-
-
Feche o ficheiro de origem, se o mesmo estiver aberto.
-
Abra a base de dados na qual pretende criar a ligação. Certifique-se de que a base de dados não é só de leitura e de que tem as permissões necessárias para efetuar alterações na mesma.
Se não quiser guardar a ligação em nenhuma das bases de dados existentes, crie uma base de dados em branco.
-
A localização do assistente de importação/ligação de texto difere ligeiramente, consoante a sua versão do Access. Selecione os passos que correspondem à sua versão do Access:
-
Se estiver a utilizar a versão mais recente do Access de uma subscrição do Microsoft 365 ou o Access 2019, no separador Dados Externos, no grupo Importar e Ligar, clique em Nova Origem de Dados > A Partir do Ficheiro > Ficheiro de Texto.
-
Se estiver a utilizar Access 2016, no separador Dados Externos , no grupo Importar & Ligação , clique em Ficheiro de Texto.
-
-
O Access abre a caixa de diálogo Obter Dados Externos – Ficheiro de Texto.
-
Na caixa de diálogo Obter Dados Externos – Ficheiro de Texto, na caixa Nome do ficheiro, especifique o nome do ficheiro de texto que contém os dados que pretende ligar.
-
Selecione Ligar à origem de dados criando uma tabela ligada e clique em OK.
O Assistente de Ligação de Texto é iniciado. O assistente guia-o ao longo do processo de ligação.
-
O Access analisa os conteúdos do ficheiro e sugere como organizar o ficheiro. Se o ficheiro utilizar um caráter delimitador para separar os campos, certifique-se de que a opção Delimitado está selecionada. Se o ficheiro tiver campos de largura fixa, certifique-se de que a opção Largura Fixa está selecionada.
-
Clique em Seguinte.
-
A página seguinte do assistente que é apresentada depende se selecionou a opção Delimitado ou Largura Fixa.
Ficheiros delimitados Selecione ou especifique o caráter que delimita os valores de campo. Se o ficheiro utilizar um qualificador de texto, na caixa Qualificador de Texto, selecione " ou '. Se a primeira linha do ficheiro de origem tiver nomes de ficheiros, selecione a caixa de verificação A Primeira Linha Contém os Nomes dos Campos. Em seguida, clique em Seguinte.
Ficheiros com largura fixa O assistente apresenta os conteúdos do ficheiro. Se o Access detetar uma estrutura de colunas nos dado, coloca linhas verticais nos dados para separar os campos. Reveja a estrutura sugerida pelo assistente e, caso seja necessário, siga as instruções na página do assistente para adicionar, remover ou ajustar as linhas. Em seguida, clique em Seguinte.
-
Na página seguinte do assistente, o Access apresenta as propriedades dos campos. Clique numa coluna na parte inferior da página do assistente para apresentar as respetivas propriedades do campo. Se pretender, reveja e altere o nome e tipo de dados dos campos de destino.
O Access revê as primeiras 25 linhas de cada coluna para sugerir o tipo de dados padrão para o campo correspondente. Se existirem tipos de valores diferentes, como valores de texto e números, nas primeiras 25 linhas de uma coluna, o assistente sugere um tipo de dados compatível com todos ou com a maioria dos valores na coluna. Na maioria dos casos, esse tipo de dado é de texto. Embora possa escolher um tipo de dados diferente, lembre-se de que os valores que são incompatíveis com o tipo de dados que escolheu resultam em valores de erro ou convertidos de forma incorreta. Para mais informações, consulte a próxima secção Resolver valores #Núm! e valores incorretos numa tabela ligada.
Para que é utilizado o botão Avançadas?
O botão Avançadas no Assistente de Importação de Texto permite-lhe criar ou abrir uma especificação de ligação no formato utilizado pelas versões anteriores do Access. O Access não fornece uma forma de guardar uma especificação de ligação, como acontece nas operações de importação e exportação. De forma a poder guardar os detalhes da especificação de ligação, clique no botão Avançadas, defina as opções que pretende e, em seguida, clique em Guardar Como.
-
Clique em Seguinte.
-
Na página final do assistente, especifique um nome para a tabela ligada e clique em Concluir. Se já existir uma tabela com esse nome, o Access pergunta se pretende substituir a tabela existente. Clique em Sim se pretender substituir a tabela ou clique em Não para especificar um nome de tabela diferente.
O Access tenta criar a tabela ligada. Se a tabela for criada com êxito, o Access apresenta a mensagem Foi concluída a ligação da tabela…. Abra a tabela ligada e reveja os campos e dados para se certificar de que os dados estão corretos em todos os campos.
Resolver valores #Núm! e valores incorretos numa tabela ligada
Mesmo que veja a mensagem Foi concluída a ligação da tabela, deve abrir a tabela na vista Folha de Dados para verificar se todas as linhas e colunas mostram os dados corretos.
Se detetar erros ou dados incorretos na tabela, proceda de acordo com a ação de correção descrita na tabela seguinte e tente ligar novamente. Lembre-se de que não conseguirá adicionar os valores diretamente na tabela ligada, porque a mesma é só de leitura.
Problema |
Resolução |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Valores -1 ou 0 |
Se o ficheiro de origem incluir um campo que tenha apenas os valores Verdadeiro ou Falso ou apenas os valores Sim ou Não, e selecionar Sim/Não como tipo de dados para o campo, verá -1 ou 0 na tabela. Abra a tabela na Vista de Estrutura e defina a propriedade Formato para Verdadeiro/Falso ou Sim/Não. |
||||||||||||
Campos de valores múltiplos |
Quando liga dados, o Access permite o suporte de vários valores num campo. A lista de valores é tratada como um valor isolado e colocada num campo de texto, separada por ponto e vírgula. |
||||||||||||
Dados truncados |
Se os dados forem apresentados truncados numa coluna, experimente aumentar a largura da coluna na Vista de Folha de Dados. Se aumentar a largura não resolver o problema, a origem do mesmo poderá estar no tipo de dados de um campo numérico estar definido como Número Inteiro Longo, quando deveria estar definido como Duplo. |
||||||||||||
#Núm! |
Quando abre a tabela na vista Folha de Dados, poderá notar que alguns campos contêm #Núm! em vez do número real. Siga o seguinte procedimento para minimizar ou eliminar quaisquer instâncias de valores nulos no ficheiro de origem:
A seguinte tabela apresenta casos onde ainda vê o erro #Núm! em campos:
|