Problème avec proc de recherche multicritères [Résolu]

codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 7 sept. 2006 à 19:02 - Dernière réponse : sp40 1293 Messages postés mardi 28 octobre 2003Date d'inscriptionContributeurStatut 3 juillet 2015 Dernière intervention
- 11 sept. 2006 à 09:31
Bonsoir,


j'essaie d'écrire une procédure de recherche multi critère, qui fonctionne sous VB, mais avec Delphi j'ai un message d'erreur récurrent:


"Les arguments sont de types incorrect, en dehors des limites autorisées ou en conflit les uns des autres."


Mon formulaire, pour le moment, est composé de boutons A.............Z et d'une TBLookupComboBox (lstCP) qui donne une liste de codes postaux.


CritAlpha: est une variable de type string générée quand on clique sur un des boutons,


Un DBGrid avec DataSource un ADOQuery ()


Je vous soumets l'ébauche de ma proc:


begin
    moncritere := '';
    // Recherche sur la première lettre du nom
    //========================================
    If Length(CritAlpha) > 0 Then
        moncritere := '[nom_client] Like ''' + CritAlpha + '*''''AND';
   
    //Recherche sur un Code postal
    //============================
    If lstCP.Text <> '' Then
        moncritere := moncritere + ' [cp_client] Like ''' + lstCP.text + ''' AND';


    // Résultat
    //=========
    If Length(moncritere) > 0 Then
        begin
        moncritere := Copy(moncritere, 1,Length(moncritere) - 4);
        showmessage(moncritere);
        QryListe.Filter :=moncritere;
        QryListe.Filtered:=true;
        end;
end;
=============
Nota: Sélectionné séparemment ça fonctionne, mais quand je sélectionne un bouton et ma liste et ma liste déroulante,
j'ai:


[nom_client] Like 'C*''AND [cp_client] Like '83700'


Il semble que le problème vienne des '' après [nom_client] Like 'C*'' et je ne comprends pas pourquoi.

Si quelqu'un veut bien m'aider à résoudre ce problème.

D'avance merci

Cordialement

Codial
Afficher la suite 

Votre réponse

3 réponses

sp40 1293 Messages postés mardi 28 octobre 2003Date d'inscriptionContributeurStatut 3 juillet 2015 Dernière intervention - 8 sept. 2006 à 10:17
+3
Utile
Bonjour,


Quand je fait une requête avec un "Like", j'utilise le caractère "%".

Ex : Pour récupérer les enregistrements avec les clients commençant par "C" :

CLIENT like 'C%'

Simon
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sp40
codial 270 Messages postés mercredi 14 avril 2004Date d'inscription 5 mai 2015 Dernière intervention - 8 sept. 2006 à 19:17
+3
Utile
Bonsoir,

Ok, merci pour cette réponse,

Cordialement

Codial
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de codial
sp40 1293 Messages postés mardi 28 octobre 2003Date d'inscriptionContributeurStatut 3 juillet 2015 Dernière intervention - 11 sept. 2006 à 09:31
+3
Utile
Salut,


Juste une petite précision... je crois que c'est sur ma réponse que tu dois cliquer "réponse acceptée"...

Simon
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sp40

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.