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

VBA Access Discussion :

Erreur sur supression d'enregistrements dans une table [AC-2016]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut Erreur sur supression d'enregistrements dans une table
    Bonjour
    J'ai ce code dans un formulaire [F_DateSuppression] sur clic d'un bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CmdValidation_Click()
    If MsgBox("Etes Vous sûr de vouloir effacer le planning? Opération irréversible!", vbYesNo) = vbYes Then
        DoCmd.OpenQuery "R_SuppPlanning"
        MsgBox ("Supression Effectuée !!")
        DoCmd.Close acForm, "F_DateSuppression"
    Else
    DoCmd.Close acForm, "F_DateSuppression"
    End If
    End Sub
    La requête appelée [R_SuppPlanning] est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE T_Planning.NumPlanning, T_Planning.DateJour, T_Planning.IdEmploye
    FROM T_Planning, R_TriEmployeMagasinCourant
    WHERE (((T_Planning.DateJour)<[Formulaires]![F_DateSuppression]![DateSuppression]) AND ((T_Planning.IdEmploye)=[R_TriEmployeMagasinCourant]![NumPersonnel]));
    et le code de R_TriEmployeMagasinCourant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_Personnel.*, T_Personnel.Magasin, T_Personnel.Sortie
    FROM T_MagasinCourant INNER JOIN T_Personnel ON T_MagasinCourant.Magasin = T_Personnel.Magasin
    WHERE (((T_Personnel.Magasin)=[T_MagasinCourant]![Magasin]) AND ((T_Personnel.Sortie)=No));
    Si je laisse [F_DateSuppression] ouvert et specifie une date dans [DateSuppression] et transforme ma requete supression en requete selection puis la lance directement, la requête sort bien les resultat escompté..

    par contre si elle est en supression, j'obtiens:
    Nom : Capture1.JPG
Affichages : 213
Taille : 18,8 Ko

    et c'est l'appel de la macro qui est en jaune:
    Nom : Capture2.JPG
Affichages : 196
Taille : 25,8 Ko

    Je ne comprends pas pourquoi la même macro fonctionne en selection et pas en suppression..

    Surtout que cette macro supression fonctionnait à une époque.. j'ai dû changer qqchose, je ne vois pas quoi...

  2. #2
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    ayant essayé d'analyser l'erreur, l'aide me disait que je dois utiliser * dans la requête.
    j'ai donc modifié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE T_Planning.*
    FROM T_Planning, R_TriEmployeMagasinCourant
    WHERE (((T_Planning.DateJour)<[Formulaires]![F_DateSuppression]![DateSuppression]) AND ((T_Planning.IdEmploye)=[R_TriEmployeMagasinCourant]![NumPersonnel]));
    j'obtiens une autre erreur:
    Nom : Capture1.JPG
Affichages : 209
Taille : 19,2 Ko

    or ma base n'est pas en lecture seule certes cette table est liée... je ne vois pas ..

  3. #3
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    la requête en mode création, si ça peut aider:
    Nom : Capture2.JPG
Affichages : 219
Taille : 76,4 Ko

  4. #4
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 287
    Par défaut
    Essayez plus tôt dans ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DELETE
    FROM T_Planning
    WHERE (((T_Planning.DateJour)<[Formulaires]![F_DateSuppression]![DateSuppression]) AND ((T_Planning.IdEmploye)=[R_TriEmployeMagasinCourant]![NumPersonnel]))
    AND IdEmploye IN (SELECT T_Personnel.* .....

  5. #5
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    Merci pour ton interet , je suis encore débutant..

    ce code je le met dans le SQL de la macro ou bien à la place de l'instruction qui appelle la macro au niveau du formulaire?

  6. #6
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    En ayant regardé de plus près, je ne vois pas non plus ce qu'il faut mettre en ligne 4.. les 2 conditions étant indiquées dans le where de la ligne 3...

    Désolé mais là je capte pas

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

Discussions similaires

  1. [AC-2016] Ajouter un enregistrement dans une table sur absence dans la liste déroulante
    Par Gremlinn dans le forum Macros Access
    Réponses: 3
    Dernier message: 21/02/2018, 19h18
  2. [WD18] supression d'un enregistrement dans une table avec un combobox
    Par codefree dans le forum WinDev
    Réponses: 1
    Dernier message: 26/03/2015, 23h43
  3. Réponses: 2
    Dernier message: 07/12/2008, 15h32
  4. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11
  5. AJOUT d'un ENREGISTREMENT dans UNE TABLE
    Par ramo dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/08/2005, 16h24

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