Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 15/06/2011, 12h56   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Par défaut [Requêtes] >= texte

Bonjour à tous, je rencontre un problème dont je ne trouve pas la solution...

Je créé un outil qui est censé être un "questionnaire". Pour se faire, j'ai une table avec 9 champs de C1 à C9, dans lesquels, en fonction des reglages, je chercherai les réponses à mon questionnaire...
Voilà pour vous mettre dans le contexte, mon outil est quasiment fini, cependant je viens de voir que les requêtes ne tournent pas rond...

Etant donné que j'ai des champs de type texte, quand je demande des valeurs supérieures ou égales à une valeur entrée, c'est le drame, ça me sort tout et n'importe quoi... on dirait presque qu'il me fait un LIKE.

Avez vous une solution pour modifier ma requête SQL autre que créer des champs C numériques en plus? Car je suis complétement désemparé, et je dois rendre ce projet dans 2 jours...

En bref, comment faire une requête"numérique" fiable dans un champs de type texte sachant que j'écris mes requêtes dans des chaines de caractère en VBA..


Merci d'avance pour vos réponses.




PS : Ma requête :

Code :
strRequete = strRequete & " AND Tbl_objets." & C & " >= '" & QReq.Value & "'"
il faut que je sorte toutes les valeurs supérieures à 40 par exemple, mais comme c'est un champs texte, ça bug =/

J'ai vu ça quelque part :

Code sql :
WHERE clng(iif(isnumeric(MATABLE.CP);MATABLE.CP;0)) BETWEEN 91901 AND 92199
Mais je ne comprends pas, et ça ne semble pas marcher.

J'ai testé la requête avec l'outil dédié dans Access, ça me sort exactement les mêmes bétises :s
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 13h38   #2
Membre actif
 
Inscription : décembre 2009
Messages : 204
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 204
Points : 186
Points : 186
Citation:
>= '" & QReq.Value & " ' "
Si tu veux récupérer des valeurs numériques, ne met pas les quotes. Il me semble que Access fera lui même le cast.

Par contre, les valeurs de ta colonnes sont-elles toutes numériques?
tarnx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 13h41   #3
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 10
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 10
Points : 0
Points : 0
Justement, elles peuvent être textuelles ou numériques. Sinon faut que je fasse 9 autres colonnes dédiées aux nombres, pas pratique =/

Et il me faisait une erreur sans les quotes.
Sinon je crois que j'ai résolu le problème, je savais pas qu'on pouvait mettre des fonctions comme "val"' dans les requêtes, du coup j'ai fais ça :

Code :
SELECT * FROM Tbl_Objets WHERE Tbl_Objets.Piece = 'Voiture' AND Tbl_Objets.Nature = 'Diesel' AND val(Tbl_objets.C2) >= 155556
Et ça semble marcher :o. J'ai encore paniqué pour rien. Merci pour ton aide =)
switchON est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h11.


 
 
 
 
Partenaires

Hébergement Web