morphman59
Messages postés2Date d'inscriptionjeudi 11 mars 2010StatutMembreDernière intervention19 mars 2010
-
18 mars 2010 à 03:58
morphman59
Messages postés2Date d'inscriptionjeudi 11 mars 2010StatutMembreDernière intervention19 mars 2010
-
19 mars 2010 à 14:51
Bonjour,
Voila je voudrais savoir si il est possible que lorsque l'utilisateur selectionne une ligne du DBGrid la table correspondante se place sur le meme enregistrement pour pouvoir le modifier grace a une Form differente avec des Tedit?
Voici mon code pour l'appel de la fonction modifier l'enregistrement
procedure TSDIAppForm.Bt_modifierClick(Sender: TObject);
begin
// Récupére la marque,le nom,le parametre, le prix, la qtéstock etoption et les places dans les Combobox et edit
form1.marque_combobox.Text:=adoTable1.FieldByName('Marque').AsString;
Form1.nom_combobox.Text:=adoTable1.FieldByName('Nom').AsString;
Form1.parametre_combobox.Text:=ADOTable1.FieldByName('Parametre').AsString;
Form1.prix_edit.Text:=ADOTable1.FieldByName('prix').AsString;
Form1.qte_edit.Text:=ADOTable1.FieldByName('Qte_en_stock').AsString;
Form1.Alerte_edit.Text:=ADOTable1.FieldByName('niveau_alerte').AsString;
Form1.option_checkbox.Checked:=ADOTable1.FieldByName('piece_option').AsBoolean;
// Affiche la form
Form1.ShowModal;
end;
et ici le code de modification de la table
procedure TForm1.Bt_applimodifClick(Sender: TObject);
begin
// Positionne la table en mode Edition
SDIAppForm.ADOTable1.edit;
//Place la marque, nom, parametre, prix, qtestock, et option dans la table
SDIAppForm.ADOTable1.FieldByName('Marque').Value := marque_combobox.Text;
SDIAppForm.ADOTable1.FieldByName('Nom').Value := Nom_combobox.Text ;
SDIAppForm.ADOTable1.FieldByName('Parametre').Value := Parametre_combobox.Text ;
SDIAppForm.ADOTable1.FieldByName('Prix').Value := prix_edit.Text ;
SDIAppForm.ADOTable1.FieldByName('Qte_en_stock').Value := Qte_edit.Text ;
SDIAppForm.ADOTable1.FieldByName('Niveau_alerte').Value := alerte_edit.Text ;
SDIAppForm.ADOTable1.FieldByName('Piece_option').AsBoolean := option_checkbox.Checked ;
//Enregistre les modification dans la table
SDIAppForm.ADOTable1.Post;
//ferme la form
Close;
end;
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 19 mars 2010 à 13:51
Bonjour,
je ne peux tester ton code pour l'instant
mais sur le principe, lors du positionnement d'un enregistrement
dans un grid si bien entendu ton grid est relié à une table,
ce dernier est automatiquement positionné :
A cet instant, deux possiblités existent ,
soit de modifier directement les données dans
le grid (pas très pratique) ou
créer un formulaire lié avec des champs db et faire cette modification dedans.
Ce qui donne une forme avec un grid et
un formulaire le tout en db
morphman59
Messages postés2Date d'inscriptionjeudi 11 mars 2010StatutMembreDernière intervention19 mars 2010 19 mars 2010 à 14:51
Bonjour cantador, et merci pour ta reponse.
En effet la selection se fait bien dans le Grid et dans la table mais j'avais rejouter une programation des items des combobox, par rapport a ma table, a l'ouverture du formulaire de modification, ce qui fesait que la table retourner automatiquement au dernier enregistrement de ma table.
Apres avoir deplacer cette programation la modification se fait correctement. merci