Probleme avec addnew

[Résolu]
Signaler
Messages postés
66
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
66
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
27 novembre 2015
-
salut
je voulais ajouter a la table nouveaumat les information sélectionnées de la table agent . voila mon code :
Private Sub Command1_Click()

Dim rec2 As Recordset
Dim rec3 As Recordset

Dim DBaseSté As Database



DBaseSté.Execute "Delete * From nouveaumat"

Set rec3 = DBaseSté.OpenRecordset(" select matricule ,cin,nom from agent order by matricule ")
If rec3.RecordCount > 0 Then

Set rec2 = DBaseSté.OpenRecordset("nouveaumat")

While Not rec3.EOF
rec2.AddNew
rec2!matricule = rec3!matricule
rec2!nouveaumat = rec3!cin
rec2!nom = rec3!nom

Wend
End If

rec2.Update
'rec3.MoveNext

End Sub

je ne sais pas pourquoi l’opération d'ajout ne se passe et le programme n' affiche pas aucun message d'erreur.
je travail avec vb6 sous access

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
Salut

Si tu programmes avec le VB de Access, c'est du VBA, pas du VB6.

Quand tu colles du code, merci d'utiliser la coloration syntaxique (3eme icone à droite) = plus facile à relire et conserve l'indentation en tête de ligne.

Je pense qu'il faut que tu fasses un Update dans ta boucle, après avoir renseigné chaque champ, devant le Wend.

Actuellement, telle que ta boucle est programmée, tu dois tourner en rond et bloquer Access puisque tu ne fais pas de rec3.MoveNext dans ta boucle

Manque un éventuel rec3.MoveFirst avant de commencer ta boucle.

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
66
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
27 novembre 2015

merci de votre aide