Bonjour,
J'ai crée une base de données contenant plusieurs tables liées. Cette base va être utilisée par plusieurs utilisateurs distants. Je n'ai pas la possibilité de travailler en réseau, et il faudrait que je récupère le tout dans une base centralisatrice (toujours les mêmes 3 tables liées). Je souhaite savoir comment procéder pour fusionner toutes les bases en une seule (si j'avais 1 seule table, je pourrais m'en sortir par copier / coller, mais avec plusieurs liées, ça ne passe pas...
J'ai trouvé ce code en réponse à une question similaire, le problème c'est que je ne connais pas VBA. Quelqu'un pourrait m'aider à comprendre comment l'adapter à ma base ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Sub transfert()
Const chreq = "INSERT INTO rw101 SELECT * FROM (SELECT * FROM rw101 IN 'C:\chemincomplet\xx.mdb');"
Dim machaine As String
Dim mabase As DAO.Database
Dim matable As TableDef
Set mabase = CurrentDb()
For Each matable In mabase.TableDefs
If Left(matable.Name, 4) <> "Msys" Then
machaine = Replace(chreq, "rw101", matable.Name)
DoCmd.RunSQL (machaine)
End If
Next matable
Set mabase = Nothing
End Sub
'attention aux doublons |
Pouvez vous m'indiquer quelles sont les valeurs du code que je dois transformer avec les noms de ma base ?
Const chreq = "INSERT INTO rw101 SELECT * FROM (SELECT * FROM rw101 IN 'C:\chemincomplet\xx.mdb');"
le "rw101" doit il être remplacé par le nom de la base de données qui inclura la fusion des 2 bases ?
Dim mabase As DAO.Database
Mabase = le nom de ma base de données, ou un nom quelconque peut être reconnu?
Faut il dupliquer cette ligne avec "matable" remplacé par le nom de chaque table de la base initiale et "MatableDef" le nom de chaque table contenant les données fusionnées ?
For Each matable In mabase.TableDefs
Cette ligne me fait penser que ce n'est pas nécessaire, qu'il s'agit d'un nom "générique", mais je n'y connais rien...
If Left(matable.Name, 4) <> "Msys" Then
Je n'ai aucune idée de ce à quoi peut correspondre cette ligne... est ce que "matable.Name" et "Msys" doive correspondre à des noms présents dans ma base de données, et si oui, à quoi ??
Merci d'avance
Partager