OVH Cloud OVH Cloud

Champ numérique

5 réponses
Avatar
Guillaume EGRON
Par ODBC, je r=E9alise une liaison dans Access XP sur des=20
tables d'une base de donn=E9es Oracle. Les champs de type=20
NUMBER sous Oracle apparaissent en tant que=20
Num=E9rique/D=E9cimal alors que dans Access 97 le type est=20
respect=E9.
J'ai l'impression qu'il existe =E9galement un probl=E8me avec=20
les champs Date. Lorsque je veux ins=E9rer un enregistrement=20
dans la table en utilisant une page d'acc=E8s au donn=E9es,=20
j'obtiens le message suivant :"Type de donn=E9es=20
incompatible dans l'expression du crit=E8re".

5 réponses

Avatar
Benoit Compoint [MS]
Bonjour,

En ce qui concerne l'interprétation des champs de type Number sur Oracle,
Access 2000, 2002 et 2003 apportent une amélioration parce qu'ils utilisent
le moteur Microsoft Jet 4.0.
En effet le moteur Jet 4.0 gère un nouveau type de données numérique
"Décimal" qui ressemble beaucoup au type Number d'Oracle, bien qu'il
n'autorise pas une plage aussi étendue qu'Oracle pour la précision et
l'échelle.

Comme Access 97 utilise le moteur Jet 3.5 qui ne gère pas le type numérique
"Décimal",
les champs Oracle de type Number(Précision, Echelle) avec une précision
supérieure à 15
sont convertis en Texte dans Access 97.

De même les champs Oracle de type Number(Précision, Echelle)
dont la précision est inférieure ou égale à 15 et l'échelle vaut 1, 2, 3 ou
4
sont convertis en champs Numériques de type "Double" dans Access 97.

Enfin les champs Oracle de type Number(Précision, Echelle)
dont la précision est comprise entre 9 et 15 et dont l'échelle vaut 0
sont convertis en champs Numériques de type "Double" dans Access 97.

Ces conversions approximatives d'Access 97 sont remplacées dans Access 2000,
2002 et 2003
par des conversions vers des champs numériques de type "Décimal".

Benoit Compoint

"Guillaume EGRON" wrote in message
news:043801c3d9d9$5c90f400$
Par ODBC, je réalise une liaison dans Access XP sur des
tables d'une base de données Oracle. Les champs de type
NUMBER sous Oracle apparaissent en tant que
Numérique/Décimal alors que dans Access 97 le type est
respecté.
J'ai l'impression qu'il existe également un problème avec
les champs Date. Lorsque je veux insérer un enregistrement
dans la table en utilisant une page d'accès au données,
j'obtiens le message suivant :"Type de données
incompatible dans l'expression du critère".
Avatar
Guillaume EGRON
Merci pour les explications. Il n'empêche que cette
amélioration ne fonctionne pas correctement dans les pages
d'accès aux données. J'ai procédé à quelques tests. Il
s'avère que les champs qui déclenchent le message "Type de
données incompatible dans l'expression du critère" sont
les champs numériques typés Décimal ayant la propriété
Echelle supérieure à 0 et la propriété Décimales assignée
à Auto.

Comment corriger ce problème ???

-----Message d'origine-----
Bonjour,

En ce qui concerne l'interprétation des champs de type
Number sur Oracle,

Access 2000, 2002 et 2003 apportent une amélioration
parce qu'ils utilisent

le moteur Microsoft Jet 4.0.
En effet le moteur Jet 4.0 gère un nouveau type de
données numérique

"Décimal" qui ressemble beaucoup au type Number d'Oracle,
bien qu'il

n'autorise pas une plage aussi étendue qu'Oracle pour la
précision et

l'échelle.

Comme Access 97 utilise le moteur Jet 3.5 qui ne gère pas
le type numérique

"Décimal",
les champs Oracle de type Number(Précision, Echelle) avec
une précision

supérieure à 15
sont convertis en Texte dans Access 97.

De même les champs Oracle de type Number(Précision,
Echelle)

dont la précision est inférieure ou égale à 15 et
l'échelle vaut 1, 2, 3 ou

4
sont convertis en champs Numériques de type "Double" dans
Access 97.


Enfin les champs Oracle de type Number(Précision, Echelle)
dont la précision est comprise entre 9 et 15 et dont
l'échelle vaut 0

sont convertis en champs Numériques de type "Double" dans
Access 97.


