2009-02-18 4 views
4

Lors de l'exportation d'un fichier CSV à partir d'Access 2007, il convertit automatiquement les décimales en notation scientifique.Dans l'exportation CSV Access 2007: Désactiver la notation scientifique

Malheureusement, l'outil qui les reçoit traite ces champs comme du texte et les affiche tels quels.

Les valeurs exportées proviennent d'une requête exécutée sur certaines tables liées Excel et apparaissent parfaitement dans la vue de la requête.

Est-il possible de désactiver la conversion automatique en notation scientifique?

I.e. s'il apparaît comme 0.007 dans la requête, il apparaîtra comme 0.007 dans la sortie csv plutôt que 7E3?

Remarque: Je suis contraint d'utiliser Excel et Access pour cela. Autant que je voudrais passer à SQL Server, ma femme serait mécontente si je le mets sur son ordinateur portable de travail!

Répondre

1

Vous pouvez écrire une petite quantité de code VBA en accès pour interroger les données de la table liée ou de la requête Access et les écrire dans un fichier texte, créant ainsi votre propre .CSV et le "Wizard". Je n'ai jamais beaucoup aimé Access 'export "wizard, et j'ai juste créé les fichiers moi-même.

+0

Une chance d'échantillon? –

+0

Ack! Je n'ai pas touché VBA depuis si longtemps, mais voici un petit pseudo code: 'Ouvrir une requête dans un ADODB.Recordset ' Ouvrir un fichier pour écrire en utilisant des E/S de fichier VBA natives. 'Itérer à travers le Recordset, en écrivant tous les champs dans Recordset. Concattez vos propres citations et virgules. 'Fermer Recordset et fichier. – HardCode

+0

Pourquoi utiliser ADO dans Access? DAO est plus approprié. –

5

Vous avez deux choix:

  • vous pouvez utiliser le Format() function directement dans votre requête pour forcer les données dans les colonnes incriminées à formater une certaine manière, par exemple:

    SELECT ID, Format([Price],"standard") as Pricing FROM ORDERS; 
    
  • Vous pouvez écrire votre propre routine d'exportation CSV dans VBA. J'ai posté un récemment comme réponse à this question.

Vous pouvez facilement modifier le code pour formater les types numériques d'une certaine manière.
Si vous ne savez pas comment, faites le moi savoir et je vais modifier le code et l'afficher ici.

+0

Je vais essayer ça ... –

+1

Créer une requête et utiliser Format() fonctionne pour moi. –

+0

Pour moi, l'utilisation de Format() ne fonctionnait que lorsque je réduisais le nombre à moins (deux) décimales. Avec plus de deux décimales, la notation scientifique était toujours utilisée dans le fichier d'exportation, même lorsque j'utilisais le «nombre général» pour le formatage. La propre routine d'exportation CSV liée ci-dessus a fonctionné pour moi même avec plus de deux décimales. –

Questions connexes