Bonjour,

j'ai des tables de même structure dans plusieurs Database. Je voudrais copier ces enregistrements dans une table unique dans une database unique. Lorsque j'utilise clic droit sur les tables source et que je renseigne la table cible, Access ne me permet que de remplacer la table cible et pas de la mettre à jour. Résultat similaire en utilisant du code VBA et la commande DoCmd.CopyObject.

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
Alors j'aimerais essayer ce code :
 
Private Sub Cmd_Export_Access_Data_Click()
 
Dim db_source As DAO.Database
Dim db_cible As DAO.Database
 
set db_source = Currentdb
 
Set db_cible = ???????
 
strTbl_source = "Ma_Petite_Table"
strTbl_cible = "Ma_Grande_Table"
 
Set strTbl_source = db_source.TableDefs(strTbl_source)  'Ouverture de la table source
Set strTbl_cible = db_cible.TableDefs(strTbl_cible)  'Ouverture de la table cible
 
 
    Set rst_source = db_source.OpenRecordset("Ma_Petite_Table")
    Set rst_cible = db_cible.OpenRecordset("Ma_Grande_Table")
 
    rst_source.MoveFirst
    While rst_source.EOF = False
            rst_cible.Edit
            rst_cible("champ 1") = rst_source("champ 1")
            rst_cible("champ 2") = rst_source("champ 2")
            rst_cible("champ 3") = rst_source("champ 3")
            etc ...
 
            rst_cible.Update
 
            rst_source.MoveNext
            rst_cible.MoveNext
    Wend
 
    rst_source.Close
    rst_cible.Close
    Set rst_cible = Nothing
    Set rst_source = Nothing
Mais je ne sais pas comment déclarer ma base cible :
Set db_cible = ???????
j'ai toujours utilisé set db = currentdb mais là ce n'est plus le cas !

mes connaissances en VBA s'arrete là

Merci si vous avez une solution