Bonjour,
Je travaille sur un formulaire Access.
J'ai une variable "StrTableNameMail" qui récupère le nom de la table en saisie.
Je souhaiterais dédoublonner cette table selon cette règle : une adresse mail est unique.
J'ai testé cette méthode avec une table temporaire afin d'obtenir dans ma table finale "StrTableNameMail" les bons enregistrements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DoCmd.RunSQL "SELECT DISTINCT AdrEmail INTO T_DOUBLON_TMP FROM [" & StrTableNameCourrier & "] GROUP BY AdrEmail ;" strSQL = "DELETE FROM [" & StrTableNameCourrier & "] T1" strSQL = strSQL & " WHERE EXISTS (SELECT * FROM [" & StrTableNameCourrier & "] T2 WHERE T1.AdrEmAil = T2.AdrEmail GROUP BY AdrEmail)" & ";" DoCmd.RunSQL "INSERT INTO [" & StrTableNameCourrier & "] SELECT AdrEmail FROM T_DOUBLON_TMP ;" DoCmd.RunSQL "DROP TABLE T_DOUBLON_TMP ;" DoCmd.RunSQL strSQL
Lorsque j'excute mon code une erreur 3121 est lancée :
Donc mon erreur se trouve ici :Impossible d'effectuer un regroupement sur les champs sélectionnés avec *
Je bute et je n'arrive pas avancer. Je ne vois pas en quoi l'erreur lancée est réelement un problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part strSQL = strSQL & " WHERE EXISTS (SELECT * FROM [" & StrTableNameCourrier & "] T2 WHERE T1.AdrEmAil = T2.AdrEmail GROUP BY AdrEmail)" & ";"
Merci pour votre aide !
Partager