Pergunta

Ao exportar um CSV do Access 2007, ele converte automaticamente decimais para a notação científica.

Infelizmente a ferramenta que os recebe trata esses campos como texto, e exibe-os como é.

Os valores que estão sendo exportados são a partir de uma consulta que está sendo executado contra algumas Excel tabelas vinculadas, e eles parecem perfeitamente na visão de consulta.

Existe alguma maneira para desativar a conversão automática para a notação científica.

i. se ele aparece como 0,007 na consulta, ele aparecerá como 0,007 na CSV de saída em vez de 7E3?

Nota: Eu estou constrangido a usar o Excel eo Access para isso. Por mais que eu gostaria de mudar para o SQL Server, a minha mulher seria infeliz se eu colocá-lo em seu laptop trabalho!

Foi útil?

Solução

Você poderia escrever uma pequena quantidade de código VBA no acesso para consultar os dados da tabela vinculada ou consulta Acesso e escrevê-lo para um arquivo de texto, criando assim o seu próprio CSV e precede o "Assistente". Eu nunca gostei de exportação 'assistente' Acesso muito, e acabou de criar os arquivos de mim mesmo.

Outras dicas

Você tem um par de opções:

  • Você pode usar o href="http://www.webcheatsheet.com/SQL/access_functions/format.php" função Format() diretamente em sua consulta para forçar os dados nas colunas de ofensa a ser formatado de uma certa maneira, por exemplo:

    SELECT ID, Format([Price],"standard") as Pricing FROM ORDERS;
    
  • você pode escrever sua própria rotina CSV de exportação em VBA.
    Eu postei um recentemente como uma resposta a esta questão .

Você pode facilmente modificar o código para formatar tipos numéricos de uma certa maneira.
Se você não sabe como, deixe-me saber e eu vou modificar o código e postá-lo aqui.

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