OVH Cloud OVH Cloud

Formatage de chiffres

1 réponse
Avatar
Philippe
Bjr,
J'importe =E0 partir d'un AS400 des fichiers contenant une=20
r=E9f=E9rence sous forme JJMMAA (dans des champs JJ MM AA=20
s=E9par=E9s).
Il se trouve que les unit=E9s n'ont pas de ZERO devant (ex:=20
1er janvier 2003=3D 1 1 3 et que=20
31 d=E9cembre 1999=3D 311299.
J'ai donc forc=E9 en param=E9trant la table Access recevant=20
les donn=E9es par 00 en format, ce qui fonctionne tr=E9s bien=20
(j'obtiens 010103).

Le probl=E8me est dans ma requ=EAte.

Si je demande les jours 01: r=E9sultat nul.
Si je demande 1 : j'obtiens le bon r=E9sultat 01 !
ce qui n'est pas =E9vident de se rappeler =E0 tous coups.
Merci de l'aide

Philippe

1 réponse

Avatar
Michel Walsh
Salut,


Un format n'est qu'un maquillage par dessus la chose réelle, un format ne change que la VUE de
la donnée, non la donnée elle-même.

Si le champ est un champ de date (et heure), le critère pour obtenir un jour (quantième) est:
Day( monChamp ) = 1

et celui d'un mois,
Month( monChamp) = 10

ou d'une année:
Year( monChamp ) = 2003


Utiliser Format( monChamp, "yyyy.mm.dd" ) ou Format( monChamp, "dd.mm.yyyy" ) ou autre
chose résulte en une chaîne (string), mais ne modifie en rien monChamp, un peu comme:

y= Abs( x )


qui retroune la valeur absolue de x dans y, mais ne modifie pas la variable x, intrinsèquement;
la variable x demeure inchangée même si on effectue des opérations sur elle pour obtenir y. Il en
est de même pour

Format( monChamp, ... )

le résultat affiche la valeur emmagasinée dans le champ, selon le décorations spécifiées dans
le format, mais la valeur emmagasinée dans le champ est inchangée.


Espérant être utile,
Vanderghast, Access MVP





"Philippe" wrote in message
news:08eb01c35aa5$4ca34ce0$
Bjr,
J'importe à partir d'un AS400 des fichiers contenant une
référence sous forme JJMMAA (dans des champs JJ MM AA
séparés).
Il se trouve que les unités n'ont pas de ZERO devant (ex:
1er janvier 2003= 1 1 3 et que
31 décembre 1999= 311299.
J'ai donc forcé en paramétrant la table Access recevant
les données par 00 en format, ce qui fonctionne trés bien
(j'obtiens 010103).

Le problème est dans ma requête.

Si je demande les jours 01: résultat nul.
Si je demande 1 : j'obtiens le bon résultat 01 !
ce qui n'est pas évident de se rappeler à tous coups.
Merci de l'aide

Philippe