IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

requete de suppression


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut requete de suppression
    bonjour, pourriez vous me dire mon erreur.
    je dois via un bouton supprimer des éléments ce trouvant dans plusieurs tables correspondant l'un l'autre.
    Pour cela j'ai fait une requete de suppression.
    Mais lorsque j'execute, il me dit que je dois préciser la table contenant les enregistrements a supprimer.
    je ne vois pas ou est mon erreur.
    voici mon code sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE Year([DateAchat]), *
    FROM T_clients INNER JOIN (T_carte INNER JOIN T_achat ON T_carte.No_CF = T_achat.No_CF) ON T_clients.No_Client = T_carte.No_client
    WHERE (((Year([DateAchat]))<=Year(Date())-2));
    en fait je sois supprimer les clients dont la date de leur dernier achat est inactif depuis 2 ans
    .
    les clients se trouve dans la table client et les achats dans la table achat.
    mais il y a aussi la table carte qui contient le montant total...

    jai essayer au debut cette requette ci mais celle ci supprime seulement les achat de la table achat hors j'aimerai qu'il me supprime tout ce qui se rapporte au client dans les 3 tables et qu'il le renvoie dans une table exclient.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Delete T_carte.No_CF, T_achat.Montant, T_achat.DateAchat, Year([DateAchat])
    FROM T_clients INNER JOIN (T_carte INNER JOIN T_achat ON T_carte.No_CF = T_achat.No_CF) ON T_clients.No_Client = T_carte.No_client
    WHERE (((Year([DateAchat]))<=Year(Date())-2));
    Pouvez vous m'aider, j'espere avoir ete assez clair
    merci

  2. #2
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Que donne cette requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    delete
    from t_clients tcl, t_carte tc, t_achats ta
    where tc.No_CF = ta.No_CF
    and tcl.No_Client = tc.No_client
    and Year([ta.DateAchat])<=(Year(Date())-2);

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut
    non c'est toujours pareil, je pense que tu na fait que racourcir la requete via des abréviation donc ca reviens au meme.
    c'est bizare pcque lorsque je fait SELECT ca fonctionne sauf avec le delete.

    en fait qd je veux ouvrir le formulaire via le bouton, il veux executer ma requete lorsquil y a le delete mais qd je met select, il ouvre mon formulaire.

  4. #4
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par imeys Voir le message
    non c'est toujours pareil
    cela veut-il dire que
    Citation Envoyé par imeys Voir le message
    il me dit que je dois préciser la table contenant les enregistrements a supprimer.
    ou que
    Citation Envoyé par imeys Voir le message
    mais celle ci supprime seulement les achat de la table achat.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 85
    Points
    85
    Par défaut
    il me dit que je dois préciser la table contenant les enregistrements a supprimer

  6. #6
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par imeys Voir le message
    il me dit que je dois préciser la table contenant les enregistrements a supprimer
    C'est bizarre. Mais bon, je pense qu'access (car je ne l'ai jamais utilisé) n'aime pas le fait d'avoir plusieurs tables dans la clause from qui est censée contenir le(s) nom(s) de la (des) table(s) dans laquelle se fera la suppression. Si c'est le cas c'est mal barré. Il faudra que tu fasse 3 requêtes de suppression du genre :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DELETE
    FROM t_clients tcl
    WHERE (select tc.No_CF from t_carte tc) = (select ta.No_CF from t_achats ta)
    AND tcl.No_Client = (select tc.No_client from t_carte tc)
    AND (select Year([ta.DateAchat]) from t_achats ta)<=(Year(Date())-2);
    As-tu déjà fait des suppressions sur plusieurs tables dans access ?

Discussions similaires

  1. erreur dans une requete de suppression
    Par el_quincho dans le forum Access
    Réponses: 1
    Dernier message: 28/04/2006, 12h09
  2. Requete de suppression et lecture seule
    Par mamoure31 dans le forum Access
    Réponses: 24
    Dernier message: 08/01/2006, 18h33
  3. Requete de suppression
    Par nicoaix dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2006, 14h30
  4. Requetes de suppression en cascade
    Par log2n dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 20/05/2005, 10h07
  5. Requete de suppression avec en condition une date
    Par PrinceMaster77 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/04/2004, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo