Bonjour,

j'ai un problème, le code actuelle insere à chaque clique sur le bouton une ligne sur la table T ce qui est prolématique car la table risquerai d'etre infini pourriez vous m'écrire un code qui pourrait ecraser a chaque clique sur le bouton la ligne d'enregistrement de la table T. peut etre passer par un update des attibuts de cette ligne je sais pas je propose bonne idée ??

IdM contient identifiant du materiel
IDP condient identifiant du projet





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
Option Compare Database
 
Private Sub Commande30_Click()
Dim ThisDb As database
Set ThisDb = CurrentDb
Dim a As String
Dim b As String
Dim c As Recordset
Dim d As String
 
 
Dim oRst As DAO.Recordset
Dim oDb As DAO.database
Set oDb = CurrentDb
Set oRst = oDb.OpenRecordset("T", dbOpenTable)
Dim req As String
 
a = Forms![N Formulaire ]![RTR]![nom]
b = "SELECT idM FROM Materiel WHERE nommageMat ='" & a & "';"
d = "SELECT idP FROM Materiel WHERE nommageMat ='" & a & "';"
 
   Set c = ThisDb.OpenRecordset(b, dbOpenDynaset)
   b = c!idM
   Set c = ThisDb.OpenRecordset(d, dbOpenDynaset)
   d = c!idP
 
req = "INSERT INTO T(Comm,addr1,addr2,addr3,addr4,msk1,msk2,msk3,msk4,addr5,addr6,addr7,addr8,idMat,IdProjet) VALUES(' " & Me.Liste33.Value & "', '" & Me.addr1 & "','" & Me.addr2 & "',' " & Me.addr3 & "',' " & Me.addr4 & "',' " & Me.msk1 & "',' " & Me.msk2 & "',' " & Me.msk3 & "',' " & Me.msk4 & "',' " & Me.addr5 & "',' " & Me.addr6 & "',' " & Me.addr7 & "',' " & Me.addr8 & "','" & b & "','" & d & "' );"
 
 
'DoCmd.SetWarnings False
'DoCmd.RunSQL (req)
'DoCmd.SetWarnings True
 
ThisDb.Execute req, dbFailOnError
 
MsgBox ("Vous venez d'ajouter une Route Statique au routeur " & a)
 
'Met à Jour
'oRst.Update
 
'Libération des objets
oRst.Close
oDb.Close
Set oRst = Nothing
Set oDb = Nothing
 
End Sub
Merci