[ACCESS] Conflit d'écriture ACCESS <-> ORACLE

Conflit d'écriture ACCESS <-> ORACLE [ACCESS] - SQL/NoSQL - Programmation

Marsh Posté le 05-05-2004 à 11:40:11    

Bonjour,  
 
J'ai récupérer une appli ACCESS dans cet environnement : NT + ACCESS 97 avec des tables liées par ODBC vers une base oracle.  
 
Pour des raisons techniques, j'ai du passé sur un XP pro + ACCESS 2003 avec toujours des tables liées par OBDC vers une base oracle.  
 
Mes problèmes sont les suivants:  
 
1. j'ai une table de paramètrage avec une ligne et quelques champs. Lorsque je l'ouvre via access en 'directe' je ne peux modifier aucun enregistrement car j'ai un conflit d'écriture.  
Par contre, si je rajoute une ligne, je peux faire des modifications.  
 
De plus, cela le fait aussi via un formulaire mais beaucoup plus aléatoirement (le formulaire pointe vers d'autres tables).  
 
 
2. Lorsque j'ouvre certaines tables via ACCESS, j'ai des lignes qui sont en #ERREUR et lorsque je clique sur l'une de ces lignes j'ai le messages suivants : la précision du champ décimal est trop petite pour accepter la valeur que vous avez essayé d'ajouter  
Bien entendu, ces valeurs sont tout à fait normal en regardant via l'ancien système.  
 
Bien sûr, ces problèmes je ne les avais pas avant !!!  
J'ai bien regardé un peu partout mais rien ne semble me convenir (ou du moins je ne comprends pas pourquoi je serais obligé de modifier des tables,...)  
 
Par avance merci pour toute aide  :)  

Reply

Marsh Posté le 05-05-2004 à 11:40:11   

Reply

Marsh Posté le 23-09-2004 à 15:47:00    

LoloPat a écrit :

Bonjour,  
 
J'ai récupérer une appli ACCESS dans cet environnement : NT + ACCESS 97 avec des tables liées par ODBC vers une base oracle.  
 
Pour des raisons techniques, j'ai du passé sur un XP pro + ACCESS 2003 avec toujours des tables liées par OBDC vers une base oracle.  
 
Mes problèmes sont les suivants:  
 
1. j'ai une table de paramètrage avec une ligne et quelques champs. Lorsque je l'ouvre via access en 'directe' je ne peux modifier aucun enregistrement car j'ai un conflit d'écriture.  
Par contre, si je rajoute une ligne, je peux faire des modifications.  
 
De plus, cela le fait aussi via un formulaire mais beaucoup plus aléatoirement (le formulaire pointe vers d'autres tables).  
 
 
2. Lorsque j'ouvre certaines tables via ACCESS, j'ai des lignes qui sont en #ERREUR et lorsque je clique sur l'une de ces lignes j'ai le messages suivants : la précision du champ décimal est trop petite pour accepter la valeur que vous avez essayé d'ajouter  
Bien entendu, ces valeurs sont tout à fait normal en regardant via l'ancien système.  
 
Bien sûr, ces problèmes je ne les avais pas avant !!!  
J'ai bien regardé un peu partout mais rien ne semble me convenir (ou du moins je ne comprends pas pourquoi je serais obligé de modifier des tables,...)  
 
Par avance merci pour toute aide  :)

Reply

Marsh Posté le 23-09-2004 à 15:54:25    

Comme d'hab, c'est un bug d'Access 2003. M$ n'a pas pour l'instant de réponse. Tout est lié aux drivers Oracle qu'Access 2003 supporte mal, surtout en ce qui concerne les champs type "Real" avec firgules flottantes (Oracle 7.3 surtout) qui sont interprétés comme texte puis convertis en numérique par Access.  
Seules solutions: Migrer et changer de type.
Sinon attendre une SP2 voir nouvelles DLL pour Access mais M$ se réfugie derrière le fait qu'Oracle ne maintient plus les versions < 8.1.7. mais quid pour les version supérieures !
Dernière solution: utiliser un produit plus fiable voir en libre.
 
Bonne journée,
 
Pantxua

Reply

Marsh Posté le 23-09-2004 à 16:20:36    

OK Voila la solution:
-> utilisation du driver M$ uniquement
-> dans le code d'attachement, ajouter:
        MaTable.Attributes = dbAttachSavePWD
-> enregistrer, c'est bon !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed