doublons et analyse

Le
pascallerudulier
Bonsoir a tous*

Je viens de m'apercevoir recemment que j'avais un probleme de
doublons generes artificiellement alors que je rentrais de nouvelles
donnees. Apres coup je ne retrouvais pas ces dernieres mais d'autres,
plus anciennes, en double. Un filtre applique sur un champs, destine a
me lister toutes les donnees et en particulier les nouvelles, me
donne, en autres, ces doublons bien qu'ils ne correspondent pas et
devraient donc etre exclus.

Je rentre ces donnees sur un formulaire dont les champs alimentent
trois tables liees entre elles. Une principale liee a 2 autres par un
lien "un vers plusieurs".

Existe-t'il une methode, des fonctions, permettant de mettre en
evidence ou les problemes se situent? Faut-il, pour garantir que cela
ne se produise, assigner un etat particulier a des cles, Je suis a
la rue et je n'ose plus toucher a rien de peur de detruire sans le
savoir des donnees anciennes.

D'avance merci et bon weekend.

Pascal


*: pardon pour l'absence d'accents, clavier QWERTY
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilbert
Le #18467491
Bonjour,

Une méthode pour garantir l'absence de doublons sur un (ou plusieurs)
champ(s) est de définir dans la table un index unique sur ce (ou ces)
champ(s).
Pour rechercher les doublons existants tu peux faire une "Requête trouver
les doublons" avec l'assistant.

--
Cordialement,

Gilbert


news:
Bonsoir a tous*

Je viens de m'apercevoir recemment que j'avais un probleme de
doublons generes artificiellement alors que je rentrais de nouvelles
donnees. Apres coup je ne retrouvais pas ces dernieres mais d'autres,
plus anciennes, en double. Un filtre applique sur un champs, destine a
me lister toutes les donnees et en particulier les nouvelles, me
donne, en autres, ces doublons bien qu'ils ne correspondent pas et
devraient donc etre exclus.

Je rentre ces donnees sur un formulaire dont les champs alimentent
trois tables liees entre elles. Une principale liee a 2 autres par un
lien "un vers plusieurs".

Existe-t'il une methode, des fonctions, permettant de mettre en
evidence ou les problemes se situent? Faut-il, pour garantir que cela
ne se produise, assigner un etat particulier a des cles,... Je suis a
la rue et je n'ose plus toucher a rien de peur de detruire sans le
savoir des donnees anciennes.

D'avance merci et bon weekend.

Pascal


*: pardon pour l'absence d'accents, clavier QWERTY


pascallerudulier
Le #18470801
Merci pour la reponse, *

Les tables avaient deja un index unique (c.a.d sans doublons). Je me
suis peut-etre mal exprime en utilisant le terme 'doublon'; le
probleme est que:
- je rentre, via un formulaire, des donnees pour chaque saisie de
fiches.
- que je ferme et rouvre le formulaire ou que je fasse rouler la bille
de la souris toujours est-il qu'a la place je retrouve les donnees
d'une ancienne fiche, comme si il y avait creation d'un doublon.

- quand je liste la table entiere et que je filtre afin de faire
ressortir toutes les lignes qui correspondent a la famille dans
laquelle la nouvelle ligne de donnees aurait correspondu cette
ancienne ligne apparait ce qui ne devrait pas se produire et, bien
sur, la ligne theoriquement creee est absente.
- quand je filtre cette meme table afin de faire ressortir toutes les
lignes de la famille a laquelle correspond l'ancienne ligne, celle ci
n'apparait pas non plus ni d'ailleurs la nouvelle ligne creee.

Le probleme est difficile a expliquer en des termes simples. C'est la
limite de ce groupe ou des copier/d'images seraient utiles.

Je tourne en rond et je risque d'y passer le weekend.

Pascal

*: pardon pour les accents manquants, clavier QWERTY

On 23 jan, 20:38, "Gilbert"
Bonjour,

Une méthode pour garantir l'absence de doublons sur un (ou plusieurs)
champ(s) est de définir dans la table un index unique sur ce (ou ces)
champ(s).
Pour rechercher les doublons existants tu peux faire une "Requête trouv er
les doublons" avec l'assistant.

--
Cordialement,

Gilbert


Dragan
Le #18470871
Bonjour Pascal,
le pb vient peut-être du lien entre les enregistrements lors de la création
d'un nouvel enregistrement, as-tu essayer de lister les enregistrements
orphelins , les enregistrements dont la clé de la famille d'appartenance vaut
0 ?
Tu signales que tu manipules ici trois tables mais sans indiquer dans
quelle table tu crées un nouvel enregistrement et de quelle manière : une
requête, du code VBA ?


"" a écrit :

Merci pour la reponse, *

Les tables avaient deja un index unique (c.a.d sans doublons). Je me
suis peut-etre mal exprime en utilisant le terme 'doublon'; le
probleme est que:
- je rentre, via un formulaire, des donnees pour chaque saisie de
fiches.
- que je ferme et rouvre le formulaire ou que je fasse rouler la bille
de la souris toujours est-il qu'a la place je retrouve les donnees
d'une ancienne fiche, comme si il y avait creation d'un doublon.

