2008-11-12 18 views
3

J'exporte un rapport de la sortie MS Access (2003) vers Excel (97-2003).arrête les chaînes numériques de mise en forme automatique MS Excel sous forme de nombres

L'une des colonnes a une chaîne de caractères qui est numérique pour certaines lignes, par ex. "05-0880".

Lorsque j'ouvre le fichier de sortie dans MS Excel, la cellule correspondante est définie sur le numéro -372424. Je suppose que cela est dû au fait qu'Excel est "intelligent" et qu'il décide que "05-0808" représente une valeur temporelle ou une date quelconque et convertit la chaîne en une valeur numérique correspondante.

Dans mon cas, les données représentent des codes de produit et cette conversion est très indésirable. Si j'exporte la sortie de la requête sous-jacente du rapport (exportation d'une feuille de données), cette conversion ne se produit pas. (Suggérant qu'il doit être possible pour Access to Output au format Excel d'une manière qui empêche la conversion).

J'ai essayé de changer l'attribut de format du champ dans le rapport, mais il n'y a pas d'option "Texte", et "Standard" semble se comporter comme si c'était laissé vide.

Existe-t-il un moyen d'utiliser la fonction format() pour forcer la sortie de chaîne? Si tel est le cas, cela vous aidera-t-il même si Excel peut encore faire sa conversion intelligente? L'utilisation de la requête sous-jacente comme sortie est une option mais n'est pas idéale car le formatage et le regroupement sont perdus. L'exportation d'un rapport dans un format texte est un désastre car les colonnes ne sont pas délimitées.

Répondre

2

En fait, c'est plutôt l'inverse. MS Access est trop bête pour l'exporter correctement à partir d'un rapport. Vous pouvez armurer les données avec des guillemets ou des apostrophes; Cependant, comme vous le savez, c'est très moche et nécessite un post-traitement.

Mon moyen de contourner le problème consistait à créer une requête, puis à exporter les résultats de la requête plutôt que le rapport. Cela vous donnera les résultats que vous attendez.

+0

Exporter vers Excel à partir d'un rapport n'a pas beaucoup de sens, sauf pour un très petit nombre de situations spécialisées (dans plus de 12 ans de programmation professionnelle Access, je l'ai fait peut-être deux fois). –

1

Exporter "05-0880" au lieu de "05-0880".

+0

Ensuite. Ajouter une apostrophe (') au début de la chaîne. –

+0

Comment exportez-vous le fichier Excel? – TcKs

+0

J'ai essayé de mettre une apostrophe devant le code/numéro en changeant la source de contrôle du champ de texte dans le rapport à = "'" & [myfield] mais cela a entraîné la sortie '05 -0880 dans Excel, ce qui n'est pas idéal Puisque je veux éviter le post-traitement du fichier de sortie – Loopo

-1

assurez-vous d'utiliser la guillemets simples et non l'autre apostrophe.

+0

Qu'est-ce que cela signifie? –