Pergunta

Existe alguma maneira de mudar o tipo de dados padrão ao importar um arquivo do Excel para o Access? (Estou usando o Access 2003, por sinal).

Eu sei que às vezes tenho a liberdade de atribuir qualquer tipo de dados para cada coluna que está sendo importado, mas que só poderia ser quando estou a importação de arquivos não-Excel.

EDIT: Para ser claro, eu entendo que há um passo no processo de importação em que você tem permissão para alterar o tipo de dados da coluna importado.

Na verdade, é isso que eu estou perguntando. Por alguma razão - talvez é sempre arquivos do Excel, talvez há algo mais - às vezes eu não estou autorizado a alterar o tipo de dados: a caixa suspensa fica acinzentado e eu só tenho que viver com o que tipo de dados Access assume é correta .

Por exemplo, eu só tentei importar um arquivo grande-ish Excel ( 12000+ linhas, ~ 200 colunas ) no Access onde a coluna # 105 (ou algo similar) foi preenchido principalmente com números (códigos : 1=foo, 2=bar, etc.), embora haja um punhado de alfa códigos em há muito (a = vaia, B = distante, etc). Acesso assumiu que era um tipo de dados Number (mesmo depois de eu mudei o valor Format no ficheiro Excel em si) e assim me deu erros sobre esses códigos alfa. Se eu tivesse sido autorizado a alterar o tipo de dados sobre a importação, teria me salvou alguns problemas.

Am I pedir algo que o Access só não vai fazer, ou estou faltando alguma coisa? Obrigado.

EDIT: Há duas respostas abaixo que dão conselhos úteis. Salvar o arquivo Excel como CSV e importando que funciona bem e é simples como diz Chris OC . O conselho para salvar uma especificação de importação é muito útil também. No entanto, eu escolhi a resposta configuração de registro por DK como a "resposta aceita". Eu gostei como uma resposta, porque é uma one-time-only passo que pode ser usado para resolver o meu grande problema (ter acesso incorretamente atribuir um tipo de dados). Em suma, esta solução não me permite alterar o tipo de dados a mim mesmo, mas faz Acesso acho que com precisão o tipo de dados de modo que há menos problemas.

Foi útil?

Solução

Este pode ser causada por configurações padrão do driver Excel Jet. Confira a seguinte chave do registro e mudá-lo de valor a partir de padrão 8-0, ou seja, "acho que tipo de dados coluna com base em todos os valores, não apenas primeiros 8 linhas."

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"=dword:00000000

Por favor, diga se isso funciona.

Outras dicas

Há um par de maneiras de fazer isso. A maneira mais simples é converter o arquivo .xls para um arquivo .csv no Excel, para que você possa importar para o Access usando o Assistente de importação de texto, o que lhe permite escolher os tipos de dados de cada coluna durante a importação.

O outro benefício para fazer isso é que a importação de um arquivo CSV (ou texto) é para muito mais rápido do que a importação de um arquivo xls. Se você estiver indo para fazer esta importação mais de uma vez, salvar as definições de configuração de importação como uma especificação de importação. (Quando no Assistente de importação de texto, clique no botão "Avançado ..." botão no canto inferior esquerdo, em seguida, clique em "Salvar como" e dar um nome de especificação para salvar as alterações feitas.)

O acesso pode fazer o que você precisa, mas não há nenhuma maneira simples para isso. Você teria que gerenciar alguns conjuntos de registros, sendo um deles os seus dados do Excel, o outro sendo o seu tabela do Access final. Uma vez que ambos os registros estão abertos, você pode transferir dados de um conjunto de registros para o outro, navegando seus dados do Excel e adicioná-lo à sua mesa Access. Nesta fase, será possível alterar tipo de dados conforme solicitado.

Ao importar a partir de arquivos CSV, você também pode ter um olhar para schema.ini você vai achar que com isso, você pode controlar todos os aspectos do processo de importação.

Access irá permitir que você especifique o tipo de dados no processo de importação. o problema está no processo de "Anexar" para as seguintes vezes, não vai perguntar sobre a importação de tipo de dados, e ele vai te esquecer mudou. Eu acho que é um erro no MS Access.

Acesso vai fazer isso.

Em seu processo de importação, você pode definir o que o tipo de dados de cada coluna é.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top