Besoin de votre avis : synchro entre deux tables
Bonjour
Je dispose de deux tables dans une base Access.
La première est une table liée (format dbf) et c’est la table contenant les données de référence.
La deuxième est la table servant à l’application. Elle est identique à la première sauf le champ ID qui est une clé primaire et qui est relié à d’autre table de mon application Access.
Mon problème est de synchroniser les données de la table 1 vers la table 2. Cette synchro s’effectue dans un seul sens.
La démarche que j’ai trouvée consiste à créer deux requêtes :
Une requête insert qui créer dans la table2 les nouvelles lignes.
Code:
1 2 3
| INSERT INTO TABLE2
SELECT TABLE1.*
FROM TABLE1; |
Une deuxième requête qui fait dans la table2 un update ligne par ligne et champs par champs.
Code:
1 2 3
| UPDATE TABLE2 INNER JOIN TABLE1 ON TABLE2.ID = TABLE1.ID
SET TABLE2.CHAMP1 = [TABLE1]![CHAMP1], TABLE2.CHAMP2 = [TABLE1]![CHAMP2]
WHERE (((TABLE2.ID)=[TABLE1]![ID])); |
Cette méthode ne me parait pas optimal mais est simple (juste deux requêtes appelées par une macro).
Est-ce que je passe à côté de quelque chose ou bien ça vous parait OK ?
Sinon avez-vous des suggestions pour optimiser cette synchro ?