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
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
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![]()
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.
Ah ok, désolé, j'avais pas compris ça![]()
Pour une string sinon il y a aussi AsInteger, AsFloat, AsDateTime, AsBoolean ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part MaVar := AdoTable.FieldByName('MonChamp').AsString;
![]()
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;
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 :
ou encore
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;
J'espère que je suis tombé sur ce que tu cherches
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;![]()
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 ....
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager