Bonjour
Une table access contient des enregistrements.
Je rajoute des enregistrements provenant d'une datatable dans la table access.
Le Hic, est que dans la datatable il y a des enregistrements qui sont déja dans la table access et d'autre non.
Je voudrais ne remplir la base access qu'avec les enregistrements manquant.
Voici comment je fais mais je pense que ce n'est pas la meilleure facon de faire.
Un champ qui est unique dans chaque enregistrement est défini en clé primaire sur la table access
connexion a la base access
lecture de la premiere ligne de la datatable
insert into la table access
gestion de l'erreur sur doublon clé primaire si l'enregistrement existe déja j'ignore l'erreur et passe a la ligne suivante de la datatable.
Cela fonctionne mais j'ai lu que la gestion des erreurs était a proscrire car lente.
Sachant que la base access va contenir plusieurs milliers d'enregistrements et que la datatable va en contenir a chaque fois une centaine.
Qu'est ce qui a votre avis est le plus long?
la gestions de 50 erreurs (on va dire qu'un enregistrement sur deux est déjà présent)
ou
Le chargement dans une deuxième datatable de la table access contenant plusieurs milliers d'enregistrement
la requete entre les deux datatables excluant les doublons
puis le transfert de la requete dans la table access?
peut être avez vous une autre solution a me proposer.
Merci de m'avoir lu.
Gilles
Partager