IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Erreur lors du filtrage


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de CreedApollo
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2019
    Messages : 36
    Par défaut Erreur lors du filtrage
    Salut tout le monde,
    j'ai ce message d’erreur après que j'utilise le bouton du filtrage
    Voici le code que j'utilise en sachant que j'utilise un RadioGroup pour filtrer ma table et un ADOQuery:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm3.sButton1Click(Sender: TObject);
     var x:string;
    begin
    case RadioGroup1.ItemIndex of
    0: x:='Num_inscription';
    1: x:='Num_identification';
    2: x:='Nom';
    3: x:='Prénom';
    end;
    ADOQuery2.Filter:=x+'='''+sEdit1.Text+'''';
    ADOQuery2.Filtered:=true;
    end;
    Nom : erreur.jpg
Affichages : 325
Taille : 27,9 Ko

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    je ne suis pas très porté sur les filtres (sauf peut-être pour les tables Paradox)
    néanmoins quelque chose me choque vous ne désactivez pas le filtre avant de le modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TForm3.sButton1Click(Sender: TObject);
     var x:string;
    begin
    case RadioGroup1.ItemIndex of
    0: x:='Num_inscription';
    1: x:='Num_identification';
    2: x:='Nom';
    3: x:='Prénom';
    end;
    ADOQuery2.Filtered:=False;
    ADOQuery2.Filter:=x+'='+QuotedStr(sEdit1.Text);
    ADOQuery2.Filtered:=true;
    end;

  3. #3
    Membre actif Avatar de CreedApollo
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2019
    Messages : 36
    Par défaut
    C'est toujours la même erreur...

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Et bien n'utiliser pas de filtre et modifiez directement votre requête SQL

  5. #5
    Membre actif Avatar de CreedApollo
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2019
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2019
    Messages : 36
    Par défaut
    j'ai mis cette Requête SQl dans le ADOQuery:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM table_stagiaire
    WHERE code_section:=code_section
    Le problème c'est quand je l'utilise pour la première fois ça marche parfaitement mais quand je veux l'utilisé une 2eme fois ça me donne le message d'erreur

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 598
    Billets dans le blog
    65
    Par défaut
    Déjà votre requête est erronée
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table_stagiaire WHERE code_section=:code_section
    ensuite vous n'indiquez pas le message d'erreur mais, en supposant que vous vouliez implémenter votre "filtrage" cela donnerait quelque chose comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm3.sButton1Click(Sender: TObject);
     var x:string;
    begin
    case RadioGroup1.ItemIndex of
    0: x:='Num_inscription = '+QuotedStr(Edit1.text);
    1: x:='Num_identification= '+QuotedStr(Edit1.text);
    2: x:='Nom= '+QuotedStr(Edit1.text);
    3: x:='Prénom= '+QuotedStr(Edit1.text);
    else x:='1=1'; // tous 
    end;
    ADOQuery2.Active:=False;
    ADOQuery2.SQL.Text:=Format('SELECT * FROM table_stagiaire WHERE %s',[x]);
    ADOQuery2.Active:=true;
    end;
    cela étant il y a beaucoup d'autres possibilités.
    Une des choses que j'aime avec firedac c'est qu'il y a aussi les macros tout à fait adaptées à ce genre de cas

Discussions similaires

  1. Erreur lors de l'execution d'un script jsp
    Par tuxor dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/08/2004, 12h35
  2. Erreur lors de la connexion
    Par mathll65 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 23/03/2004, 17h46
  3. Erreur lors d'une requete INNER JOIN
    Par k-lendos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/03/2004, 15h09
  4. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16
  5. [VB6] Erreur lors de l'ouverture d'un document Word
    Par Marco le Pouillot dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/01/2003, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo