VBa : Dédoublonnage (Access 2007)

VBa : Dédoublonnage (Access 2007) - VB/VBA/VBS - Programmation

Marsh Posté le 29-05-2012 à 16:57:44    

Bonjour,  
Je travaille sur un formulaire access 2007.  
J'ai un problème de dédoublonnage.  
J'ai une table StrTableNameMail que je souhaiterais dédoublonner sauf qu'avec Access, je ne peux pas faire de regroupement (group by) avec un select *.  
J'ai essayé à plusieurs reprises et de différentes manières mais rien n'y fait.  
 
Mon objectif : une adresse est unique dans la table (J'aurais plus tard une autre condition avec un couple unique, mais j'essaie déjà de voir si je peux réussir avec ce cas)
 

Code :
  1. DoCmd.RunSQL "SELECT * INTO T_DOUBLON_TMP FROM [" & StrTableNameMail & "] GROUP BY AdrEmail;"
  2.      
  3.     strSQL = "DELETE FROM [" & StrTableNameMail & "] T1"
  4.     strSQL = strSQL & " WHERE EXISTS (SELECT * FROM [" & StrTableNameMail & "] T2 WHERE T1.AdrEmAil = T2.AdrEmail GROUP BY AdrEmail)" & ";"
  5.      
  6.     DoCmd.RunSQL "INSERT INTO [" & StrTableNameMail & "] SELECT * FROM T_DOUBLON_TMP ;"
  7.      
  8.     DoCmd.RunSQL "DROP TABLE T_DOUBLON_TMP ;"
  9.     DoCmd.RunSQL strSQL


 
Je vous remercie par avance poru votre aide
 
Cordialement,

Reply

Marsh Posté le 29-05-2012 à 16:57:44   

Reply

Marsh Posté le 31-05-2012 à 08:05:58    

Bonjour,
Je ne sais pas si ça marche dans access, mais tu peux essayer de faire un SELECT DISTINCT * [...]


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 09-06-2012 à 08:51:44    

Avec un DISTINCT ça peut marcher...
 
Quand tu galère avec une syntaxe sql sur Access, tu peux utiliser presque toujours l'éditeur graphique de requête. Une fois que ça fonctionne, tu récupères le code sql de cette requête et tu l'adaptes avec tes variables vba.
Le contraire fonctionne également : tu fais un debug.print sql et tu récupère la requête sql que tu peux coller sans l'éditeur graphique pour rechercher là où ça plante.
 
C'est comme ça que je procède, ça fonctionne presque tout le temps (par exemple la requête UNION ne fonctionne pas dans ce cas).


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed