IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Expression Builder - champs calculés [AC-2010]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Expression Builder - champs calculés
    Bonjour à tous,

    je suis bloqué avec un champs calculés.
    du moins, je reprends le résultat d'un autre champs calculés dans celui-ci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SegCAintF: IIf(IsNull([CAintREC]);"";IIf([CAintREC]<25000;" S";IIf([CAintREC] Between 25001 And 100000;" M";IIf([CAintREC] Between 100001 And 250000;" L";IIf([CAintREC] Between 250001 And 500000;" XL";IIf([CAintREC] Between 500001 And 750000;" XL+";IIf([CAintREC]>750001;" XXL";"")))))))
    CAintREC est le résultat d'un autre champs calculés.

    le message d'erreur que le système me renvoit : (data type mismacth in expression)

    à mon sens l'erreur vient du format de CAintREC (format numérique standard)

    il ne le reconnait pas en tant que tel !!

    la formule de condition fonctionne, je l'ai testée sur un autre champs avec une autre valeur, sans souci !!

    je suis allé dans les propriétés du champs pour le mettre en numérique, mais le système ne me donne pas de possibilité, propriété vide

    est ce que quelqu'un aurait la gentilesse de bien vouloir m'aider?

    merci beaucoup,

    AntHoub

  2. #2
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,

    essaie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...  IIf(Not Isnumeric([CAintREC]);""; ...
    Bonne suite,
    "Always look at the bright side of life." Monty Python.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SegCAintF: IIf(Not IsNumeric([CAintREC])<"25000";" S";IIf(IsNumeric([CAintREC]) Not Between "25001" And "100000";" M";IIf(IsNumeric([CAintREC]) Not Between "100001" And "250000";" L";IIf(IsNumeric([CAintREC]) Not Between "250001" And "500000";" XL";IIf(IsNumeric([CAintREC]) Not Between "500001" And "750000";" XL+";IIf(Not IsNumeric([CAintREC])>"750001";" XXL";""))))))
    merci pour votre réponse,

    mais avec l'annotation marquée, il ressort :

    plus de message ==> cool
    mais le "NOT" se déplace tout seul dans la formule vers between, comprends pas pourquoi ?!
    et la réponse est "M" pour tous les champs quelque soit la valeur de CAinREC ...
    idem si je retire les apostrophes des valeurs

    si je triche avec des parenthèse en plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SegCAintF: IIf(Not IsNumeric([CAintREC])<25000;" S";IIf((Not IsNumeric([CAintREC])) Between 25001 And 100000;" M";IIf((Not IsNumeric([CAintREC])) Between 100001 And 250000;" L";IIf((Not IsNumeric([CAintREC])) Between 250001 And 500000;" XL";IIf((Not IsNumeric([CAintREC])) Between 500001 And 750000;" XL+";IIf(Not IsNumeric([CAintREC])>750001;" XXL";""))))))
    j'ai XXL pour toutes les datas

    une autre idée ?

    merci beaucoup pour votre aide

    AntHoub

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Bonjour,
    à l'origine de ton post, tu avais
    SegCAintF: IIf(IsNull([CAintREC]);"";IIf([CAintREC]<25000;" S";IIf([CAintREC] Between 25001 And 100000;" M";IIf([CAintREC] Between 100001 And 250000;" L";IIf([CAintREC] Between 250001 And 500000;" XL";IIf([CAintREC] Between 500001 And 750000;" XL+";IIf([CAintREC]>750001;" XXL";"")))))))
    Je te demandais simplement de remplacer IsNull([CAintREC]) par Not IsNumeric([CAintREC]) !
    Il faut comprendre :
    . Not IsNumeric([CAintREC]) renvoie TRUE si CAintREC n'est pas reconnu comme numérique (en particuliers si Null ou vide).
    . et renvoie FALSE si CAintREC est reconnu comme un numérique

    donc essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SegCAintF: IIf(Not IsNumeric([CAintREC]) ;"";IIf([CAintREC]<25000;" S";IIf([CAintREC] Between 25001 And 100000;" M";IIf([CAintREC] Between 100001 And 250000;" L";IIf([CAintREC] Between 250001 And 500000;" XL";IIf([CAintREC] Between 500001 And 750000;" XL+";IIf([CAintREC]>750001;" XXL";"")))))))
    Bonne suite
    "Always look at the bright side of life." Monty Python.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Suivi
    Bonsoir Micniv,

    le code que tu viens de me proposer est nickel,
    je tiens fortement à te remercier pour ce coup de main,

    merci beaucoup

    AntHoub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Champ calculé et report builder
    Par dd_garion dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/06/2010, 11h20
  2. Champ calculé, expression, SUM() ? dans quel ordre ? :P
    Par davidg dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/05/2010, 13h15
  3. [AC-2007] Erreur 2427 "Expression sans paramètre" sur champ calculé
    Par pierrequimousse dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/04/2010, 09h35
  4. [A-03] Expression Builder. Date() + champs table
    Par xavsuderrone dans le forum IHM
    Réponses: 4
    Dernier message: 20/01/2009, 05h39
  5. Réponses: 2
    Dernier message: 04/01/2008, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo