Addnew et boucle

quecdur Messages postés 22 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 22 décembre 2010 - 16 avril 2010 à 12:30
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 16 avril 2010 à 14:13
Bonjour,
Je souhaite créer, dans une boucle,des enregistrements dans une table "ORGANISATIONPlanning", sous certaires conditions d'une autra table "CHANTIERS".
Mon code ne crée mes enregistrements mais dans la boucle, remplace toujour le précédent par le suivant. Donc à la fin de la boucle, je n'ai qu'un enregistrement dans la table "ORGANISATIONPlanning", avec les infos du dernier enregistrement de ma table "CHANTIERS".
Je ne trouve pas le problème.
Merci de m'aider.
Mon code est :

Private Sub test_Click()

Dim MyDB As Database
Dim RS As Recordset


Set MyDB = CurrentDb()
Set RS = MyDB.OpenRecordset("ORGANISATIONPlanning", dbOpenDynaset)

'Se positionne sur le premier enregistrement
Form_FERIEPreSaisieSF.Recordset.MoveFirst

RS.AddNew

'Fait une action tant qu'il y a un enregistrement
Do Until Form_FERIEPreSaisieSF.Recordset.EOF

'Décrit l'action
Dim numchantier As Variant
Dim numferie As Variant
Dim comment As Variant

numchantier = Form_FERIEPreSaisieSF.NCHANTIERS°
numferie = Form_FERIEPreSaisieF.N°FERIE

If Form_FERIEPreSaisieSF.JoursFeries = "Client non concerné" Then
comment = "NON CONCERNE"

If Form_FERIEPreSaisieSF.JoursFeries = "Jamais rattrapés" Then
comment = "JAMAIS RATTRAPE"
End If
Else: comment = "A VOIR"
End If

Form_FERIEPreSaisieORGANISATIONPlanningSF.NCHANTIERS° = numchantier
Form_FERIEPreSaisieORGANISATIONPlanningSF.N°FERIE = numferie
Form_FERIEPreSaisieORGANISATIONPlanningSF.CommentaireORGANISATIONPlanning = comment
Form_FERIEPreSaisieORGANISATIONPlanningSF.DateSaisieORGANISATIONPlanning = Date
Form_FERIEPreSaisieORGANISATIONPlanningSF.TraiteORGANISATIONPlanning = -1

'Va à l'enregistrement suivant
Form_FERIEPreSaisieSF.Recordset.MoveNext

RS.Edit
RS.Update

'Exécute une boucle
Loop

RS.Requery

End Sub

S'il vous plait : j'ai besoin d'aide.

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 avril 2010 à 13:07
Bonjour,

Il faut que ton
RS.AddNew

soit dans la boucle.

Mon site
0
quecdur Messages postés 22 Date d'inscription mercredi 27 décembre 2006 Statut Membre Dernière intervention 22 décembre 2010
16 avril 2010 à 13:20
Merci pour ton aide.
J'ai essayé de mettre
RS.AddNew
Juste avant puis juste arpès les Dim, le résultat est le même.
A quel endroit dois-je le mettre ?
Merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 avril 2010 à 14:13
Bonjour,

Le bloc de code :

RS.AddNew

'Fait une action tant qu'il y a un enregistrement
Do Until Form_FERIEPreSaisieSF.Recordset.EOF

'Décrit l'action
Dim numchantier As Variant
Dim numferie As Variant
Dim comment As Variant

devrait être plutôt (enfin à mon avis) :

'Décrit l'action
Dim numchantier As Variant
Dim numferie As Variant
Dim comment As Variant

'Fait une action tant qu'il y a un enregistrement
Do Until Form_FERIEPreSaisieSF.Recordset.EOF

RS.AddNew

en plus, à quoi servent ces 2 lignes ?
RS.Edit
RS.Update

Dans ton code, tu ne modifie rien dans rs, donc un enregistrement vide ne fera rien.
Mon site
0
Rejoignez-nous