Voilà mon problème:
J'ai une liste de clients avec un identifiant (nombre qui s'incrémente pour
chaque nouveau client) pour chacun d'eux, seulement plusieurs clients
reviennent avec des identifiants différents (à cause d'adresse qui change ou
à cause d'une faute de frappe,...), j'arrive à les isoler avec une requête X
qui recherche les doublons, mais ce que je voudrai faire c'est créer une
autre table T_new_id avec deux colonnes (ou plus si nécessaire): ancien_id et
nouveau_id afin de récupérer les dernières informations concernant mes
clients (nouvelle adresse suite à un déménagement, ...). Dans la colonne
nouveau_id, je voudrai mettre en fait le plus grand identifiant de ceux qui
sont sélectionné pour des doublons.
Pour être un peu plus clair, je vous donne un exemple ( Prénom, Nom,
Identifiant):
François Martin 1452, François Martin 5432, Laurent Dupon 3654, Laurent
Dupon 7854 (en gros c'est que me sort ma requête X), et je voudrais avoir
dans une autre table (ancien_id, nouveau_id): 1452 5432, 5432 5432, 3654
7854; 7854 7854.
J'espère avoir été clair et vous remercie d'avance pour vos réponses.
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
Yann
Salut Patrick, Tu fais une requête d'ajout (pour chaque ajout de client en mettant Id_Old=Id_Client et Id_New=Id_Client) et de mise à jour (Id_New=Id_Client where doublon) successivement... Mais je pense vraiment que c'est très maladroit de faire cela car derrière tu dois gérer toutes tes relations avec ce double (ou triple et +) client dans toute ta base !!!
Je te conseil plutôt de verifier l'information (doublons) avant l'ajout d'un nouveau client et demander confirmation si c'est vraiment le même, comme ça tu n'as qu'un seul client pour toute ta base...
Salut Patrick,
Tu fais une requête d'ajout (pour chaque ajout de client
en mettant Id_Old=Id_Client et Id_New=Id_Client) et de
mise à jour (Id_New=Id_Client where doublon)
successivement... Mais je pense vraiment que c'est très
maladroit de faire cela car derrière tu dois gérer toutes
tes relations avec ce double (ou triple et +) client dans
toute ta base !!!
Je te conseil plutôt de verifier l'information (doublons)
avant l'ajout d'un nouveau client et demander
confirmation si c'est vraiment le même, comme ça tu n'as
qu'un seul client pour toute ta base...
Salut Patrick, Tu fais une requête d'ajout (pour chaque ajout de client en mettant Id_Old=Id_Client et Id_New=Id_Client) et de mise à jour (Id_New=Id_Client where doublon) successivement... Mais je pense vraiment que c'est très maladroit de faire cela car derrière tu dois gérer toutes tes relations avec ce double (ou triple et +) client dans toute ta base !!!
Je te conseil plutôt de verifier l'information (doublons) avant l'ajout d'un nouveau client et demander confirmation si c'est vraiment le même, comme ça tu n'as qu'un seul client pour toute ta base...
Re-, Ok, va pour cette organisation... même si ce n'est pas correct, le chef a toujours raison ;o) Pour chaque nouveau client (peut être à mettre dans le formulaire de saisie des clients dans l'évènement Form_AfterUpdate Lstr_SQL = "INSERT INTO TableEquivalenceClient (OldId, NewId)" Lstr_SQL = Lstr_SQL & " SELECT TableClient.Id" Lstr_SQL = Lstr_SQL & " FROM TableClient" Lstr_SQL = Lstr_SQL & " WHERE TableClient.Id = Forms! FormulaireSaisieNouveauClient!Id;" DoCmd.RunSQL Lstr_SQL Ensuite tu dois faire une mise à jour en fonction des doublons que tu as trouvé Lstr_SQL = "UPDATE TableEquivalenceClient" Lstr_SQL = Lstr_SQL & " SET TableEquivalenceClient.NewId = Forms!FormulaireSaisieNouveauClient!Id" Lstr_SQL = Lstr_SQL & " WHERE Conditions du doublons;" DoCmd.RunSQL Lstr_SQL
Ca devrait aller...
Bye Yann
-----Message d'origine----- Merci Yann, En fait je t'explique ma situation, je reçoit 2 tables qui contiennent mes
Salut Patrick, Tu fais une requête d'ajout (pour chaque ajout de client
en mettant Id_Old=Id_Client et Id_New=Id_Client) et de mise à jour (Id_New=Id_Client where doublon) successivement... Mais je pense vraiment que c'est très
Re-,
Ok, va pour cette organisation... même si ce n'est pas
correct, le chef a toujours raison ;o)
Pour chaque nouveau client (peut être à mettre dans le
formulaire de saisie des clients dans l'évènement
Form_AfterUpdate
Lstr_SQL = "INSERT INTO TableEquivalenceClient (OldId,
NewId)"
Lstr_SQL = Lstr_SQL & " SELECT TableClient.Id"
Lstr_SQL = Lstr_SQL & " FROM TableClient"
Lstr_SQL = Lstr_SQL & " WHERE TableClient.Id = Forms!
FormulaireSaisieNouveauClient!Id;"
DoCmd.RunSQL Lstr_SQL
Ensuite tu dois faire une mise à jour en fonction des
doublons que tu as trouvé
Lstr_SQL = "UPDATE TableEquivalenceClient"
Lstr_SQL = Lstr_SQL & " SET TableEquivalenceClient.NewId
= Forms!FormulaireSaisieNouveauClient!Id"
Lstr_SQL = Lstr_SQL & " WHERE Conditions du doublons;"
DoCmd.RunSQL Lstr_SQL
Ca devrait aller...
Bye
Yann
-----Message d'origine-----
Merci Yann,
En fait je t'explique ma situation, je reçoit 2 tables
qui contiennent mes
Salut Patrick,
Tu fais une requête d'ajout (pour chaque ajout de
client
en mettant Id_Old=Id_Client et Id_New=Id_Client) et de
mise à jour (Id_New=Id_Client where doublon)
successivement... Mais je pense vraiment que c'est
très
Re-, Ok, va pour cette organisation... même si ce n'est pas correct, le chef a toujours raison ;o) Pour chaque nouveau client (peut être à mettre dans le formulaire de saisie des clients dans l'évènement Form_AfterUpdate Lstr_SQL = "INSERT INTO TableEquivalenceClient (OldId, NewId)" Lstr_SQL = Lstr_SQL & " SELECT TableClient.Id" Lstr_SQL = Lstr_SQL & " FROM TableClient" Lstr_SQL = Lstr_SQL & " WHERE TableClient.Id = Forms! FormulaireSaisieNouveauClient!Id;" DoCmd.RunSQL Lstr_SQL Ensuite tu dois faire une mise à jour en fonction des doublons que tu as trouvé Lstr_SQL = "UPDATE TableEquivalenceClient" Lstr_SQL = Lstr_SQL & " SET TableEquivalenceClient.NewId = Forms!FormulaireSaisieNouveauClient!Id" Lstr_SQL = Lstr_SQL & " WHERE Conditions du doublons;" DoCmd.RunSQL Lstr_SQL
Ca devrait aller...
Bye Yann
-----Message d'origine----- Merci Yann, En fait je t'explique ma situation, je reçoit 2 tables qui contiennent mes
Salut Patrick, Tu fais une requête d'ajout (pour chaque ajout de client
en mettant Id_Old=Id_Client et Id_New=Id_Client) et de mise à jour (Id_New=Id_Client where doublon) successivement... Mais je pense vraiment que c'est très