Bonjour,
Je veux alimenter régulièrement une table à partir d'une requête ajout pour
faire ensuite un graphique chronologique.
Je voudrais empêcher l'importation d'enregistrements déjà existants dans la
table.
Bien sûr, on peut extraire les doublons à partir d'une requête recherche des
doublons et les supprimer, mais je pense qu'il doit y avoir plus "propre".
exemple de table :
date(), champ1, champ2
et je ne veux pas un doublon si je fais 2 fois ma requête ajout le même
jour.
Merci pour votre collaboration.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rv
Bonjour,
A partir de l'exemple donné, deux possibilités parmi bien d'autres: - Créer un index unique sur la combinaison des champs date(), champ1, champ2 (attention au nom des champs qui ne doivent pas correspondre à des mots clés) . Access empèchera la création des doublons car la propriété unique sera à vrai. Avantages: . Access fait tout le boulot. . C'est trés rapide à mettre en place.
Inconvénient: . On ne sait pas forcément pourquoi les enregistrements ne sont pas insérés. Le message d'access parle de violation de clé et indique le nombre d'enregistrements qui ne passe pas. . L'index fait grossir la base et ralentit les insertions et suppressions dans cette table tandis qu'il va accélérer les recherches basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la source d'origine Pour tous les enregistrements à insèrer Si l'enregistrement n'est pas déjà présent dans la table d'arrivée Ajouter l'enregistrement FinSi Fpour Mais là ce n'est plus une requête ajout, c'est du code VBA. On peut toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en place, mais on contrôle bien mieux le processus (enregistrement par enregistrement). L'insertion avec cette procédure sera quand même beaucoup plus lente qu'avec une requête ajout.
A+
Rv
"GL" a écrit dans le message de news:bvknpb$aeu$
Bonjour, Je veux alimenter régulièrement une table à partir d'une requête ajout pour
faire ensuite un graphique chronologique. Je voudrais empêcher l'importation d'enregistrements déjà existants dans la
table. Bien sûr, on peut extraire les doublons à partir d'une requête recherche des
doublons et les supprimer, mais je pense qu'il doit y avoir plus "propre". exemple de table : date(), champ1, champ2 et je ne veux pas un doublon si je fais 2 fois ma requête ajout le même jour. Merci pour votre collaboration.
Bonjour,
A partir de l'exemple donné, deux possibilités parmi bien d'autres:
- Créer un index unique sur la combinaison des champs date(),
champ1, champ2 (attention au nom des champs qui ne doivent pas correspondre
à des mots clés) . Access empèchera la création des doublons car la
propriété unique sera à vrai.
Avantages:
. Access fait tout le boulot.
. C'est trés rapide à mettre en place.
Inconvénient:
. On ne sait pas forcément pourquoi les enregistrements ne sont
pas insérés. Le message d'access parle de violation de clé et indique le
nombre d'enregistrements qui ne passe pas.
. L'index fait grossir la base et ralentit les insertions et
suppressions dans cette table tandis qu'il va accélérer les recherches
basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend
surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec
l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la
source d'origine
Pour tous les enregistrements à insèrer
Si l'enregistrement n'est pas déjà présent dans la table
d'arrivée
Ajouter l'enregistrement
FinSi
Fpour
Mais là ce n'est plus une requête ajout, c'est du code VBA. On peut
toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en
place, mais on contrôle bien mieux le processus (enregistrement par
enregistrement). L'insertion avec cette procédure sera quand même beaucoup
plus lente qu'avec une requête ajout.
A+
Rv
"GL" <garriplaneNOSPAM@wanadoo.fr> a écrit dans le message de
news:bvknpb$aeu$1@news-reader2.wanadoo.fr...
Bonjour,
Je veux alimenter régulièrement une table à partir d'une requête ajout
pour
faire ensuite un graphique chronologique.
Je voudrais empêcher l'importation d'enregistrements déjà existants dans
la
table.
Bien sûr, on peut extraire les doublons à partir d'une requête recherche
des
doublons et les supprimer, mais je pense qu'il doit y avoir plus "propre".
exemple de table :
date(), champ1, champ2
et je ne veux pas un doublon si je fais 2 fois ma requête ajout le même
jour.
Merci pour votre collaboration.
A partir de l'exemple donné, deux possibilités parmi bien d'autres: - Créer un index unique sur la combinaison des champs date(), champ1, champ2 (attention au nom des champs qui ne doivent pas correspondre à des mots clés) . Access empèchera la création des doublons car la propriété unique sera à vrai. Avantages: . Access fait tout le boulot. . C'est trés rapide à mettre en place.
Inconvénient: . On ne sait pas forcément pourquoi les enregistrements ne sont pas insérés. Le message d'access parle de violation de clé et indique le nombre d'enregistrements qui ne passe pas. . L'index fait grossir la base et ralentit les insertions et suppressions dans cette table tandis qu'il va accélérer les recherches basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la source d'origine Pour tous les enregistrements à insèrer Si l'enregistrement n'est pas déjà présent dans la table d'arrivée Ajouter l'enregistrement FinSi Fpour Mais là ce n'est plus une requête ajout, c'est du code VBA. On peut toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en place, mais on contrôle bien mieux le processus (enregistrement par enregistrement). L'insertion avec cette procédure sera quand même beaucoup plus lente qu'avec une requête ajout.
A+
Rv
"GL" a écrit dans le message de news:bvknpb$aeu$
Bonjour, Je veux alimenter régulièrement une table à partir d'une requête ajout pour
faire ensuite un graphique chronologique. Je voudrais empêcher l'importation d'enregistrements déjà existants dans la
table. Bien sûr, on peut extraire les doublons à partir d'une requête recherche des
doublons et les supprimer, mais je pense qu'il doit y avoir plus "propre". exemple de table : date(), champ1, champ2 et je ne veux pas un doublon si je fais 2 fois ma requête ajout le même jour. Merci pour votre collaboration.
GL
Merci Hervé pour ta réponse rapide et efficace. GL "Rv" a écrit dans le message de news: #
Bonjour,
A partir de l'exemple donné, deux possibilités parmi bien d'autres: - Créer un index unique sur la combinaison des champs date(), champ1, champ2 (attention au nom des champs qui ne doivent pas correspondre
à des mots clés) . Access empèchera la création des doublons car la propriété unique sera à vrai. Avantages: . Access fait tout le boulot. . C'est trés rapide à mettre en place.
Inconvénient: . On ne sait pas forcément pourquoi les enregistrements ne sont
pas insérés. Le message d'access parle de violation de clé et indique le nombre d'enregistrements qui ne passe pas. . L'index fait grossir la base et ralentit les insertions et suppressions dans cette table tandis qu'il va accélérer les recherches basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la source d'origine Pour tous les enregistrements à insèrer Si l'enregistrement n'est pas déjà présent dans la table
d'arrivée Ajouter l'enregistrement FinSi Fpour Mais là ce n'est plus une requête ajout, c'est du code VBA. On peut
toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en place, mais on contrôle bien mieux le processus (enregistrement par enregistrement). L'insertion avec cette procédure sera quand même beaucoup plus lente qu'avec une requête ajout.
A+
Rv
Merci Hervé pour ta réponse rapide et efficace.
GL
"Rv" <herve.pinardPASDESPAM@free.fr> a écrit dans le message de news:
#Z2yRJW6DHA.2524@TK2MSFTNGP11.phx.gbl...
Bonjour,
A partir de l'exemple donné, deux possibilités parmi bien d'autres:
- Créer un index unique sur la combinaison des champs date(),
champ1, champ2 (attention au nom des champs qui ne doivent pas
correspondre
à des mots clés) . Access empèchera la création des doublons car la
propriété unique sera à vrai.
Avantages:
. Access fait tout le boulot.
. C'est trés rapide à mettre en place.
Inconvénient:
. On ne sait pas forcément pourquoi les enregistrements ne
sont
pas insérés. Le message d'access parle de violation de clé et indique le
nombre d'enregistrements qui ne passe pas.
. L'index fait grossir la base et ralentit les insertions et
suppressions dans cette table tandis qu'il va accélérer les recherches
basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend
surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec
l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la
source d'origine
Pour tous les enregistrements à insèrer
Si l'enregistrement n'est pas déjà présent dans la
table
d'arrivée
Ajouter l'enregistrement
FinSi
Fpour
Mais là ce n'est plus une requête ajout, c'est du code VBA. On
peut
toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en
place, mais on contrôle bien mieux le processus (enregistrement par
enregistrement). L'insertion avec cette procédure sera quand même beaucoup
plus lente qu'avec une requête ajout.
Merci Hervé pour ta réponse rapide et efficace. GL "Rv" a écrit dans le message de news: #
Bonjour,
A partir de l'exemple donné, deux possibilités parmi bien d'autres: - Créer un index unique sur la combinaison des champs date(), champ1, champ2 (attention au nom des champs qui ne doivent pas correspondre
à des mots clés) . Access empèchera la création des doublons car la propriété unique sera à vrai. Avantages: . Access fait tout le boulot. . C'est trés rapide à mettre en place.
Inconvénient: . On ne sait pas forcément pourquoi les enregistrements ne sont
pas insérés. Le message d'access parle de violation de clé et indique le nombre d'enregistrements qui ne passe pas. . L'index fait grossir la base et ralentit les insertions et suppressions dans cette table tandis qu'il va accélérer les recherches basées sur ces critères. Tout cela, un peu ou plus sensiblement, ça dépend surtout du volume de la table.
- Créer une procédure VBA d'insertion des enregistrements avec l'algo suivant:
Sélectionner les enregistrements à insèrer à partir de la source d'origine Pour tous les enregistrements à insèrer Si l'enregistrement n'est pas déjà présent dans la table
d'arrivée Ajouter l'enregistrement FinSi Fpour Mais là ce n'est plus une requête ajout, c'est du code VBA. On peut
toutefois l'éxecuter à partir d'une macro. C'est plus long à mettre en place, mais on contrôle bien mieux le processus (enregistrement par enregistrement). L'insertion avec cette procédure sera quand même beaucoup plus lente qu'avec une requête ajout.