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?
Merci d'avance pour vos commentaires.
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
Fred
Partager