Ces conversions approximatives d'Access 97 sont
remplacées dans Access 2000,

2002 et 2003
par des conversions vers des champs numériques de
type "Décimal".


Benoit Compoint

"Guillaume EGRON"
wrote in message

news:043801c3d9d9$5c90f400$
Par ODBC, je réalise une liaison dans Access XP sur des
tables d'une base de données Oracle. Les champs de type
NUMBER sous Oracle apparaissent en tant que
Numérique/Décimal alors que dans Access 97 le type est
respecté.
J'ai l'impression qu'il existe également un problème avec
les champs Date. Lorsque je veux insérer un enregistrement
dans la table en utilisant une page d'accès au données,
j'obtiens le message suivant :"Type de données
incompatible dans l'expression du critère".


.



Avatar
Benoit Compoint [MS]
Bonsoir,

Le problème que vous décrivez à propos des pages d'accès aux données ne
concerne pas seulement les tables liées à une base Oracle via ODBC.
C'est un problème beaucoup plus vaste qui concerne la saisie de valeurs de
type "décimal"
dans des pages d'accès aux données créées avec Access 2000, 2002 et 2003.

On ne peut donc pas parler de régression par rapport à Access 97,
puisqu'Access 97 ne permettait pas de créer des pages d'accès aux données.
Mais je suis d'accord avec vous :
Il est dommage que deux nouveautés d'Access 2000 ("Datapages" et type
"Decimal")
ne puissent pas être utilisées simultanément (sur toutes les stations de
travail Windows).

SOLUTION :

Pour effectuer la saisie de valeurs de type décimal dans une page d'accès
aux données,
vous devez configurer votre station Windows avec le séparateur décimal
"point" (au lieu de la virgule).
Pour ce faire, vous pouvez double-cliquer sur l'icône "Paramètres Régionaux"
dans le "Panneau de Configuration" de Windows.

Benoit Compoint

"Guillaume EGRON" wrote in message
news:0db401c3d9f5$df487af0$
Merci pour les explications. Il n'empêche que cette
amélioration ne fonctionne pas correctement dans les pages
d'accès aux données. J'ai procédé à quelques tests. Il
s'avère que les champs qui déclenchent le message "Type de
données incompatible dans l'expression du critère" sont
les champs numériques typés Décimal ayant la propriété
Echelle supérieure à 0 et la propriété Décimales assignée
à Auto.

Comment corriger ce problème ???

-----Message d'origine-----
Bonjour,

En ce qui concerne l'interprétation des champs de type
Number sur Oracle,

Access 2000, 2002 et 2003 apportent une amélioration
parce qu'ils utilisent

le moteur Microsoft Jet 4.0.
En effet le moteur Jet 4.0 gère un nouveau type de
données numérique

"Décimal" qui ressemble beaucoup au type Number d'Oracle,
bien qu'il

n'autorise pas une plage aussi étendue qu'Oracle pour la
précision et

l'échelle.

Comme Access 97 utilise le moteur Jet 3.5 qui ne gère pas
le type numérique

"Décimal",
les champs Oracle de type Number(Précision, Echelle) avec
une précision

supérieure à 15
sont convertis en Texte dans Access 97.

De même les champs Oracle de type Number(Précision,
Echelle)

dont la précision est inférieure ou égale à 15 et
l'échelle vaut 1, 2, 3 ou

4
sont convertis en champs Numériques de type "Double" dans
Access 97.


Enfin les champs Oracle de type Number(Précision, Echelle)
dont la précision est comprise entre 9 et 15 et dont
l'échelle vaut 0

sont convertis en champs Numériques de type "Double" dans
Access 97.


Ces conversions approximatives d'Access 97 sont
remplacées dans Access 2000,

2002 et 2003
par des conversions vers des champs numériques de
type "Décimal".


Benoit Compoint

"Guillaume EGRON"
wrote in message

news:043801c3d9d9$5c90f400$
Par ODBC, je réalise une liaison dans Access XP sur des
tables d'une base de données Oracle. Les champs de type
NUMBER sous Oracle apparaissent en tant que
Numérique/Décimal alors que dans Access 97 le type est
respecté.
J'ai l'impression qu'il existe également un problème avec
les champs Date. Lorsque je veux insérer un enregistrement
dans la table en utilisant une page d'accès au données,
j'obtiens le message suivant :"Type de données
incompatible dans l'expression du critère".


.



