Bonjour,
Je reviens pour un problème d’incrémentation d'un champs numérique qui ne marche pas. Ci-dessous mon code :
"
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 Dim NUM1, NUM2 As Variant Dim dbs As DAO.database Dim rst, Rst1, rst2, rst3 As DAO.Recordset ... Set dbs = CurrentDb Set rst = dbs.OpenRecordset("T_PARTAGE") Set Rst1 = dbs.OpenRecordset("T_fiche") Set rst2 = dbs.OpenRecordset("select * from T_ficheCONTACT order by T_ficheCONTACT![NUM] desc") Do Until rst.EOF With Rst1 .AddNew .Fields("NOM").Value = rst.Fields("nom") .Fields("NUM").Value = Rst1.Fields("N°") .Update End With Set rst3 = dbs.OpenRecordset("select * from T_fiche order by T_fiche![N°] desc") NUM1 = rst3.Fields("Num").Value MsgBox (NUM1) 'ok NUM2 = rst2.Fields("Num").Value Do Until rst2.EOF If CLng(NUM1) = CLng(NUM2) Then MsgBox "Attention, existe déjà dans la t_ficheContact.", vbExclamation NUM1.Value = NUM2.Value + 1 MsgBox (NUM2 + 1) 'ok End If rst2.MoveNext Loop ... End Sub
Je voudrai lorsqu'il trouve le même NUM dans les deux tables T_Fiche et T_fichecontact, qu'il me prenne le dernier num de la t_fichecontact et qu'il rajoute +1 et mette à jour le num de la T_Fiche avec ce nouveau num.
En msgbox il me donne bien le Num calculé mais il ne le prend pas quand j'affiche le formulaire il reste sur " .Fields("NUM").Value = Rst1.Fields("N°")"
Merci d'avance pour vos réponses,
Mamanhou
Partager