Bonjour
Après avoir lu pas mal d’articles sur les forums, je me permets d'ouvrir une discussion n'ayant pas trouver la réponse.
j'ai un formulaire et un sous formulaire. Le sous formulaire est en mode continu (je ne sais pas si c'est important pour la solution).
Je souhaite ajouter ou faire une mise à jour de ma table stock en bouclant sur les enregistrements de mon sous formulaire. Or, si j'ai 2 enregistrements ou plus dans mon sous formulaire, le code boucle X fois mais sur le premier enregistrement ou celui qui est activé.
Ci dessous le code avec des explications.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 Dim recherche As String Dim RS As DAO.Recordset Dim RSparent As DAO.Recordset Dim LngNbEnregistrement As Long Dim ValEnregistrement ' sorties de sotck Set RSparent = CurrentDb.OpenRecordset("SELECT * FROM tblfabricationEntree WHERE FabricationID=" & Forms!frmFabrication!FabricationID) RSparent.Edit LngNbEnregistrement = RSparent.RecordCount 'nombre denregistrement dans le RecordSet If LngNbEnregistrement > 0 Then 'si le recordset à un ou des enregistrement(s) RSparent.MoveFirst Do Until RSparent.EOF ValEnregistrement = RSparent.Fields("FabricationEntreeID") Set RS = CurrentDb.OpenRecordset("SELECT * FROM tblStock WHERE CodeTable=" & Chr(34) & ValEnregistrement & Chr(34)) LngNbEnregistrement = RS.RecordCount 'nombre denregistrement dans le RecordSet filtré If LngNbEnregistrement > 0 Then ' Mise à jour de l'enregistrement RS.Edit 'ouverture de l'enregistrement With RS 'code de MAJ End With RS.Update RS.Close Else ' nouvel enregistrement RS.AddNew 'ouverture de l'enregistrement With RS ' code du nouvel enregistrement End With RS.Update RS.Close End If RSparent.MoveNext Loop Else MsgBox "Absence d'enregistrements" End If
Partager