Forum Clubic

Probleme table ORACLE liée avec ACCESS2003

Bonjour,
qd je lie (ou j’importe) une table via odbc ORACLE depuis ACCESS2003, les champs nombre avec virgule sont mal convertis. ex: 30,5 devient 305. Je ne vois pas où changer cet automatisme. Pour info via ACESS97 je n’avais pas de pb. Si qq’un a déjà eu ce pb je suis preneur…

Il faudrait peut être regarder dans l’assistant des paramètres d’importation si la virgule est bien déclarée comme séparateur décimal par défaut.
Et vérifier également les options régionales de windows

merci tout d’abord de me répondre :slight_smile:
Les paramètres régionaux windows sont positionnés avec la virgule. Ce qui m’inquiète le plus c’est qu’avec ACCESS 97 je n’ai pas de souci…
Depuis ACCESS 2003, quand je clic droit sur l’onglet table, importer… (ou lier…), il n’y pas d’assistant d’import visible.

Je sélectionne dans type de fichier: “ODBC database ()” et me retrouve sur la fenêtre des odbc déclarés par moi (panneau de conf/outil d’aministration/source de données odbc).
Je prends ma source de données, me connecte et récupère une table ORACLE.
Une fois la table importée (ou liée), je n’ai aucun message d’erreur sinon que les champs ORACLE de type number(5,1) par ex. sont pris par ACCESS 2003 avec taille de champ=décimal, décimal =auto (ACCESS 97prend taille du champ=réel double, décimale=auto).

A partir de là tout fout le camp:(
la virgule n’est plus affichée mais si je fais une requète sur le champ nombre depuis cette table liée, tout est cohérent (ACCESS n’a pas oublié que c’est 30,5 et non 305: ex requete avec critère nombre<31, la donnée est bien remontée).
Mais si je fais une requète de création de table avec le champ nombre en question depuis cette table attachée, la virgule se perd à jamais et la nouvelle table créée n’a plus les bons chiffres (ACCESS a oublié que c’est 30,5 et non 305: ex requete avec le même critère<31, la donnée n’est plus ramenée)

Il y a longtemps que je n’ai pas touché à Access, mais je crois bien me rappeler de ce genre de problème au moment du passage de 97 à 2003.
Effectivement, on ne voit pas l’assistant dans ce cas précis, mais je me demande s’il ne conserve pas par défaut le dernier réglage qu’on lui a demandé d’appliquer.
Dans ce cas, la solution serait d’ouvrir un fichier de type txt par exemple, d’imposer les paramètres, de refermer Access proprement (par fichier > Quitter, par en cliquant sur l’icone en haut à droite) et voir ensuite si ça marche.
Ou alors faire l’ouverture (ou les liaisons) en VBA, je crois que là on a accès aux paramètres.
Le tout sans garantie, bien sûr

j’ai essayé de suivre la manip mais sans succès.
Heureusement j’ai qd même gardé le mdb en 97. Si je fais la manip depuis 97 la virgule est conservée, ensuite je vais sous 2003 et là la conversion de base 97 vers 2003 me permet de garder la virgule. Pb à demi réglé mais je peux continuer… merci et à bientôt.

Regarde dans ce lien
http://access.developpez.com/faq/?page=ActionsRep#ImportFichier
ce qui est dit sur TransferText. Je pense qu’une fois les modifications de la table système effectuées, elles sont valables pour toutes les requêtes suivantes