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 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| Function ajoutcuratif()
Dim db As Database
Dim sql As String
Dim Rs20 As DAO.Recordset
Dim qfd20 As DAO.QueryDef
Dim accu20 As String
Dim respcu20 As String
Dim id20 As String
Dim delaicura20 As String
Dim visacu20 As String
Dim ok20 As String
Dim nok20 As String
DoCmd.SetWarnings False ' pour ne pas avoir de message a chaque ajout
'code pour activer requête
Set qfd20 = CurrentDb.QueryDefs("r_testacuratif")
'paramètre : permet de prendre en compte le paramètre dans la requête
qfd20.Parameters("[Formulaires]![f_temp2]![texte12]") = [Forms]![f_temp2]![Texte12]
'ouvre le recordset basé sur la requête
Set Rs20 = qfd20.OpenRecordset
'Vérifie s'il y a des enregistrements dans le Recordset pour éviter message d'erreur
If Rs20.BOF = True And Rs20.EOF = True Then GoTo line31
'stocke le contenu du champ dans la variable
id20 = [Forms]![f_temp2]![iddéfinitif]
'stocke dans les variables les données de la table sélectionnée en fonction de la requête
Rs20.MoveFirst
While Not Rs20.EOF
With Rs20
accu20 = .Fields("ac_curative").Value
respcu20 = .Fields("Resp_cura").Value
delaicura20 = .Fields("Delai_cura").Value
visacu20 = .Fields("Visa_cura").Value
ok20 = .Fields("conforme").Value
If ok20 = "Vrai" Then ok20 = "1"
nok20 = .Fields("non_conforme").Value
If nok20 = "Vrai" Then nok20 = "1"
'exécute la requête d'ajout dans la table
sql = "INSERT INTO [curatif](ID_RNC,ac_curative,Resp_cura,Delai_cura,Visa_cura,conforme,non_conforme) VALUES ('" & id20 & "', '" & accu20 & "', '" & respcu20 & "', '" & delaicura20 & "','" & visacu20 & "','" & ok20 & "','" & nok20 & "' )"
DoCmd.RunSQL sql
'sql = "UPDATE [curatif] SET [curatif].conforme = '" & ok20 & "' WHERE [curatif].ID_RNC = " & id20 & ""
'DoCmd.RunSQL sql
End With
Rs20.MoveNext
Wend
DoCmd.SetWarnings True
line31:
Rs20.Close 'on est propre on ferme ce qui a été ouvert
Set Rs20 = Nothing
End Function |
Partager