[RESOLU]Drôle de problème avec une requête
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Voilà je rencontre un problème très bizarre avec une requête.

C'est à la suite d'un problème que j'avais eu avec une fenêtre de recherche. Grâce à vous tous, vous avez résolu mon problème dans

Ce sujet

Mon soucis est le suivant : je souhaite réalisé exactement le même principe mais avec cette fois une recherche sur la ville. Mais étrangement, la requête ne me renvoit jamais aucun résultat. Pourtant, avec le nom, elle marche très bien. Où est mon problème ?

Voici mon code qui marche avec le nom, mais pas lorsque que je remplace la condition du "where" :

PROCEDURE Aff_F_Telephone(Rs)

Sql est une chaîne
sFichier est une chaîne = "CLIENT" //Nom du fichier source
sRubrique est une chaîne = "CLIENT.IDCLIENT,CLIENT.NomClient,CLIENT.PreClient,CLIENT.TelClient" //Liste des rubrique à afficher dans la table
sCondition est une chaîne = " WHERE NomClient LIKE '" +Frm_Telephone.Zs_Ville..Valeur+ "%'"
sTri est une chaîne = " ORDER BY NomClient"
//On construit la requête de sélection
Sql = "SELECT " + sRubrique + " FROM " + sFichier + sCondition + sTri
SI PAS HExécuteRequêteSQL(Rs,hRequêteDéfaut,Sql) ALORS
	Erreur(HErreurInfo())
	RETOUR
FIN
//On vide l'ensemble du tableau
TableSupprimeTout(Frm_Telephone.Tab_ListCLi)
//On remplit le tableau à partir du résultat de la requête
ConstruitTableFichier(Frm_Telephone.Tab_ListCLi,Rs)
//On compte le nombre de lignes qu'il y a dans le tableau
SI TableOccurrence(Frm_Telephone.Tab_ListCLi)=0 ALORS
  Info("Aucun Client trouvé. Vérifiez l'orthographe de la ville et réessayez.")
SINON
  Frm_Telephone.Tab_ListCLi..Visible=Vrai	
FIN


Merci d'avance

Contribution le : 28/01/2004 12:53
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
salut,

dans ta requete, tu n'a pas changé le nom de ta rubrique. Tu doit mettre ... Where NomVille like ... et non pas NomClient ...
d'ou le résultat nul ^^

Argona

Contribution le : 28/01/2004 14:06
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Je sais. Excuse moi j'ai oublié de préciser que c'est ce code qui marche : c'est à dire quand je fais

Where NomClient LIKE... et que je saisis un NOM dans ZsVille, ça marche.

Alors qu'avec VilleClient LIKE..., ça ne fonctionne pas.

Et en faisant des tests, j'ai remarqué que faire d'autres recherches comme le prénom par exemple, ça ne marche pas non plus.

En marquant un point d'arrêt après l'exécution de la requête, j'ai remarqué que déjà ma requête ne renvoit rien. Donc ce n'est déjà pas un problème avec le tableau mais bien un problème de code.

Contribution le : 28/01/2004 14:15
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour AngelMJ,

ATTENTION:
Syntaxe à utiliser pour une requete simple :
SELECT
FROM
WHERE //Condition 1
AND //Optionnel Condition2
ORDER BY

Les conditions:
Pour les chaines les valeurs doivent être encadré par des ''
Les chaines ne doivent pas contenir de ' sinon il faut remplacer ' par ''
Dans la description du fichier (onglet détail) au niveau de l'analyse vérifier 'Stockage des rubriques' que les rubriques textes et clés composées termine par un caractère binaire zéro \0(fichier de type WD7) contrairement au fichier type WD5 qui complétait les textes avec des espaces.)
au niveau des rubriques de fichier, dans l'onglet avancé
Faire attention aux propriétés concernant par exemple la sensibilité de la casse.

Si vous pouviez nous fournir la syntaxe exacte de votre requête, peut être pourrions remarquer une incohérence comme celle remarqué par Argona.

Contribution le : 28/01/2004 14:42
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Ma requête est donc la suivante :

SELECT NomClient, PréClient, TelClient
FROM CLIENT
WHERE VilleClient= Zs_Ville..Valeur //La zone de saisie
ORDER BY NomClient

Etrangement, cette requête ne me renvoit aucun résultat alors que la même mais avec

WHERE NomClient= Zs_Ville..Valeur //En supposant que l'on saisie un nom dans le champ

la requête fonctionne.

Voilà.

Contribution le : 28/01/2004 14:49
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
A première vue cette requête ne peut pas fonctionner Angel
Les chaines de type chaine de caractères doivent encadrées par des quotes ''
de plus, il est préférable d'utiliser des champs de type variant pour stocker les paramètres.

[code]
vVilleChient est un Variant

vVilleClient = Zs_Ville..valeur

SELECT NomClient, PréClient, TelClient
FROM CLIENT
WHERE VilleClient= '" + vVilleClient +"' "
ORDER BY NomClient

si les quotes ne sont pas renseignées la requête interprète le paramètre comme une valeur numérique soit 0

Contribution le : 28/01/2004 15:09
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Snif, ça ne marche toujours pas. Toujours le même problème. Ce que je ne comprends pas, c'est que le même code marche très bien avec juste la condition qui change.

Voilà mon code révisé avec ce que Doc m'a proposé :

PROCEDURE Aff_F_Telephone(Rs)

Vville est un Variant
Vville=Frm_Telephone.Zs_Ville..Valeur
Sql est une chaîne
sFichier est une chaîne = "CLIENT" //Nom du fichier source
sRubrique est une chaîne = "CLIENT.IDCLIENT,CLIENT.NomClient,CLIENT.PreClient,CLIENT.TelClient" //Liste des rubrique à afficher dans la table
sCondition est une chaîne = " WHERE VilleClient LIKE '" +Vville+ "'"
sTri est une chaîne = " ORDER BY NomClient"
//On construit la requête de sélection
Sql = "SELECT " + sRubrique + " FROM " + sFichier + sCondition + sTri
SI PAS HExécuteRequêteSQL(Rs,hRequêteDéfaut,Sql) ALORS
	Erreur(HErreurInfo())
	RETOUR
FIN
//On vide l'ensemble du tableau
TableSupprimeTout(Frm_Telephone.Tab_ListCLi)
//On remplit le tableau à partir du résultat de la requête
ConstruitTableFichier(Frm_Telephone.Tab_ListCLi,Rs)
//On compte le nombre de lignes qu'il y a dans le tableau
SI TableOccurrence(Frm_Telephone.Tab_ListCLi)=0 ALORS
  Info("Aucun Client trouvé. Vérifiez l'orthographe de la ville et réessayez.")
SINON
  Frm_Telephone.Tab_ListCLi..Visible=Vrai	
  Frm_Telephone.Zs_Date..Visible=Vrai
  Frm_Telephone.Cb_Resultat..Visible=Vrai
FIN



Contribution le : 28/01/2004 15:26
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Test ta requete dans WDMAP
si WDMAP te renvoi toujours aucune réponse, utilise l'assistant de recherche dans WDMAP en ne renseignant que les conditions
Si WDMAP te renvoi des données alors teste ta requete sql avec WHERE VilleClient>='"+ vVille + '"
si ta requete te renvoi des enregistrements alors il te faudra complete vVille avec des espaces pour que la taille de vVille soit = à la taille de la rubrique ClientVille descrit dans l'analyse.

Contribution le : 28/01/2004 17:03
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Utilisateur WDF
Inscrit:
15/01/2004 11:33
De Etoile (26)
Post(s): 70
Ca y est, j'ai trouvé le problème grâce WDMAP :

En fait, c'était un problème de majuscules. Je m'explique :

Dans ma fenêtre de saisie des clients, il n'y avait pas de filtre sur la zone de saisie de la ville alors que dans la fenêtre de recherche, j'ai mis un filtre sur le nom de la ville pour qu'elle soit obligatoirement saisie.

Voilà pourquoi cela marché avec le nom : il y avait un masque de saisie TOUT EN MAJUSCULES sur la zone du saisie du nom, donc tout s'explique.

Merci pour ton aide Doc ^^ Je n'aurai jamais pensé à aller sous WDMAP.

Contribution le : 29/01/2004 10:06
Créer un fichier PDF de la contribution Imprimer


Re: Drôle de problème avec une requête
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour Angel

Un conseil.
lorsque l'on rencontre un problème en informatique, il toujours bon de réduire le code au plus strict minimum et de la faire evoluer petit à petit son code pour voir à quel momment et partie du code ou de la fonction pose problème

Dans ton cas une premier requete avec SELECT * FROM

test
puis ajout du tri
test
ajout d'une condition simple
test
faire evoluer la condition
etc...
etc...

Citation :

En electricité quan un appareil ne fonctionne pas au lieu de démonter l'appareil, on regarde si il y a du courant à la prise.


Contribution le : 29/01/2004 11:17
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2