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

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut message boite dialogue sur bouton

    Bonjour, je cherche à savoir bien faire une boite de dialogue pour mon bouton supprimer

    Ce que je voudrais c'est juste qu'il me lance une boîte de dialogue quand je clique sur le bouton supprimer

    Voulez vous vraiment supprimer "nom" ainsi que toute son historique ?
    Oui ou non

    Si non alors ferme boîte de dialogue
    Si oui alors execute le code et lance message : votre suppression à bien été effectué

    Voici le code que j'ai pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub delete_Click()
     
     If MsgBox("Voulez-vous vraiment supprimer", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
     
        CurrentDb.Execute "delete from histo where ide=" & ide, dbFailOnError
            DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
            DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
     Else
     Cancel = False
     End If
     
    End Sub
    Je n'aime pas mon code car quand je clique sur non tout va bien, mais quand je clique sur oui il me relance une boite de dialogue : voulez allez supprimez un enregistrement oui ou non ? ( et je ne veux pas d'une seconde proposition )

    Je joint en pièce jointe une image qui explique mieux ce que je décris
    Merci pour votre aide

    Justine
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    3 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 3 141
    Points : 6 955
    Points
    6 955
    Billets dans le blog
    2

    Par défaut

    justine91,

    çà correspond à quoi ces actions ? A proscrire....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    En fonction de ta réponse, je t'apporterai une solution

    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    JimBoLion,

    C'est pour supprimer, j'ai trouver ça sur le site
    Après j'y connais rien, je débute en vba !
    :/

    Justine

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    3 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 3 141
    Points : 6 955
    Points
    6 955
    Billets dans le blog
    2

    Par défaut

    Justine91,

    J'ai trouvé ici :

    http://access.developpez.com/faq/?pa...es#SupprEnrDep

    Donc si je comprends bien, tu efface l'historique puis l'enregistrement courant donc ton code devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub delete_Click()
     
    If MsgBox("Voulez-vous vraiment supprimer", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then
     
    CurrentDb.Execute "delete from histo where ide=" & ide, dbFailOnError
    DoCmd.SetWarnings False
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    DoCmd.SetWarnings True
    Else
    Cancel = False
    End If
     
    End Sub
    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  5. #5
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 942
    Points : 11 391
    Points
    11 391
    Billets dans le blog
    5

    Par défaut

    Bonjour,

    Les commande DoMenuItem sont à bannir...
    Il y a un tutoriel là-dessus.
    Note : De plus tu lance deux fois la procédure de deletion... Une fois avec la clause SQL DELETE et une autre avec une instruction DoMenuItem...

    Voici une proposition de code qui réponds sans doute mieux à tes souhaits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Private Sub delete_Click()
        EffacerEnregistrement "l'élève", Me.ide, "ide", "Histo"
    End Sub
     
    Private Sub EffacerEnregistrement(ByVal Sujet As String, ByVal QuelID As Variant, ByVal ChampCible As String, ByVal TableCible As String)
     
        On Error GoTo L_ErrEffacerEnregistrement
        If MsgBox("Voulez-vous vraiment supprimer l'enregistrement '" & Sujet & "' ?", vbQuestion + vbYesNo, "Confirmation") = vbYes Then
            CurrentDb.Execute "DELETE FROM [" & TableCible & "] WHERE [" & ChampCible & "]=" & QuelID, dbFailOnError
        End If
     
        On Error GoTo 0
    L_ExEffacerEnregistrement:
        Exit Sub
     
    L_ErrEffacerEnregistrement:
        MsgBox err.description, vbExclamation, "Erreur N°" & err.Number
        Resume L_ExEffacerEnregistrement
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  6. #6
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    3 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 3 141
    Points : 6 955
    Points
    6 955
    Billets dans le blog
    2

    Par défaut

    argyronet,

    Je cherchais à faire la bonne réponse... mais tu m'as précédé (si bannir = proscrire)

    Il y a peut-être du ménage à faire dans la Faq..

    http://access.developpez.com/faq/?pa...es#SupprEnrDep

    Merci
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    JimBoLion, MERCI BEAUCOUP



    Justine

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    Merci à vous Argy aussi
    à vous 2 de vouloir m'aider

    Argy j'ai essayé ton code mais ça ne marche pas : je crois que je me trompe dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "DELETE FROM [" & TableCible & "] WHERE [" & ChampCible & "]=" & QuelID, dbFailOnError
    que j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute "DELETE FROM [" & eleve& "] WHERE [" & nom& "]=" & QuelID, dbFailOnError
    et donc ça ne fonctionne pas ! et je ne sais même pas si ce code supprimera l'historique ?

    Merci de votre aide

    Justine

  9. #9
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    3 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 3 141
    Points : 6 955
    Points
    6 955
    Billets dans le blog
    2

    Par défaut

    justine91,

    Dois je te renvoyer la avant de recevoir un bouquet de

    Bon plus sérieusement le nom de la table Historique est connu donc dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DELETE FROM [ELEVE] WHERE [nom]=" & QuelID, dbFailOnError
    si la table historique est dans une variable (appelé eleve dans ton exmeple) alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DELETE FROM ['" & eleve & "'] WHERE [nom]=" & QuelID, dbFailOnError
    Mais en cherchant plus loin si ton critère est de type texte alors dans le premier cas (les variables de type string se protège avec des ')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DELETE FROM [ELEVE] WHERE [nom]='" & QuelID & "'", dbFailOnError
    dans le deuxième cas (variable)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DELETE FROM ['" & eleve & "'] WHERE [nom]='" & QuelID & "'", dbFailOnError
    Dans l'attente de ta réponse

    Pour les messages d'effacement, çà doit être OK

    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  10. #10
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    janvier 2013
    Messages
    3 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2013
    Messages : 3 141
    Points : 6 955
    Points
    6 955
    Billets dans le blog
    2

    Par défaut

    Justin91,

    Mais je pense que ta solution est proche de celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DELETE * FROM [ELEVE] WHERE [nom]='" & QuelID & "'", dbFailOnError
    JimBoLion
    N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
    Retrouvez-moi sur le chat en salon base de données

  11. #11
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 942
    Points : 11 391
    Points
    11 391
    Billets dans le blog
    5

    Par défaut

    Justine, tu ne dois pas modifier la procédure EffacerEnregistrement puisqu'elle est générique.
    Tu passes en paramètres comme dans l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub delete_Click()
        EffacerEnregistrement "l'élève", Me.ide, "ide", "Histo"
    End Sub
    EffacerEnregistrement
    Sujet dans le message § l'élève pour afficher le message "Voulez-vous supprimer l'élève ?"
    QuelID correspond à l'ID visé donc pour ton cas ide (Clause WHERE)
    ChampCible correspond au champ utilisépour supprimer la ligne visée donc pour ton cas ide
    TableCible correspond à la table visée donc pour ton cas histo

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  12. #12
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    Argy,
    en effet j'ai laissé le code tel quel
    Le problème c'est que ça supprime juste l'historique de l'élève
    et moi je veux que ça supprime
    - l'historique + l'élève en question
    Je cherche comment faire
    Merci de ton aide
    Justine

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    JimBoLion merci merci !!!!!!!
    je suis entrain de tester actuellement

    POur le moment j'ai juste la suppression de l'historique, et je test la suppression de l'histo + l'élève
    Justine

  14. #14
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 942
    Points : 11 391
    Points
    11 391
    Billets dans le blog
    5

    Par défaut

    Bien il te suffit d'établir une relation 1 à N entre eleves et historique avec maj /suppression en cascade.
    Mais je ne connais pas ton MCD donc à étudier.
    Sinon, il faut modifier la procédure de mnière à faire un DELETE en conséquence.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  15. #15
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2014
    Messages : 81
    Points : 41
    Points
    41

    Par défaut

    Argy
    voici comment sont mes relations en image jointe
    Justine
    Images attachées Images attachées  

  16. #16
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 942
    Points : 11 391
    Points
    11 391
    Billets dans le blog
    5

    Par défaut

    Eh bien tu efectues un double-clic sur le jointure et établies une relation avec intégrité référentielle.
    Tu coches alors MAJ/Effacer en cascade...
    Attention, cette option sera possible si toutes les données eleves /\ histo sont cohérentes.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. Erreur C2065 sur boite dialogue
    Par meera dans le forum MFC
    Réponses: 2
    Dernier message: 01/10/2006, 18h36
  2. [MFC]Bouton "?" pour une application boite dialogu
    Par fleur_de_rose dans le forum MFC
    Réponses: 2
    Dernier message: 23/03/2006, 08h44
  3. Réponses: 7
    Dernier message: 10/10/2005, 18h54
  4. Réponses: 1
    Dernier message: 28/08/2005, 07h30
  5. Réponses: 11
    Dernier message: 15/06/2005, 15h31

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