Problème avec proc de recherche multicritères

Résolu
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 - 7 sept. 2006 à 19:02
sp40 Messages postés 1284 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

3 réponses

sp40 Messages postés 1284 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
8 sept. 2006 à 10:17
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
3
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
8 sept. 2006 à 19:17
Bonsoir,

Ok, merci pour cette réponse,

Cordialement

Codial
3
sp40 Messages postés 1284 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
11 sept. 2006 à 09:31
Salut,


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

Simon
3
Rejoignez-nous