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 une valeur d'une ADOTable dans un Edit


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 27
    Points
    27
    Par défaut Recuperer une valeur d'une ADOTable dans un Edit
    Bonjour,

    Comment on peux recuperer une valeur d'une ADOTable dans un Edit.
    Par exemple, lorsque je veux la valeur de ma deuxième ligne de ma table "compte", de la colonne "nom", que dois-je mettre ?

    i:=2;
    edit1.text:=adotable1......(i);

    Merci

  2. #2
    Membre habitué Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Points : 144
    Points
    144
    Par défaut
    Dans l'onglet AccessBD, tu prends le composant TDatasource.
    Tu en poses un (appelons le Dts1) et dans sa propriété dataset tu sélectionne ton ADOTable.
    Ensuite dans controleBD tu prends un DBEdit(DBEdt1).
    Tu mets sa propriété Datasource sur Dts1 et sa propriété DataField sur le champs que tu veux afficher.

    Après ça tu verras Ton Edit se renseigner automatiquement à l'ouverture et au parcours de ta table

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    Je suis d'accord avec ca, mais le probleme c'est que je veux recuperer la valeur dans une variable pour faire un calcul par la suite.

  4. #4
    Membre habitué Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Points : 144
    Points
    144
    Par défaut
    Ah ok, désolé, j'avais pas compris ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVar := AdoTable.FieldByName('MonChamp').AsString;
    Pour une string sinon il y a aussi AsInteger, AsFloat, AsDateTime, AsBoolean ...


  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    MaVar := AdoTable.FieldByName('MonChamp').AsString;

    Lorsque tu utilises un DBGrid, effectivement, ta solution est juste.

    Je n'utilises pas de dbgrid, c'est pourquoi, je veux ecrire le code. Par exemple, dans ma table "compte", j'ai :

    Num : Nom : Valeur
    1 : X : 10
    2 : Y : 15

    J'ai à un moment donné besoin de recuperer la valeur Y dans un edit pour faire un calcul avec d'autres valeurs.
    Je pense qu'il faut utilser un itemIndex (qui serait egal à i) ou quelquechose de ce genre qui irait recuperer la valeur dans ma table :

    Var i:integer
    Begin
    MaVar := AdoTable.FieldByName('MonChamp').ItemIndex ....AsString;

  6. #6
    Membre habitué Avatar de Guile
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 130
    Points : 144
    Points
    144
    Par défaut
    Je ne suis pas sur de bien comprendre ce que tu cherches à faire mais ce que je peux te dire, c'est que dans une table, on a juste accès aux champs de l'enregistrement en cours. Donc tu dois te positionner sur ta ligne 2 pour avoir accès à ta valeur Y. ça donnerait quelquechose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    with ADOTable do
    begin
      if Locate('Num',2,[]) then
      begin
         Edit.Text := FieldByName('Nom').AsString;
      end;
    end;
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    with ADOTable do
    begin
      First;
      While not Eof do
      begin
         if FieldByName('Num').AsInteger = 2 then
           Edit.Text := FieldByName('Nom').AsString;
         Next;   
      end;
    end;
    J'espère que je suis tombé sur ce que tu cherches

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 27
    Points
    27
    Par défaut
    T'as presque repondu à ma question, mais tu m'as tellement ouvert le boulevard, que j'ai trouvé.... ce qui manquait !!!!
    J'ai utilisé ton 2° code et rajouté une condition ....
    Merci BEAUCOUP car c'était trop simple ....

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 2
    Dernier message: 20/11/2011, 16h17
  3. Réponses: 7
    Dernier message: 14/02/2011, 00h53
  4. recuperer la valeur d'une combobox pour la comparer dans une requête
    Par Rukawa dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/06/2006, 11h22
  5. Réponses: 5
    Dernier message: 14/06/2006, 16h35

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