Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2012, 11h12   #1
Nouveau Membre du Club
 
Homme Thib Oxur
apprenti ingénieur en informatique et réseaux
Inscription : octobre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Homme Thib Oxur
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 : 49
Points : 30
Points : 30
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 :
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 :
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 :
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!
tibjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h42   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Bonjour Tibjedi,

Ton VraiFaux est... faux :
Code :
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 :
([ITEM TMP]![ELEMENT_STOCKAGE]) Comme ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2)&"*")
n'est pas une valeur.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h47   #3
Nouveau Membre du Club
 
Homme Thib Oxur
apprenti ingénieur en informatique et réseaux
Inscription : octobre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Homme Thib Oxur
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 : 49
Points : 30
Points : 30
Comment ça ce n'est pas une valeur?
Code :
([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?
tibjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 11h54   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Code :
([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.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 12h53   #5
Nouveau Membre du Club
 
Homme Thib Oxur
apprenti ingénieur en informatique et réseaux
Inscription : octobre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Homme Thib Oxur
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 : 49
Points : 30
Points : 30
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 :
ELEMENT_STOCKAGE: ExtracChaîne([ITEM TMP]![ELEMENT_STOCKAGE];1;2)
critère:
Code :
VraiFaux([Formulaires]![FormLocD]![contenant]="DYN UV";[ITEM TMP]![ELEMENT_STOCKAGE];ExtracChaîne([Formulaires]![FormLocD]![contenant];1;2))
tibjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 13h04   #6
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 188
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 188
Points : 2 823
Points : 2 823
Tu as surtout résolu ton problème en écrivant un "sinon" valide :
Code :
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").
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 13h22   #7
Nouveau Membre du Club
 
Homme Thib Oxur
apprenti ingénieur en informatique et réseaux
Inscription : octobre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Homme Thib Oxur
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 : 49
Points : 30
Points : 30
ha ok oui j'viens de comprendre la différence, merci. C''était donc du au comme mais également au &"*"
tibjedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h21.


 
 
 
 
Partenaires

Hébergement Web