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

Access Discussion :

Un bouton supprimer qui ne supprime pas... help!


Sujet :

Access

  1. #1
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut Un bouton supprimer qui ne supprime pas... help!
    Bonsoir,
    Voilà le code suivant est censé supprimer un enregistrement visualisé dans une zone de liste. Or lorsque je click sur le bouton SUPPRIMER, rien ne se passe. J'ai bien essayé de refaire la requête mais rien n'y fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btnSupprimer_Click()
    Dim StrSQL As String
    StrSQL = "DELETE ProduitsClient.*, ProduitsClient.id_ProduitsClient " & _
             "FROM ProduitsClient " & _
             "WHERE (((ProduitsClient.id_ProduitsClient)=" & Me!FListeProduitsClient & "));"
    DoCmd.SetWarnings False
    DoCmd.RunSQL (StrSQL)
    DoCmd.SetWarnings True
    Me!FListeProduitsClient.Requery
    End Sub
    Quelqu'un aurait il une idée?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    re,

    Pour voir ce qui se passe, tu peux essayer déjà ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub btnSupprimer_Click() 
    Dim StrSQL As String 
    msgbox me.FListeProduitsClients
    StrSQL = "DELETE *" & _ 
             "FROM ProduitsClient " & _ 
             "WHERE ProduitsClient.id_ProduitsClient=" & Me!FListeProduitsClient & " ;" 
     
    DoCmd.RunSQL (StrSQL) 
     
    Me!FListeProduitsClient.Requery 
    End Sub
    Pour voir si l'id attendu est bien disponible,
    Pour voir si une erreur est générée.

    A+

    pgz

  3. #3
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    Un message me dit que ceci
    Membre de méthode ou de données introuvable.
    J'avoue ne^pas comprendre...

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Elle s'appelle comment alors ta zone de liste?

    A+
    pgz

  5. #5
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    ben c'est pour ça que je ne comprend pas... Elle s'appelle bien
    FListeProduitsClient
    Non j'ai trouvé:
    ce n'est pas FListeProduitsClients mais FListeProduitsClient. Il y avait un s en trop.
    Un message apparait alors avec le numéro 21
    Il me demande de confirmer la suppression /oui
    Il me dit que c'est impossible donc propose un debogage /oui
    Il surligne Qu'est ce qu'il a mon DoCmd. ?[/quote]

  6. #6
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Peut-être que la table est en cours d'utilisation.
    Est-elle dans la source du formulaire qui contient la liste?

    pgz

  7. #7
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    mis appart la requête qui interroge la table ProduitsClient pour afficher le résultat dans la FListeProduitsClient, cette même table n'est appelée nul part. Elle ne fait pas non plus parti des sources du formulaire.

    Le message exact est:

    Impossible d'effacer 1 enregistrement de la requête Suppression à la suite de violations de clé et 0 enregistrement à la suite de violations de verrou.
    Je comprend rien à ce qu'il me dit. Je ne pense pas avoir mis de verrou...

  8. #8
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Recopie le code, tel qu'il est maintenant.

    pgz

  9. #9
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    le code actuel est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub btnSupprimer_Click()
    Dim StrSQL As String
    MsgBox Me.FListeProduitsClient
    StrSQL = "DELETE *" & _
             "FROM ProduitsClient " & _
             "WHERE ProduitsClient.id_ProduitsClient=" & Me!FListeProduitsClient & " ;"
     
    DoCmd.RunSQL (StrSQL)
     
    Me!FListeProduitsClient.Requery
    End Sub
    avec le message d'erreur dans ma réponse au dessus

  10. #10
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Et ProduitsClients, c'est une table ou une requête?

    pgz

  11. #11
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    ProduitsClient est une table
    FListeProduitsClient est une Zone de liste dont la source est une requête qui me permet d'afficher la désignation, l'id_ProduitClient, et la marque.

  12. #12
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Pour la zone de liste, la requête concerne la RowSource. La source, elle, est vide?

  13. #13
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    En ce qui concerne la RowSource, je ne sais pas répondre, mais pour ce qui est de la source, elle n'est pas vide puisqu'elle affiche des résultats dont un que je cherche à supprimer.

  14. #14
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Là il y a un pb.
    Dans les propriétés de la zone de liste, onglet 'données', tu devrais avoir sur la ligne contrôle source : (rien)
    sur la ligne contenu : ta requête.

  15. #15
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    En effet je n'ai rien en source controle mais voici ma requête
    SELECT ProduitsClient.id_ProduitsClient, ProduitsClient.CodeClient, TypesProduitsClient.TypeProduits, ProduitsClient.Marque, ProduitsClient.Immatriculation, Clients.CodeClient, TypesProduitsClient.id_TypesProduitsClient FROM Clients INNER JOIN (TypesProduitsClient INNER JOIN ProduitsClient ON TypesProduitsClient.id_TypesProduitsClient=ProduitsClient.id_TypesProduitsClient) ON Clients.CodeClient=ProduitsClient.CodeClient WHERE (((ProduitsClient.CodeClient)=forms!Client!CodeClient));
    pour le contenu...
    Je ne comprend pas... j'ai vérifié mon formulaire la suppression est autorisé tout... mais rien ne se passe

  16. #16
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Ca peut venir des liens entre tables, par ex si tu essaies de supprimer un produit qui est l'unique représentant de ce type de produit. Il faut regarder les relations entre tables. il peut y avoir viol des règles d'intégrité référentielle.

    Si c'est ça, tu dois avoir le même pb pour supprimer le même enregistrement directemnt, table ouverte.

  17. #17
    Membre du Club

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 117
    Points : 65
    Points
    65
    Par défaut
    C'EST CA!!! dans ma relation j'avais oublié de cocher la case: effacer en cascade les enregistrements correspondant...
    SUPER merci beaucoup pgz!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une fonction supprime qui ne marche pas!
    Par hindou90 dans le forum C
    Réponses: 17
    Dernier message: 06/02/2010, 12h26
  2. Mon bouton "Action" qui ne fonctionne pas
    Par Yachas dans le forum wxPython
    Réponses: 2
    Dernier message: 29/01/2010, 11h52
  3. Formulaire bouton "Envoyer" qui n'envoie pas
    Par Drone dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 13/01/2010, 11h03
  4. Un bouton <Button> qui ne bouge pas quand on clique dessus
    Par Benzeghiba dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/07/2008, 20h36
  5. requete supprimer qui ne fonctionne pas
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/03/2008, 18h54

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