- quand je liste la table entiere et que je filtre afin de faire
ressortir toutes les lignes qui correspondent a la famille dans
laquelle la nouvelle ligne de donnees aurait correspondu cette
ancienne ligne apparait ce qui ne devrait pas se produire et, bien
sur, la ligne theoriquement creee est absente.
- quand je filtre cette meme table afin de faire ressortir toutes les
lignes de la famille a laquelle correspond l'ancienne ligne, celle ci
n'apparait pas non plus ni d'ailleurs la nouvelle ligne creee.

Le probleme est difficile a expliquer en des termes simples. C'est la
limite de ce groupe ou des copier/d'images seraient utiles.

Je tourne en rond et je risque d'y passer le weekend.

Pascal

*: pardon pour les accents manquants, clavier QWERTY

On 23 jan, 20:38, "Gilbert" > Bonjour,
>
> Une méthode pour garantir l'absence de doublons sur un (ou plusieurs)
> champ(s) est de définir dans la table un index unique sur ce (ou ces)
> champ(s).
> Pour rechercher les doublons existants tu peux faire une "Requête trouver
> les doublons" avec l'assistant.
>
> --
> Cordialement,
>
> Gilbert



pascallerudulier
Le #18474021
Bonjour et merci de vous interesser a mon petit probleme,

Je pense que le probleme vient du lien entre la table principale et
une deux autres tables satellites. Les liens vers celles-ci sont du
type une (une donnee dans la table principale) vers plusieurs (dans
les tables satellites) [cela correspond a l'option 2 "inclut tous les
enregistrements de la table principale et seulement ceux de la table
peripherique dont les champs joints sont egaux"].
Il m'ait arrive de creer artificiellement des doublons dans la table
principale du fait d'un doublon dans une des tables. Ici, ce n'est pas
le cas les tables peripheriques sont "propres".
Le probleme est peut etre ailleurs... mais ou?

je cree un enregistrement par un formulaire qui est associee a une
requete, celle-ci reprenant les trois tables citees plus tot.

Pascal

On 24 jan, 11:35, Dragan
Bonjour Pascal,
 le pb vient peut-être du lien entre les enregistrements lors de la c réation
d'un nouvel enregistrement, as-tu essayer de lister les enregistrements
orphelins , les enregistrements dont la clé de la famille d'appartenanc e vaut
0 ?
 Tu signales que tu manipules ici trois tables mais sans indiquer dans
quelle table tu crées un nouvel enregistrement et de quelle manière : une
requête, du code VBA ?

"" a écrit :

> Merci pour la reponse, *

> Les tables avaient deja un index unique (c.a.d sans doublons). Je me
> suis peut-etre mal exprime en utilisant le terme 'doublon'; le
> probleme est que:
> - je rentre, via un formulaire, des donnees pour chaque saisie de
> fiches.
> - que je ferme et rouvre le formulaire ou que je fasse rouler la bille
> de la souris toujours est-il qu'a la place je retrouve les donnees
> d'une ancienne fiche, comme si il y avait creation d'un doublon.

> - quand je liste la table entiere et que je filtre afin de faire
> ressortir toutes les lignes qui correspondent a la famille dans
> laquelle la nouvelle ligne de donnees aurait correspondu cette
> ancienne ligne apparait ce qui ne devrait pas se produire et, bien
> sur, la ligne theoriquement creee est absente.
> - quand je filtre cette meme table afin de faire ressortir toutes les
> lignes de la famille a laquelle correspond l'ancienne ligne, celle ci
> n'apparait pas non plus ni d'ailleurs la nouvelle ligne creee.

> Le probleme est difficile a expliquer en des termes simples. C'est la
> limite de ce groupe ou des copier/d'images seraient utiles.

> Je tourne en rond et je risque d'y passer le weekend.

> Pascal

> *: pardon pour les accents manquants, clavier QWERTY



Dragan
Le #18475101
Bonjour Pascal, il est tout simplement possible que la requete sur laquelle
ton formulaire est basée ne permette pas la création de nouveaux
enregistrements.
Je ne comprends pas bien l'idée d'avoir une seule requête pour les trois
tables; dans la mesure où tu dois choisir au préalable un enregistrement de
la table principale pour consulter la liste des enregistrements
correspondants des tables filles. Tu as donc besoin d'un sous-formulaire par
table fille et d'une requete pour chacune d'elle.
A moins que tu n'aies des contraintes particulières pour procéder autrement ?
pascallerudulier
Le #18478301
Bonjour Dragan,
La requete n'a pas change depuis que je l'ai cree. Par ailleurs j'en
suis a environ 500 enregistrement donc je ne peux pas croire que cela
soit une limitation du fait d'un trop grand nombre de donnees.

Pour l'explication de la requete ainsi faite il faut se reporter a une
demande anterieure sur ce meme groupe de discussion: tableau dynamique
+ champs avec colonnes multiple (http://groups.google.com/group/
microsoft.public.fr.access/browse_thread/thread/507d1290559dc37d/
fb5174ed75a632ba#fb5174ed75a632ba).
Ca a tres bien marche jusqu'a la semaine derniere. J'ai rajoute une
donnee dans une des 2 tables peripheriques (c'est a peu pres tout ce
que je vois comme changement recent) et depuis j'ai ce probleme.

Je passe trop de temps sur ce probleme. Si je ne trouve rien il va
falloir que je reparte du back-up.

Tres frustrant ces p'tits pepins.

Bonne fin de weekend a tous et toutes.

Pascal

On 24 jan, 19:08, Dragan
Bonjour Pascal, il est tout simplement possible que la requete sur laquel le
ton formulaire est basée ne permette pas la création de nouveaux
enregistrements.
 Je ne comprends pas bien l'idée d'avoir une seule requête pour les trois
tables; dans la mesure où tu dois choisir au préalable un enregistrem ent de
la table principale pour consulter la liste des enregistrements
correspondants des tables filles. Tu as donc besoin d'un sous-formulaire par
table fille et d'une requete pour chacune d'elle.
 A moins que tu n'aies des contraintes particulières pour procéder autrement ?


Dragan
Le #18480231
Peut-être viens-tu de donner la réponse à ton problème:
"La requête n'a pas changée .." et "j'ai rajouté une donnée dans une des 2
tables ..."
Faut-il comprendre que ta requête ne tient pas compte de cette donnée
ajoutée ?



"" a écrit :

Bonjour Dragan,
La requete n'a pas change depuis que je l'ai cree. Par ailleurs j'en
suis a environ 500 enregistrement donc je ne peux pas croire que cela
soit une limitation du fait d'un trop grand nombre de donnees.

Pour l'explication de la requete ainsi faite il faut se reporter a une
demande anterieure sur ce meme groupe de discussion: tableau dynamique
+ champs avec colonnes multiple (http://groups.google.com/group/
microsoft.public.fr.access/browse_thread/thread/507d1290559dc37d/
fb5174ed75a632ba#fb5174ed75a632ba).
Ca a tres bien marche jusqu'a la semaine derniere. J'ai rajoute une
donnee dans une des 2 tables peripheriques (c'est a peu pres tout ce
que je vois comme changement recent) et depuis j'ai ce probleme.

Je passe trop de temps sur ce probleme. Si je ne trouve rien il va
falloir que je reparte du back-up.

Tres frustrant ces p'tits pepins.

Bonne fin de weekend a tous et toutes.

Pascal

On 24 jan, 19:08, Dragan > Bonjour Pascal, il est tout simplement possible que la requete sur laquelle
> ton formulaire est basée ne permette pas la création de nouveaux
> enregistrements.
> Je ne comprends pas bien l'idée d'avoir une seule requête pour les trois
> tables; dans la mesure où tu dois choisir au préalable un enregistrement de
> la table principale pour consulter la liste des enregistrements
> correspondants des tables filles. Tu as donc besoin d'un sous-formulaire par
> table fille et d'une requete pour chacune d'elle.
> A moins que tu n'aies des contraintes particulières pour procéder autrement ?




pascallerudulier
Le #18481171
Tout à fait, c'est très bizarre. Encore plus bizarre: quand je fais un
copier/coller d'une nouvelle ligne (sur la table et non plus la
requête) c'est une une ancienne ligne qui apparaît à la place.

Pour tout dire, ces données sont hébergées sur un serveur qui est mon
propre PC. Dans l'optique d'un transfert sur un serveur externe avec
un site PHP/PostGreSQL j'avais fait cette manip de préparation de
façon à m'affranchir de tout problème de compatibilité et d'être prêt.
Je suis toujours en attente du passage (vous connaissez les
département IT, dois-je faire un dessin?), toujours est-il que je suis
resté dans cette configuration: données externes (pour ceux qui lisent
ceci et se poseraient la question) avec la petite flèche bleue devant
chaque table concernée ET une icône n'est pas un petit tableau mais
une mini mappemonde.

J'en suis au point de recréer une table, sous PostGreSQL, vide, copie
de l'ancienne table principale et repartir à partir de là. Ca va
m'obliger à revoir une bonne partie de toutes les requêtes qui
dépendaient de l'ancienne table mais je n'ai plus le temps à consacrer
à ce problème. Pour l'instant le fait de recoller toutes les données
plus les nouvelles n'a pas occasionné de souci. Mon inquiétude est que
de ne pas avoir expliqué ce disfonctionnement ne me met pas à l'abri
qu'il se reproduise plus tard.

Bonne soirée à tous et toutes,

Pascal
On 25 jan, 16:34, Dragan
Peut-être viens-tu de donner la réponse à ton problème:
 "La requête n'a pas changée .." et "j'ai rajouté une donnée da ns une des 2
tables ..."
 Faut-il comprendre que ta requête ne tient pas compte de cette donn ée
ajoutée ?

"" a écrit :



Publicité
Poster une réponse
Anonyme