Bonjour,
J'utilise le code donné par la FAQ "comment fusionner 2 tables en ne gardant pas les enregistrements de la table 2 identiques à ceux de la table 1"
cela fonctionne très bien pour 2 de mes tables mais pas pour 2 autres. Je pense que cela vient de la comparaison des clés primaires ??
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 Sub Insertion(oRst1 As DAO.Recordset, orst2 As DAO.Recordset) On Error GoTo err Dim Fld As DAO.Field orst2.AddNew For Each Fld In oRst1.Fields If (Fld.Attributes And dbAutoIncrField) = 0 Then orst2.Fields(Fld.Name).Value = Fld.Value End If Next Fld orst2.Update err: End Sub Sub copier() Dim NomTable1 As String, NomTable2 As String Dim oRst1 As DAO.Recordset, orst2 As DAO.Recordset Dim odb As DAO.Database Dim Message As String Set odb = currentdb NomTable1 = "TblClient" NomTable2 = "TblClientSansDoublons" Set oRst1 = odb.OpenRecordset(NomTable1) Set orst2 = odb.OpenRecordset(NomTable2) While Not oRst1.EOF Insertion oRst1, orst2 oRst1.MoveNext Wend If Not orst2.EOF Then orst2.MoveLast Message = "Opération terminée" & vbCrLf & vbCrLf & _ "La table source comportait : " & oRst1.RecordCount & " enregistrement(s)," & vbCrLf & _ "la table de destination en comporte " & orst2.RecordCount MsgBox Message, vbInformation, "MAJ terminée" End Sub
Est-ce que qq'un pourrait m'expliquer ce que ce code fait notamment cette partieDans le cas ou cela ne fct pas il n'inclut pas dans la nouvelle table les enregistrements différents
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 " If (Fld.Attributes And dbAutoIncrField) = 0 Then orst2.Fields(Fld.Name).Value = Fld.Value"
Merci
Partager