Modification d'un enregistrement

faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009 - 12 août 2008 à 04:05
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009 - 14 août 2008 à 14:33
salut à tous,
dans mon projet en stage, j'ia creé une application Vb6 et une BDD access.
pour efectuer la modification d'un article, une grille(datarid) qui contient tous les articles de la BDD s'affiche, ainsi que les boutton modifier, supprimer.....
ce que je veut faire , c que apres avoir selectionner un atricle,une fois que j'appuie sur le bouton modifier, un autre form s'affiche et qui contient toutes les coordonneés de l'article selectioné pour pouvoir faire la modification volue et enregistrer dans la BDD par la suite!!!
NB: j'ai utlisé un adodc relié à la grille.
Merci d'avance pour votre aide

14 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 août 2008 à 08:16
Salut,

C'est quoi le soucis au juste ? Créer une nouvelle feuille affichant les données de l'enregistrement courant, ou modifier l'enregistrement courant ?
______________________________________
DarK Sidious
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
12 août 2008 à 16:11
salut,
le soucis c de recipérer dans les zonnes textes de la nouvelle feuille les donnees concernant l'enregistrement selectioné dans la grille!!!
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 août 2008 à 16:26
Salut,

Il me semble (de tête) que pour récupèrer les données directement à partir du datagrid, il faut utiliser la propriété column avec en paramètre l'index de la colonne : il te renverra alors les données de la ligne sélectionnée pour la colonne spécifiée.
______________________________________
DarK Sidious
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
12 août 2008 à 17:25
Salut,
si ta datagid est liée à une source de données, le fait de sélectionner une ligne,
repositionne le recordset et de ce fait celui-ci pointe vers un enregistrement.
Il suffit donc de récupèrer tous les champs de celui-ci.


Si Form2 est ton formuliare de modification ,
et Form1 ton formulaire du DataGrid:

Private Sub BtnModifier_Click()
Load Form2
With Form1.Adodc1.RecordSet
 Form2.Text1.Text=.Fields("Article")
 Form2.Text1.Text=.Fields("Qte")
 Form2.Text1.Text=.Fields("Prix")
End With
Form2.Show 1
End Sub


Question alors pourquoi ne pas modifier directement dans la grille ?





<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
13 août 2008 à 01:07
merci je v essayer ce code!!
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
13 août 2008 à 01:27
salut
ce code permet de recupérer les donnees dans le formulaire de modification,mais une fois que j'affecte une modification à l'enregistrement selectionné,un autre enregistrement s'ajoute à ma BDD et non pas le selectionné qui se modifie!!!!
SVP dites moi comment realiser la procédure de la modification d'un enregistrement.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
13 août 2008 à 01:53
Montres nous d' abord ce que tu as fait comme code pour effectuer la modification.
Au pif , je dirais que tu as fait un Addnew au lieu de Edit.
On attend confirmation.

A+

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
13 août 2008 à 05:22
salut
au debut j'ai essayé d'utiliser Edit mais elle n'existait pas dans les proprités de mon recordset( il y avait seulement EditMode).apres j'ai procédé autrement en utilisant une requete:
Dim c1 As New Command
Dim a
Dim rq As String
rq = "update article set Code='" & txtcod & "', Designation = '" & txtDesi & "',famille='" & Text1 & " ', Prix_achat_HT ='" & txtPrix & " ',Stock initial= '" & Txtstk _
& " where Code='" & txtcod.Text & "'"
c1.ActiveConnection = cn
c1.CommandText = rq
c1.Execute a
MsgBox a " modification effetuée"
ni la modification s'effectue ni le message s'affiche!!
Merci
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
13 août 2008 à 14:07
Salut,
A quoi correspond la variable a ?
c1.Execute
tout simplement.


D' autre part, effectivement il n' y a pas d Edit avec Ado.
Mets tout simplement ceci:


With Form1.Adodc1.RecordSet
  .Fields("Article")=txtCode.Text
  .Fields("Designation")=txtDesi .Text
  .Fields("Famille")=tText1 .Text
   'convertir selon le type de donnée.
   .Fields("Prix_achat_HT")=CCur(txtPrix.Text) 
   .Update
End With


Et lorsque tu reviens à ton formulaire Grille, il faut rafraichir ton DataGrid pour constater les modifs.
Un rafraichissement peut se faire tout simpleme,t avec
avec un mouvement du recordset ou avec Adodc1.Refresh


                
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
13 août 2008 à 14:25
Remarque, si tu autorises la modification du code produit,
ta clause where ne tient plus.Car si au départ tu avais code=15 par exemple, et que tu le changes en 19,where Code=19"  , tu changeras soit un autre produit dont le code est 19, soit la mofif échoue s' il n' a aucun produit dans cet ordre là.
<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
13 août 2008 à 17:10
oui tu as raison!!
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
13 août 2008 à 17:11
mais est ce que c la cause de mon probléme???
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
13 août 2008 à 17:35
beh peut être..
Pour en avoir le coeur net, ne changes pas le code produit.
estes en premier lieu en ne changeant que le prix par exemple.Il faudra surtout éviter de changer le code.
Sinon, tu devra sauver l' ancien code dans une variable et le changer par le nouveau en spécifiant where code=anciencode.

<hr />... Y'en a même qui disent qu'ils l'ont vu voler.
0
faycalche Messages postés 74 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 31 décembre 2009
14 août 2008 à 14:33
normalement la variable a revoie le nombre de modifications effectuées, je l'ai utilisé plusieurs fois et ca marchait!!
0
Rejoignez-nous