Probleme de requete avec un data Report

cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005 - 16 août 2005 à 00:01
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 16 août 2005 à 22:40
Bonjour,

J'ai un probleme que ma requete.

J'utilise le générateur de requete du data environement. C'est une requete assez simple, mais il y a certainement une erreur de syntaxe.

SELECT tbl.* FROM tbl WHERE NumAuto = " & txtNumAuto & "

Le message d'erreur est le suivant: Type de données incompatible dans l'expression du critère.
Si je remplace " & txtNumAuto & " par un chiffre la requete me donne le bon resultat
Je ne voie pas quelle est la bonne syntaxe

Merci d'avance pour votre aide

14 réponses

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
16 août 2005 à 00:46
Salut,



Tu peux essayer ainsi

"SELECT tbl.* FROM tbl WHERE NumAuto=" & txtNumAuto.Text & ";"


++

Zlub
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 août 2005 à 01:21
salut,
en effet, txtnum est interprété comme une string

il faut remplacer par Val(txtNumAuto)
et les & " finaux ne sont peut-être pas indispensables.... (à voir)

Zlub, VB n'a pas tout à fait la même syntaxe. les requêtes ne doivents pas se terminer par ; .

PCPT
0
Paladin2107 Messages postés 154 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 5 septembre 2008 1
16 août 2005 à 09:09
"SELECT * FROM tbl WHERE NumAuto='" & txtNumAuto.Text & "'"

Couscous
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 09:12
Bonjour,

dans un premier temps merci pour vos réponses, mais cela bloque toujours.

Quand je met "& txtNumAuto.Text & ";" il n'accepte pas effectivement le point virgule

et quand je met val(txtNumAuto) le message suivant apparait à l'execution:
le parametre txtNumAuto n'a pas de valeur par defaut.

Merci pour vos réponses de nouveau
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 8
16 août 2005 à 10:02
Salut,

PCPT : je mets
toujours un ; à la fin de mes requêtes, puisque c'est du SQL
(facultatif mais sémantiquement plus correcte) et j'ai pas de pb ...
quand au simple quote, c'est plus propre, mais facultatif pour des
valeurs numériques.



Bon retour au probleme : t'es sure qu'il y a quelque chose dans ton
textbox ? Je suppose que t'as un message d'erreur des le chargement de
ton formulaire et que tu fais une requete dans le form_load, non ?



Si c'est le cas c'est normal que ça plante, essais ceci


If txtNumAuto.Text <> vbNullString Then

sql = "SELECT * FROM tbl WHERE NumAuto='" & Val(txtNumAuto.Text) & "'"

Else

sql = "SELECT * FROM tbl"

Endif


++

Zlub
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 août 2005 à 14:15
Salut,
ok Zlub, en VB6 en tout cas, sur mon PC qui est bien plus capricieux que la moyenne, aucune requêtes n'a jamais fonctionné avec un ; ....

poulpo ->
*que contient txtNumAuto
*quel VB ?

PCPT
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 14:37
Alors non pas exactement.

Effectivement mon txtNumAuto se trouve dans un formulaire. frmIntervention.

Je que je souhaite faire, c'est afficher les données de ce formulaire dans un data report pour l''imprimer.

Alors ce que je viens de faire est simple. J'ai crée une variable public dans un module iNumAuto, et je lui ai attribué la valeur du txtNumAuto.

Dans mon data report donc j'ai crée un data environement dans lequel je crée ma connexion a la base et donc fait ma requete par le biais du generateur de requete.

Donc maintenant:
SELECT tblDepAdom.* FROM tblDepAdom WHERE NumAuto = val(iNumAuto)
Le message d'erreur suivant apparait:
Le parametre iNumAuto n'a pas de valeur par defaut.

J'ai essayé egalement avec '" & iNumAuto & "' et " & iNumAuto & " c'est pas le meme message mais il ya toujours un probleme

Merci de continuer a m'aider car c'est la galere
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 14:41
Hello pcpt
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 14:42
alors le txtNumAuto contient des chiffres

la version de vb est la 6.0
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 août 2005 à 17:55
juste avant ton select, un MsgBox de iNumAuto ou de txtNumAuto, çà te donne quoi?

et ta requête ne doit logiquement te donner qu'une seule occurence... (je dis çà au cas ou je n'aurais pas bien compris quelque chose....)

PCPT
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 21:30
Le msgbox me donne la valeur de iNumAuto donc le bon chiffre

il doit y avoir une erreur de syntaxe dans le where mais ou?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 août 2005 à 21:50
....

"SELECT tblDepAdom.* FROM tblDepAdom WHERE tblDepAdom.NumAuto = " & val(iNumAuto)

(t'as pas mis le nom de la table)

PCPT
0
cs_poulpo21 Messages postés 24 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 1 septembre 2005
16 août 2005 à 22:17
je te remercie pour ton aide mais ce n'est pas la cause du probleme il ya simplement une erreur de syntaxe je pense dans la clause

apres le where NumAuto = ??????

l'erreur est a partir du egal mais ou???

je ne sais pas
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 août 2005 à 22:40
= '" & VARIABLE & "'"
(en supposant que le select est précédé d'une double-cote ")
PCPT
0
Rejoignez-nous