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

Bases de données Delphi Discussion :

Recherche dans une table


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut Recherche dans une table
    Bonjour

    En fait je veux rechercher une valeur dans une table et afficher son correspondant. cest a dire jai une table ou sont stockee des numeros d etelephone avec les adresses correspondantes. si lutilisateur saisi au clavier le numero de telephone, il faut apres validation que le code a ecrire fasse une recherche dans la table et affiche l`adresse correspondante. Avez-vous une idee??

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Dans est stocké ta table, est-ce une table SQL et tu passe par un DataSet (ou TTable ou TQuery) ou bien par table tu entends un tableau, un TStringList, etc...
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    cets une TTable qui a 2 champs, un champ pour les numeros et lautre pr les adresses

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Est-ce que tu veux afficher le champ adresse présent dans la même TTable que les numéros de téléphones ou bien veux-tu récupérer les adresses mais qui se trouveraient dans une autre TTable ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Je veux bien afficher le champ Adresse présent dans la même TTable que les numéros de téléphones. Par exemple le 10101010 correspond a l`adresse RUe Moulin, le 25252525 a l`adresse RUE DU BENIN, le 69696969 a l`adresse CHAMPS ELYSEES donc si j`inscris dans mon edit1 le numéro 25252525 après click le bouton OK, je dois voir dans mon edit2 s`afficher RUE DU BENIN et ainsi de suite...

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Alors la méthode Locate du TTable me semble tout indiqué pour toi, consulte l'aide pour son utilisation. Néanmoins attention si ton TTable est relié à des DataSource (pour l'affichage) tu dois faire un DisableControls avant traitement puis un EnableControls après sinon tu vas voir ta grille (ou autre) "scintiller" et bouger anarchiquement pendant la recherche. Si Locate te retourne True, alors ton TTable est positionné correctement et tu peux récupérer la valeur du champ comme à l'habitude.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    oK cher Aka.
    Je vais essayer et si tout est bon, je passerai mettre RESOLU.

  8. #8
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut Recherche Adresse
    Bonjour,
    J'ai une autre idée,pourquoi ne pas utiliser un filtre, c'est plus rapide, voyez ce bout de code, ça peut vous être utile.
    remplacez LAST_NAME par ce que vous voulez.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    table1.Filter:='LAST_NAME ='+QuotedStr(edit1.Text+'*');
    table1.Filtered:=true;
    end;

  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut :arf:
    merci Liazidf
    je vais essayer celui la aussi pour voir. LAST_NAME sert a quoi?

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    C'est le nom de ton champ, ici LAST_NAME n'est qu'à titre d'exemple. Un filtre sur un DataSet ressemble à une condition WHERE en SQL en réalité.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  11. #11
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    ok

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    J`ai teste le code et cest bon. seulement je me demande comment récupérer la valeur contenue dans le champ LAST_NAME et lafficher dans mon edit2???

  13. #13
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut
    Citation Envoyé par michaellynx Voir le message
    J`ai teste le code et cest bon. seulement je me demande comment récupérer la valeur contenue dans le champ LAST_NAME et lafficher dans mon edit2???
    le champ LAST_NAME est utiilisé à titre d'exemples, je suppose que pour vous ça sera N° Telephone à ce que j'ai compris, maintenant pour afficher l'adresse, tu devrais utiliser un DBedit avec la table.
    bon courage

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Tout a fait. jai mis un Dbedit1 avec toutes les propriétés Datasource, ...filter=true...
    Mais il naffiche toujours pas le code correspondant au Numéro Telephone que je saisis au clavier dans mon edit1

  15. #15
    Membre actif Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Points : 261
    Points
    261
    Par défaut
    Citation Envoyé par michaellynx Voir le message
    Tout a fait. jai mis un Dbedit1 avec toutes les propriétés Datasource, ...filter=true...
    Mais il naffiche toujours pas le code correspondant au Numéro Telephone que je saisis au clavier dans mon edit1
    Peut tu nous envoyer un bout de ce code ?

  16. #16
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    Avec plaisir. Voici le bout de code que jai ecrit. En fait a l'exécution quand je clique sur le bouton, la page se ferme normalement cest a dire que le CODEPUK correspondant au NUMEROTELEPHONE napparait.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    procedure TForm3.BitBtn1Click(Sender: TObject);
    begin
       table1.Filter:='CODEPUK='+QuotedStr(edit1.Text+'*');
       table1.Filtered:=true;
       dbedit1.Visible:=true;
    end;
    :

    Mais avant le click il y a un CODEPUK aléatoire qui s affiche dans le DBedit1..

  17. #17
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Ben c'est normal ça vu que le filtre n'est positionné que lorsque tu clique sur le bouton. Avant le clic il y a le CODEPUK correspondant à l'enregistrement actif du DataSet relié au DBEdit.

    Si tu veux que cela soit actif dès que tu sors du TEdit de saisie du numéro de téléphone, tu dois positionner un évènement OnExit sur le TEdit et y faire la même action que sur le clic du bouton. Néanmoins ça dépend vraiment de ce que tu veux faire réellement.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  18. #18
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    ok je mexplique alors ...mieux:
    l'objectif c'est de stocker dans ma table une liste de NUMERODETELEPHOEN avec chacun leurs CODEPUK correspondant. lorsque l' utilisateur saisi un code dans l`Edit1 qui represente le champ de saisie du NUMEROTELEPHONE, il faudrait un evenement de facon a ce que le programme recherche dans la TTable, d'abord le NUMEROTELEPHONE saisi, ensuite récupère le CODEPUK correspondant et l'affiche dans le DBedit.
    Voila ce que j'aimerais obtenir.
    cest vrai que je cafouille un peu parce que je ne suis pas pro mais j'aimerai bien y arriver puisque je suis oblige de faire ce projet en plus...

  19. #19
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut
    ou si ce nest pas possible d obtenir ce que je veux avec un TTable, sil y a un autre moyen, dites le moi...

  20. #20
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    C.f. la deuxième partie de ma précédente réponse.

    Si tu ne veux pas que le recherche s'effectue dès que l'utilisateur sort du champ de saisie alors il faudrait que tu indiques, précisément, à quel moment cela doit faire la recherche.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

Discussions similaires

  1. [SQL] recherche dans une table
    Par H-bil dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 06/06/2006, 11h26
  2. Recherche dans une table via un formulaire
    Par Z[ee]k dans le forum Access
    Réponses: 3
    Dernier message: 05/06/2006, 11h14
  3. [VB6] Erreur durant la recherche dans une table
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2006, 17h21
  4. Recherche dans une table
    Par Fredo67 dans le forum Access
    Réponses: 2
    Dernier message: 28/02/2006, 17h21
  5. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12

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