faycalche
Messages postés74Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention31 décembre 2009
-
12 août 2008 à 04:05
faycalche
Messages postés74Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention31 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
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
faycalche
Messages postés74Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention31 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.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.
faycalche
Messages postés74Date d'inscriptionvendredi 2 juin 2006StatutMembreDernière intervention31 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
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 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.