Filtre query

Signaler
Messages postés
5
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
30 décembre 2009
-
HAFTARIFOUAD
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
-




6 réponses

Messages postés
5
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
30 décembre 2009

Bon Soir
Jai deux tables:
1Article(article;code_article;annee)
2Annee(annee)
-dans form1 un dblookupcombobox1 pour les annee de table annee
-dans form2 une query et son dbgrid
-la requette est de selectionner les articles de table article
-Le probleme: je veux afficher dans dbgrid de query les articles suivant l'annee indiqué dans dblookupcombobox1
Je pense que je doigt faire un filtre de query mais comment
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Bonjour

En réponse à votre question "L'application du filtre sur un TQuery", vous pouvez utiliser l'une des deux méthodes suivantes:

1ère méthode: l'application du filtre comme tous autre composants tels TTable et TAdoTable et ...

// création du filtre
Form2.NomTable.Filter:= Annee= ''' + DBLookupComboBox.Text + '*''';
// Accepter le filtre
Form2.NomTable.Filtered :=true ;
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

HAFTARI Fouad
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Désolé pour l'erreure

La deuxième 2ème méthode sert à appliquer les requêtes SQL sur votre TQuery voila un petit exemple:

Form2.Query.Active:=false;
Form2.Query.SQL.Clear;
Form2.Query.SQL.Add( 'Select * From NomDeVotreTable.DB');
Form2.Query.SQL.Add ('WHERE (Upper(Annee) LIKE "%'+ AnsiUpperCase(DBLookupComboBox.Text)+'%")');
Form2.Query.Active:=true;

Les '%' servent de trouver le résultat le plus proche à l'entrée, CAD; si l'année figurant sur la table est 2004 ParEx il vous suffit d'entrer soit: 2,20,200,2004,004,04,4

Bonne chance et bonne continuation
Messages postés
5
Date d'inscription
vendredi 7 mars 2008
Statut
Membre
Dernière intervention
30 décembre 2009

Bon Soir
et maintenant je veux inserer dans cette requette filtrée des enreigistrements
voila le code que j'ai fait
Form2.Query1.SQL.Clear;
Form2.Query1.SQL.Add('INSERT INTO Article (Article, Code_article)');
Form2.Query1.SQL.Add('values(select Article, Code_article from Article)');
Form2.Query1.Params[0].AsString :=Edit1.Text;
Form2.Query1.Params[1].AsString :=Edit2.Text;
Form2.Query1.ExecSQL;
Form2.Query1.Filtered:=true;
Form2.Query1.Filter:='Annee='+QuotedStr(Form2.DBText1.Field.Text);
Form2.Query1.close;
Form2.Query1.open;
close;
et me pose le probleme suivant
violation de cle
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

HAFTARI Fouad