bonjour, je dois supprimer les clients ki ne sont plus venu depuis 2 ans.
est ce que je dois faire une requête SQL? ou est il possible de le via un bouton et faire via son événements supprimer un enregistreement?
ou ya t'il d'autre moyen?
merci
bonjour, je dois supprimer les clients ki ne sont plus venu depuis 2 ans.
est ce que je dois faire une requête SQL? ou est il possible de le via un bouton et faire via son événements supprimer un enregistreement?
ou ya t'il d'autre moyen?
merci
bonjour,
je suggère de regarder, via l'aide d'access, du côté des requêtes ajout/suppression
ça devrait répondre à ton besoin
cordialement
Bonsoir,
Tu peux effectivement utiliser une requête SQL Suppression dont la syntaxe est
Bon courage et @+
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DELETE * FROM Table WHERE critère;
Bonjour,
Logiquement, pour épurer ta base, il te suffit de faire une requête Suppression, comportant un critère sur une date stockée dans ta table de clients.
Pour lancer ta requête, tu peux le faire via une commande en VBA exécutée lors du clic sur un bouton.
le problème est que je ne peux pas mettre comme critère une date vu que la date varie.
Je dois modifier les client ki ne sont plus venu depuis 2 ans mais cette fonction doit toujours être valable dans 10 donc la date du jours change.
Moi j'avai noter ceci mais ca ne fonctionne pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE *FROM T_achatWHERE ((('Date < SUBDATE(CURDATE(), INTERVAL 2 YEAR')<>False));
Bonjour,
Si je me base sur l'exemple que tu donnes, alors, j'écrirai:
Est-ce que les clients ne se trouvent pas dans une table à part? ce qui devrait paraître logique! Dans ce cas, il faut retrouver la dernière date d'achat du client et ensuite le supprimer (le client) ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DELETE * FROM T_achat WHERE Year(Date())-Year(T_achat.[Date])>=2;
Bon courage et @+
si, ils se trouvent dans une table.
Ton code fonctionne bien mais j'ai encore un soucis a solutionner.
Lorsque je fais donc ce code SQL, il me supprimer tout les clients dont la date est supérieur a 2 ans mais par exemple si le clients a acheter juska sont 10e achat et qu'il se termine en 2005, il ne me supprime que ses 10 achats alors que'une carte contient 12 enregistrement donc il ne me prend pas en compte les 2 ligne vide ce qui m'empeche de supprimer totalement ce client.
Essaye donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 DELETE * FROM T_achat WHERE T_Achat.ClientID IN( SELECT ClientID FROM T_Achat GROUP BY ClientID HAVING Max(Year(Date())) >(Year(T_achat.[Date])+2))
Partager