Bonjour à tous!
Encore moi,
Bon je suis en train de travailler avec des composantes ADO (Connection et Query) ainsi qu'un DBGrid et je cherche à filtrer plusieurs champs à la fois. Cela fonctionne très bien, mais il semble avoir un problème avec les espaces. Je commence par le code :
Lorsque j'entre dans ma boite de texte 'ID_Filtre', le filtre s'applique correctement, tout comme si j'entre du texte dans l'autre boite 'Client_Filtre'. Seulement, si la valeur que je tente de retrouver est disons "Antoine Lac", le message d'erreur suivant appraît lorsque j'enfonce la barre d'espace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 void __fastcall TForm2::ID_FiltreKeyUp(TObject *Sender, WORD &Key, TShiftState Shift) { AnsiString filter; if(ID_Filtre->Text != "") { filter = "Job_ID LIKE %" + ID_Filtre->Text + "%"; ADOQuery->Filter = filter; ADOQuery->Filtered = true; } if(Client_Filtre->Text != "") { if(filter != "") filter += " and "; filter += "Customer_Company LIKE %" + Client_Filtre->Text + "%"; ADOQuery->Filter = filter; ADOQuery->Filtered = true; } if(Client_Filtre->Text == "" && ID_Filtre->Text == "") { ADOQuery->Filtered = false; } }
"Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres."
Ce qui m'a surpris en premier lieu, c'est la langue de l'erreur. Mon BCB est en anglais et normalement les message d'erreur sont en anglais ce qui me laisse croire que c'est un problème au point de vue d'Acces (qui est en français).
J'ai faites quelques recherches et je n'ai pas trouver d'information à ce sujet.
Merci de votre intérêt,
Antoine
Partager