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 :

recuperer la valeur d'une cellule ayant le focus


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut recuperer la valeur d'une cellule ayant le focus
    salut a tous,

    Par quel type de commande puis-je recuperer la valeur d'une cellule d'une base de donnée comportant plusieur colonne ?

    J'ai sur une Form une DBGrid en relation avec une Table.
    Je souhaiterai recuperer la valeur des 2 premieres cellules de la ligne qui a le focus afin de les utiliser pour nommer une fiche avec ses 2 elements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TFiche.FormCreate(Sender: TObject);
    begin
    Label2.Caption := Form2.Table.FieldByName('Nom').Value;
    Label3.Caption := Form2.Table.FieldByName('Prenom').Value;
    end;
    Par ce type de commande je ne recupere que les 2 elements de la premiere ligne.


    merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Là dans la cas présent, tu définis les captions de tes 2 Labels uniquement à la création de ta Form.

    Il faut mettre tes deux lignes de code dans l'évènement AfterScroll de ta table, ainsi tes 2 labels seront actualisés à chaque déplacement dans ta table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TFiche.TableAfterScroll(DataSet: TDataSet);
    begin 
         Label2.Caption := DataSet.FieldByName('Nom').Value; 
         Label3.Caption := DataSet.FieldByName('Prenom').Value; 
    end;
    Voilou !
    @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    merci pour ta reponse,

    Mais ça ne fonctionne pas dans le cadre de mon projet.

    J'ai 3 form dans ce projet
    Dans la 1ere, j'ai une TDBGrid mis en relation avec une table Paradox
    Dans cette fenetre j'ai tout le systeme d'enregistrement de personne (nom, prenom, service.......)
    La table de donnée visible dans le TDBGrid apres un systeme de recherche se possitionne sur un enregistrement.
    Apres action sur un bouton une nouvelle Form apparait avec comme entete le "Nom" et "Prenom" de la personne selectionner dans la fenetre precedente.

    C'est pour cela que j'avais place l'evenement en OnCreate.

    Par ton conseil , je suppose que la table d'enregistrement doit etre sur la meme form que l'evenement AfertScoll non ??

    a plus

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re-Salut,

    OK je comprends mieux ton problème. Je n'avais saisi que tu souhaitais alimenté l'en-tête d'une autre fiche !

    Donc ce que je ferais: Dans l'évenement BouttonClick (Celui qui ouvre la nouvelle fiche qui contiendra l'en-tête Nom/Prénom (nommée Fiche dans le code ci-dessous), j'écrirais ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure Form2.MonBoutonClik(Sender: TObject);
    begin
       // Création de ta fiche si nécessaire...
       Fiche.Label2.Caption := Table.FieldByName('NOM').AsString;
       Fiche.Label3.Caption := Table.FieldByName('PRENOM).AsString;
       Fiche.Show; // ou showModal svt ton cas.
    end;
    tu disais plus haut:
    Par ce type de commande je ne recupere que les 2 elements de la premiere ligne.
    Cela vient surement du fait que ta fiche est créée au démarrage de l'appli, et de ce fait ta Table pointe sur le premier enregistrement au moment du create.

    Ainsi par cette méthode tu transmettras bien le nom et le prénom de l'enregistrement actuellement sélectionné.

    En espérant t'avoir aidé davantage.
    @+ Claudius

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 420
    Points : 116
    Points
    116
    Par défaut
    Ok merci,

    Je vais tester ça et je te dit ce que ça donne. Dans tous les cas c'est sympa de ta part pour ton aide

    a plus


    Edit : Genial ça marche du tonnere merci encore une fois pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recuperer la valeur d'une cellule d'un tableau
    Par drizztoli dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/10/2007, 14h54
  2. recuperer la valeur d'une cellule de tableau HTML
    Par cfouc dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2007, 13h34
  3. [SWING][JTable] recuperer la valeur d'une cellule
    Par Psykorel dans le forum Composants
    Réponses: 1
    Dernier message: 05/01/2006, 20h53
  4. [VB.NET] Recuperer la valeur d'une cellule d'un DataTable
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/03/2005, 10h59
  5. recuperer la valeur d une cellule
    Par Invité(e) dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/01/2005, 18h05

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