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 :

[SQL][ACC97]Pb de critere sur champ issu d'une combinaison de fonctions


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 116
    Points : 105
    Points
    105
    Par défaut [SQL][ACC97]Pb de critere sur champ issu d'une combinaison de fonctions
    Bonjour à tous,
    j'obtiens le message suivant à l'exécution d'une requete :
    "Type de données incompatible dans l'expression du critere"

    ma requete est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TAB_COLTAB.cla_acc_nbr, TAB_COLTAB.cla_typ AS TYPE, Left([cla_acc_nbr],7) AS wings_radi, Left(Right([cla_acc_nbr],Len([cla_acc_nbr])-7),4) AS wings_accounttype, Left(Right([cla_acc_nbr],Len([cla_acc_nbr])-11),3) AS wings_accountsequence, Left(Right([cla_acc_nbr],Len([cla_acc_nbr])-14),4) AS wings_accountcurrency
    FROM TAB_COLTAB
    WHERE (((TAB_COLTAB.cla_acc_nbr) Is Not Null) AND ((TAB_COLTAB.cla_typ)="csh") AND ((Left(Right([cla_acc_nbr],Len([cla_acc_nbr])-7),4))="2160"));
    c'est le dernier "and" dans le where qui pose pb.je precise que cela ne fonctionne pas non plus sans guillemets (mais la fonction left retourne bien une chaine de caracteres)...
    En fait j'ai plus ou moins identifier la cause : c'est la combinaison des fonctions qui pose pb (left, right et length), car dans les champs construits plus simplement (avec moins de fonctions ou sans fonction), je peux filtrer.
    Par ailleurs, le pb est assez profond car je ne peux pas non plus filtrer par selection (le petit eclair jaune) lors de l'affichage de ma requete sans le dernier "and".

    Je ne peux pas non plus appeller la requete depuis une autre et filtrer dans cette nouvelle requete!
    Or j'ai besoin d'une requete qui ne ramene que les type "2160" et la je suis bloqué!

    Connaissez vous ce pb?

    merci.
    b.

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Tu as 21 parenthèses dans le where.... il en manque 1, ou il y en a une en trop.

  3. #3
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 116
    Points : 105
    Points
    105
    Par défaut
    Mefci KIkof,
    Mais je ne compte que 20 parentheses, et pour etre sur, j'ai produit le sql à partir du designer, donc c'est lui qui a mis les parentheses...
    l'erreur ne vient pas de là.

    Vraiment : je peux faire des filtres sur le champ wings_radi par inteface, sql ou designer mais sur wings account type je ne peux rien faire!
    Je repete ce qui me semble le plus incroyable: j'affiche la requete sans filtre et si je fais click droit sur accountype puis litrer par selection, j'ai le message 'type de données incompatible'!

    merci,
    b.

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par borisa
    Mefci KIkof,
    Mais je ne compte que 20 parentheses, et pour etre sur, j'ai produit le sql à partir du designer, donc c'est lui qui a mis les parentheses...
    l'erreur ne vient pas de là.
    (je ne sais plus compter....)

    Quel est le type de données de cla_acc_nbr ?
    Et si tu essayais un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [cla_acc_nbr] like "*2160*"

  5. #5
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 116
    Points : 105
    Points
    105
    Par défaut
    Marvelousse!
    en fait je ne peux pas utiliser le like sur cla_acc_nbr car je veux 2160 à une position bien precise et pas une autre... mais ce qui est formidable c'est que ça fonctionne si je mets like *2160* comme critere sur le wings_accounttype!
    donc juste pour info voici la clause where qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (((TAB_COLTAB.cla_acc_nbr) Is Not Null) AND ((TAB_COLTAB.cla_typ)="csh") AND ((Left(Right([cla_acc_nbr],Len([cla_acc_nbr])-7),4)) Like "*2160*"));
    merci beaucoup kikof !!
    cela dit le mystere reste entier sur la premiere version du where qui ne fonctionne pas, puisque le type est le meme...
    au passage cla_acc_nbr est de type texte, comme tout le reste...

    a+ et encore merci!

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

Discussions similaires

  1. Probleme de critere sur champ vide
    Par christ-94 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 11/03/2008, 10h25
  2. [SQL] Formulaire checkbox construit avec les valeurs issues d'une BDD
    Par Samysam25 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 25/04/2007, 17h55
  3. [Access 2000] un champ issu d'une requête ?
    Par Manopower dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/09/2006, 19h31
  4. Test evenement sur champ vide dans une table
    Par eddyG dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 17h02
  5. Comparaison d'un champ issu d'une requete SQL
    Par Homer dans le forum ASP
    Réponses: 3
    Dernier message: 22/02/2005, 13h41

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