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

Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
- - Dernière réponse : sp40
Messages postés
1293
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
- 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

Meilleure réponse
Messages postés
1293
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de sp40
Messages postés
270
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
5 mai 2015
3
Merci
Bonsoir,

Ok, merci pour cette réponse,

Cordialement

Codial

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de codial
Messages postés
1293
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
3
Merci
Salut,


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

Simon

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

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.