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

Requêtes et SQL. Discussion :

extracchaine dans un vraifaux


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    apprenti ingénieur en informatique et réseaux
    Inscrit en
    Octobre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti ingénieur en informatique et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 71
    Points : 73
    Points
    73
    Par défaut extracchaine dans un vraifaux
    Salut tout le monde

    Voilà ça fait dux heures que je bloque sur un problème qui est complètement incompréhensible pour moi :

    Je travaille dans une requête d'ajout avec la table [Item TMP] et le champ [ELEMENT_STOCKAGE], je décide d'ajouter les enregistrements qui ont le même début qu'un variable entré dans un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2) &"*"
    jusqu'ici pas de problème, cependant en avançant dans mon projet, j'ai besoin d'utiliser un IIf (ou vraifaux in french) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Formulaires]![FormLocD]![contenant] Comme "DYN*";[Item TMP]![ELEMENT_STOCKAGE];([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
    Lorsque variable commence par DYN, aucun souci; cependant si la variable commence par autre chose, la condition "sinon" s'exécute, mais ne me fourni pas les résultats que j'avais lors de ma première itération.
    En gros,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*"
    ne fonctionne pas dans le IIf.

    Je tiens à préciser que j'ai essayé avec un Gauche, mais j'obtiens la même chose
    Quelqu'un a une idée? Merci!

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Tibjedi,

    Ton VraiFaux est... faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TonChamp      : VraiFaux([Formulaires]![FormLocD]![contenant] Comme "DYN*";
    alors TonChamp= [Item TMP]![ELEMENT_STOCKAGE];
    sinon TonChamp= ([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
    ==> la question est : "sinon quoi ?". En effet,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
    n'est pas une valeur.

  3. #3
    Membre régulier
    Homme Profil pro
    apprenti ingénieur en informatique et réseaux
    Inscrit en
    Octobre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti ingénieur en informatique et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 71
    Points : 73
    Points
    73
    Par défaut
    Comment ça ce n'est pas une valeur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
    Pour moi ça veut dire : je veux les valeurs de ELEMENT_STOCKAGE qui sont égales à ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*" .
    c'est à cause du comme?


    En effectuant des test, je me rend compte que c'est &"*" qui fait tout planter... comment je pourrai faire?

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
    ==> n'est pas une valeur à mettre dans un champ, cela semble être un test, à cause du "comme", justement.

    Je te rappelle que cette partie est dans le "sinon" de ton VraiFaux : peut-être veux-tu imbriquer deux VraiFaux... à toi de préciser.

  5. #5
    Membre régulier
    Homme Profil pro
    apprenti ingénieur en informatique et réseaux
    Inscrit en
    Octobre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti ingénieur en informatique et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 71
    Points : 73
    Points
    73
    Par défaut
    j'ai résolu mon problème en agissant directement au niveau du champ ELEMENT_STOCKAGE en le réduisant d'office à 2 caractères, au moins je n'ai plus à insérer l'étoile * dans ma requête :
    champ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ELEMENT_STOCKAGE: ExtracChaîne([ITEM TMP]![ELEMENT_STOCKAGE];1;2)
    critère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Formulaires]![FormLocD]![contenant]="DYN UV";[ITEM TMP]![ELEMENT_STOCKAGE];ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2))

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Tu as surtout résolu ton problème en écrivant un "sinon" valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TonChamp      : VraiFaux([Formulaires]![FormLocD]![contenant]="DYN UV";
    alors TonChamp= [ITEM TMP]![ELEMENT_STOCKAGE];
    sinon TonChamp= ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2))
    car ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2) est bien une valeur (ne contient pas de "comme").

  7. #7
    Membre régulier
    Homme Profil pro
    apprenti ingénieur en informatique et réseaux
    Inscrit en
    Octobre 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti ingénieur en informatique et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 71
    Points : 73
    Points
    73
    Par défaut
    ha ok oui j'viens de comprendre la différence, merci. C''était donc du au comme mais également au &"*"

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

Discussions similaires

  1. Regroupement dans requête "VraiFaux"
    Par xtof79 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/01/2013, 08h57
  2. Problème avec un like dans un vraifaux
    Par rob1son76 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/12/2012, 13h51
  3. Vraifaux dans une requête
    Par mooh91 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/01/2007, 21h04
  4. Syntaxe condition VraiFaux dans requête
    Par SuperBlaireau dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 16/06/2006, 15h39
  5. [SQL] remplacer le VraiFaux d'access dans une Vue
    Par alain_27 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/09/2005, 15h51

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