MSFlexGrid comment faire:regarder ce code

kaiemma Messages postés 22 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 5 mars 2012 - 18 sept. 2009 à 10:43
kaiemma Messages postés 22 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 5 mars 2012 - 18 sept. 2009 à 12:11
Bonjour, c'est encore moi avec mon même programme. il se trouve que j'ai utilisé un msflexgrid mais je n'arrive pas à enregistrer les informations de mon flexgride dans ma base de données access,mon flexgrid comprend plusieurs lignes.voici le code que j'ai écrit:Private Sub Command1_Click()
If Combo2 = " " Then
Exit Sub
End If
If Combo2 <> " " Then
Set Rec = MaBase.OpenRecordset("select * from Commandes order by N°cde")
With Rec
.AddNew
!N°cde = Combo2
!Date1 = Text2
!fournisseur = Combo3
.Update
End With
Set Rec = MaBase.OpenRecordset("select * from Suivisentree order by Reference")
With Rec
.AddNew
MSFlexGrid2.Rows = MSFlexGrid2.Rows + 1
MSFlexGrid2.Row = MSFlexGrid2.Rows - 1
MSFlexGrid2.Row = 1
MSFlexGrid2.Col = 0
!Reference = MSFlexGrid2.Text
MSFlexGrid2.Col = 1
!Designation = MSFlexGrid2.Text
MSFlexGrid2.Col = 2
!qteajou = MSFlexGrid2.Text
MSFlexGrid2.Col = 3
!prixu = MSFlexGrid2.Text
MSFlexGrid2.Col = 4
!Ctotal = MSFlexGrid2.Text

.Update
MsgBox "Enregistrement effectuée"
.Close
End With
End If
End Sub
merci, je compte vraiment sur vous, c'est très important

4 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
18 sept. 2009 à 11:00
Bonjour,

J'aurais quelques suggestions à t'apporte rpour améliorer ton code :

Tu n'as pas besoin de tester ta 1ere condition, vu que tu ne fais rien
il te suffit de mettre if combo2.text<> " " then ton code

Concernant ton souci de recordset, je pense qu'il faut le fermer..
Tu l'ouvres 2 fois de suite.
Set Rec = MaBase.OpenRecordset("select * from Commandes order by N°cde")
With Rec
.AddNew
!N°cde = Combo2
!Date1 = Text2
!fournisseur = Combo3
.Update
End With
Rec.close
Set Rec = MaBase.OpenRecordset("select * from Suivisentree order by Reference")


L'expérience, c'est une connerie par jour, mais jamais la même..
0
kaiemma Messages postés 22 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 5 mars 2012
18 sept. 2009 à 11:30
merci,je vais essayer.maintenant dans le cas contraire ou je dois faire ressortir les enregistrements à partir du combo2 qui correspond au numéro de commande, comment dois-je m'y prendre.merci d'avance
0
kaiemma Messages postés 22 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 5 mars 2012
18 sept. 2009 à 12:05
le problème du code enregistrer se situ surtout au niveaudes lignes du tableau,une colonne dans access ne peut pas contenir plusieurs données.il faudrait aller à la ligne suivante pour enregistrer les éléments correspondant
0
kaiemma Messages postés 22 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 5 mars 2012
18 sept. 2009 à 12:11
lolokun, ou êtes vous il me met encore l'erreur 3022 qui parle de risque de doublons ou de clé primaire ou relation interdisant des doublons.alors que j'ai autoriser les doublons dans mes champs
0
Rejoignez-nous