Avatar
Guillaume EGRON
Bonjour,
Merci pour votre solution. Je dois trouver une alternative
au cas où celle-ci ne conviendrait pas à mon client.
J'aurais encore quelques questions :
- Les pages d'accès aux données que je crée seront
accessibles depuis plusieurs postes clients, dois-je
modifier le séparateur décimal de tous les postes clients ?
- Pouvez-vous me confirmer que le problème existe
également sur Access 2003 ?
- Microsoft envisage-t-il de corriger ce
dysfonctionnement ? Si oui, quand et sur quelle(s) version
(s)?

Guillaume EGRON

-----Message d'origine-----
Bonsoir,

Le problème que vous décrivez à propos des pages d'accès
aux données ne

concerne pas seulement les tables liées à une base Oracle
via ODBC.

C'est un problème beaucoup plus vaste qui concerne la
saisie de valeurs de

type "décimal"
dans des pages d'accès aux données créées avec Access
2000, 2002 et 2003.


On ne peut donc pas parler de régression par rapport à
Access 97,

puisqu'Access 97 ne permettait pas de créer des pages
d'accès aux données.

Mais je suis d'accord avec vous :
Il est dommage que deux nouveautés d'Access 2000
("Datapages" et type

"Decimal")
ne puissent pas être utilisées simultanément (sur toutes
les stations de

travail Windows).

SOLUTION :

Pour effectuer la saisie de valeurs de type décimal dans
une page d'accès

aux données,
vous devez configurer votre station Windows avec le
séparateur décimal

"point" (au lieu de la virgule).
Pour ce faire, vous pouvez double-cliquer sur
l'icône "Paramètres Régionaux"

dans le "Panneau de Configuration" de Windows.

Benoit Compoint

"Guillaume EGRON"
wrote in message

news:0db401c3d9f5$df487af0$
Merci pour les explications. Il n'empêche que cette
amélioration ne fonctionne pas correctement dans les pages
d'accès aux données. J'ai procédé à quelques tests. Il
s'avère que les champs qui déclenchent le message "Type de
données incompatible dans l'expression du critère" sont
les champs numériques typés Décimal ayant la propriété
Echelle supérieure à 0 et la propriété Décimales assignée
à Auto.

Comment corriger ce problème ???

-----Message d'origine-----
Bonjour,

En ce qui concerne l'interprétation des champs de type
Number sur Oracle,

Access 2000, 2002 et 2003 apportent une amélioration
parce qu'ils utilisent

le moteur Microsoft Jet 4.0.
En effet le moteur Jet 4.0 gère un nouveau type de
données numérique

"Décimal" qui ressemble beaucoup au type Number d'Oracle,
bien qu'il

n'autorise pas une plage aussi étendue qu'Oracle pour la
précision et

l'échelle.

Comme Access 97 utilise le moteur Jet 3.5 qui ne gère pas
le type numérique

"Décimal",
les champs Oracle de type Number(Précision, Echelle) avec
une précision

supérieure à 15
sont convertis en Texte dans Access 97.

De même les champs Oracle de type Number(Précision,
Echelle)

dont la précision est inférieure ou égale à 15 et
l'échelle vaut 1, 2, 3 ou

4
sont convertis en champs Numériques de type "Double" dans
Access 97.


Enfin les champs Oracle de type Number(Précision,
Echelle)


dont la précision est comprise entre 9 et 15 et dont
l'échelle vaut 0

sont convertis en champs Numériques de type "Double" dans
Access 97.


Ces conversions approximatives d'Access 97 sont
remplacées dans Access 2000,

2002 et 2003
par des conversions vers des champs numériques de
type "Décimal".


Benoit Compoint

"Guillaume EGRON"
wrote in message

news:043801c3d9d9$5c90f400$
Par ODBC, je réalise une liaison dans Access XP sur des
tables d'une base de données Oracle. Les champs de type
NUMBER sous Oracle apparaissent en tant que
Numérique/Décimal alors que dans Access 97 le type est
respecté.
J'ai l'impression qu'il existe également un problème avec
les champs Date. Lorsque je veux insérer un
enregistrement


dans la table en utilisant une page d'accès au données,
j'obtiens le message suivant :"Type de données
incompatible dans l'expression du critère".


.




.




Avatar
Benoit Compoint [MS]
Bonjour,

Je vous confirme que ce problème persiste avec Access 2003.
Il faudrait utiliser le point comme séparateur décimal sur tous les postes
clients
afin d'autoriser des saisies incluant une partie décimale
dans les contrôles des datapages Access basés sur un champ de type Décimal.

A ma connaissance, Microsoft ne prévoit pas de corriger ce problème.

Benoit Compoint

"Guillaume EGRON" wrote in message
news:09ac01c3da6e$1ca1cf50$
Bonjour,
Merci pour votre solution. Je dois trouver une alternative
au cas où celle-ci ne conviendrait pas à mon client.
J'aurais encore quelques questions :
- Les pages d'accès aux données que je crée seront
accessibles depuis plusieurs postes clients, dois-je
modifier le séparateur décimal de tous les postes clients ?
- Pouvez-vous me confirmer que le problème existe
également sur Access 2003 ?
- Microsoft envisage-t-il de corriger ce
dysfonctionnement ? Si oui, quand et sur quelle(s) version
(s)?

Guillaume EGRON

-----Message d'origine-----
Bonsoir,

Le problème que vous décrivez à propos des pages d'accès
aux données ne

concerne pas seulement les tables liées à une base Oracle
via ODBC.

C'est un problème beaucoup plus vaste qui concerne la
saisie de valeurs de

type "décimal"
dans des pages d'accès aux données créées avec Access
2000, 2002 et 2003.


On ne peut donc pas parler de régression par rapport à
Access 97,

puisqu'Access 97 ne permettait pas de créer des pages
d'accès aux données.

Mais je suis d'accord avec vous :
Il est dommage que deux nouveautés d'Access 2000
("Datapages" et type

"Decimal")
ne puissent pas être utilisées simultanément (sur toutes
les stations de

travail Windows).

SOLUTION :

Pour effectuer la saisie de valeurs de type décimal dans
une page d'accès

aux données,
vous devez configurer votre station Windows avec le
séparateur décimal

"point" (au lieu de la virgule).
Pour ce faire, vous pouvez double-cliquer sur
l'icône "Paramètres Régionaux"

dans le "Panneau de Configuration" de Windows.

Benoit Compoint

"Guillaume EGRON"
wrote in message

news:0db401c3d9f5$df487af0$
Merci pour les explications. Il n'empêche que cette
amélioration ne fonctionne pas correctement dans les pages
d'accès aux données. J'ai procédé à quelques tests. Il
s'avère que les champs qui déclenchent le message "Type de
données incompatible dans l'expression du critère" sont
les champs numériques typés Décimal ayant la propriété
Echelle supérieure à 0 et la propriété Décimales assignée
à Auto.

Comment corriger ce problème ???

-----Message d'origine-----
Bonjour,

En ce qui concerne l'interprétation des champs de type
Number sur Oracle,

Access 2000, 2002 et 2003 apportent une amélioration
parce qu'ils utilisent

le moteur Microsoft Jet 4.0.
En effet le moteur Jet 4.0 gère un nouveau type de
données numérique

"Décimal" qui ressemble beaucoup au type Number d'Oracle,
bien qu'il

n'autorise pas une plage aussi étendue qu'Oracle pour la
précision et

l'échelle.

Comme Access 97 utilise le moteur Jet 3.5 qui ne gère pas
le type numérique

"Décimal",
les champs Oracle de type Number(Précision, Echelle) avec
une précision

supérieure à 15
sont convertis en Texte dans Access 97.

De même les champs Oracle de type Number(Précision,
Echelle)

dont la précision est inférieure ou égale à 15 et
l'échelle vaut 1, 2, 3 ou

4
sont convertis en champs Numériques de type "Double" dans
Access 97.


Enfin les champs Oracle de type Number(Précision,
Echelle)


dont la précision est comprise entre 9 et 15 et dont
l'échelle vaut 0

sont convertis en champs Numériques de type "Double" dans
Access 97.


Ces conversions approximatives d'Access 97 sont
remplacées dans Access 2000,

2002 et 2003
par des conversions vers des champs numériques de
type "Décimal".


Benoit Compoint

"Guillaume EGRON"
wrote in message

news:043801c3d9d9$5c90f400$
Par ODBC, je réalise une liaison dans Access XP sur des
tables d'une base de données Oracle. Les champs de type
NUMBER sous Oracle apparaissent en tant que
Numérique/Décimal alors que dans Access 97 le type est
respecté.
J'ai l'impression qu'il existe également un problème avec
les champs Date. Lorsque je veux insérer un
enregistrement


dans la table en utilisant une page d'accès au données,
j'obtiens le message suivant :"Type de données
incompatible dans l'expression du critère".


.




.