cs_apz
Messages postés281Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention11 avril 2013
-
7 avril 2002 à 15:55
cs_apz
Messages postés281Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention11 avril 2013
-
9 avril 2002 à 18:06
Salut,
j'utilise la requete suivante et quand je fais passer le TQUERY1.Active a false le message suivant apparait :
defferrence de type dans une instruction
La requete :
select *
From T1, T2, T3
where
(ref=:mref)
and (b='_3')
and (v='2%')
and (N LIKE '42%')
cs_Nono40
Messages postés962Date d'inscriptionmercredi 3 avril 2002StatutMembreDernière intervention12 septembre 20062 7 avril 2002 à 17:29
L'erreur vient du fait que tu essayes de comparer N de type Numérique avec '42%' de type chaine. Je suppose que le but de cette ligne était de filtrer tous les nombre commençant par 42, dans ce cas il faut écrire :
And ( CAST ( N As CHAR(20) )LIKE '42%' )
Pour le filtre sur V je suppose qu'il faut garder toutes les valeurs commençant par 2, dans ce cas il faut écrire AND (V LIKE '2%') sinon le BDE ne gradera que les lignes contenant exactement '2%'
Il en va de même pour le filtre sur B, si le but du jeu était de garder seulement '_3', c'est bon. Mais s'il faut aussi garder 'A3' et 'X3' il faut changer le filtre par AND ( B LIKE '_3' ). Mais si il faut aussi garder 'A3B' et 'G3Toto' il faut mettre AND (B LIKE '_3%' )
Tu trouveras beaucoup d'aide sur la syntaxe des requètes SQL via le BDE dans le fichier
C:\PROGRAM_FILES\FICHIERS_COMMUNS\BORLAND_SHARED\BDE\LOCALSQL.HLP
cs_apz
Messages postés281Date d'inscriptiondimanche 7 avril 2002StatutMembreDernière intervention11 avril 2013 9 avril 2002 à 18:06
Merci Nono40
Pour la chaine de caractere B elle contient un seul caractere, et j'ai mis le '_3' parce que dans les donnees de la base on trouve des espaces devant le chiffre 3
pour la chaine V elle va de meme
pour le champs N il contient un numero de telephone composé de 6 chiffres ex : 421000 ou 461000 et je dois avoir tous les numero commencant par 42 par exemple .