Bonjour à tous

Pour ajouter un nouvel enregistrement, j'utilisais jusqu'à présent les recordset avec la méthode Addnew. Mais en voulant crééer le code ci dessous, j'ai utilisé une requete avec INSERT INTO. Quelle est la différence entre ces deux méthodes et quelle est la meilleur à utiliser?

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
Public Sub CreaJournEchan(numEtapeBroyage As Long, numInt As Long)
'Procédure permettant de crééer des enregistrements dans la tables JournEchan
'en fonction des échantillon à prélever
'------------------------------------------------------------------------------
'Définition des variables
Dim oRst As DAO.Recordset
Dim oDb As DAO.Database
Dim sql As Variant
Dim i As Integer
Dim tps As Long
'-------------------------------------------------------------------------------
'Création de la requete
sql = "SELECT T_EtapeBroyage.IdEtapeBroyage, T_EtapeBroyage.ech1EtapeBroyage, T_EtapeBroyage.ech2EtapeBroyage, "
sql = sql & "T_EtapeBroyage.ech3EtapeBroyage, T_EtapeBroyage.ech4EtapeBroyage, T_EtapeBroyage.ech5EtapeBroyage "
sql = sql & "FROM T_EtapeBroyage "
sql = sql & "WHERE (((T_EtapeBroyage.IdEtapeBroyage)= " & numEtapeBroyage & "))"
'Exécution e la requete
'Exécution de la requete
Set oDb = CurrentDb
Set oRst = oDb.OpenRecordset(sql)
'On boucle sur tout les ech (1 à 6)
For i = 1 To 5
    If Not IsNull(oRst.Fields("ech" & i & "EtapeBroyage")) Then
        'création et exécution de la requete ajout
        tps = oRst.Fields("ech" & i & "EtapeBroyage").Value
        oDb.Execute " INSERT INTO T_JournEchan " _
            & "(IdInt_FK, IdEtapeModOp_FK, sejourJournEchan) VALUES " _
            & " (" & numInt & "," & numEtapeBroyage & "," & tps & " )"
    End If
 
Next i
 
 
'Libère les objets
oRst.Close
oDb.Close
Set oRst = Nothing
Set oDb = Nothing
End Sub
Merci d'avance pour vos commentaires.
Fred