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 :

suppression enregistrement sous formulaire


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut suppression enregistrement sous formulaire
    salut
    j'ai un formulaire dans lequel se trouve 3 sous formulaires
    j'ai crée un bouton Supprimer enregistrement
    et je voudrais qu'il supprime les lignes des tables de mes 3 sous-formulaires et celle de mon formulaire.
    Celui crée directement avec l'assistant Access me donne le message d'erreur Suppression impossible car un sous formulaire comprend des enregistrements connexes.

    j'avais pensé mettre ce code:
    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 bc_supprimer_Click()
    Dim Sql As String
    If MsgBox("Etes vous sûr ?", vbYesNo + vbCritical, "Suppression") = vbNo Then Exit Sub
     
    Sql = " DELETE Table1.* FROM Table_sous_form1 WHERE Table1.NumFiche = " & Me.tb_NumFiche & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE table2.* FROM Table_sous_form2 WHERE table2.NumFiche = " & Me.tb_NumFiche & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE Table1.* FROM Table_sous_form3 WHERE Table1.NumFiche = " & Me.tb_NumFiche & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE table2.* FROM Table_formulaire WHERE table2.NumFiche = " & Me.tb_NumFiche & " ;"
    CurrentDb.Execute Sql
    Endif
    End Sub
    mais je voulais savoir s'il n'y avait pas un autre moyen ?

    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    as tu essaye de faire une mise a jour apres chaque suppression d enregistrement des sous formulaire?

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut
    pour l'instant je n'ai pas mis de code.
    j'ai juste celui qui a été crée lorsque j'ai crée le bouton supprimer

    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
    Private Sub supprimer_Click()
    On Error GoTo Err_supprimer_Click
     
     
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
     
    Exit_supprimer_Click:
        Exit Sub
     
    Err_supprimer_Click:
        MsgBox err.Description
        Resume Exit_supprimer_Click
     
    End Sub
    pourquoi j'ai 2 lignes DoCmd.DoMenuItem... ?
    a quoi correspondent 8 et 6 ?

    tu me conseilles de taper mon propre code ou puis-je modifier celui ci-dessus ?

  4. #4
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut
    Ok j'ai trouvé ce qu'étais 8 et 6
    Commande Variant obligatoire. Vous pouvez utiliser l'une des constantes intrinsèques suivantes.

    Constantes intrinsèques :
    acNew
    acSaveForm
    acSaveFormAs
    acSaveRecord
    acUndo
    acCut
    acCopy
    acPaste
    acDelete ->8
    acSelectRecord
    acSelectAllRecords
    acObject
    acRefresh

    Mais pourquoi 8 et après 6 ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    a quoi correspondent 8 et 6 ?
    tu as la réponse en cliquant sur f1 quand la souris est sur DoMenuItem

    en modifiant le dernier code que tu as mis, je sais pas.
    mais si tu le fais le code avec des requetes Delete, tu supprimes et tu mets a jour (en premier dans tes sous formulaires puis dans le formulaire principal)

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 150
    Points : 107
    Points
    107
    Par défaut
    voici mon code pour supprimer:

    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 supprimer_Click()
    Dim Sql As String
    If MsgBox("Etes vous sûr de vouloir supprimer cet enregistrement?", vbYesNo + vbCritical, "Suppression") = vbNo Then Exit Sub
     
    Sql = " DELETE rep_controleurs.* FROM rep_controleurs WHERE rep_controleurs.no_rep = " & Me.no_rep & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE rep_regleurs.* FROM rep_regleurs WHERE rep_regleurs.no_rep = " & Me.no_rep & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE rep_operateur.* FROM rep_operateur WHERE rep_operateur.no_rep = " & Me.no_rep & " ;"
    CurrentDb.Execute Sql
    Sql = " DELETE rep.* FROM rep WHERE rep.no_rep = " & Me.no_rep & " ;"
    CurrentDb.Execute Sql
    MsgBox ("L'enregistrement a bien été supprimé")
    End Sub
    çà fonctionne
    maintenant je vais voir comment faire parce que j'ai une numéro_auto comme clé primaire
    comment le remettre a zero...

    La pour l'instant lorsque je clique sur supprimer j'ai toutes mes valeurs dans mes composants il faut que je vois si je les clear

    en tout cas merci çà fonctionne...

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 267
    Points : 268
    Points
    268
    Par défaut
    je crois et je suis quasiment sur qu'une clee primaire en numéro auto ne peut pas être remis a zero. Si non, il faut que tu créé toi meme une incrementation

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

Discussions similaires

  1. [AC-2010] Suppression enregistrement sous formulaire
    Par KaZz- dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/05/2011, 10h54
  2. Réponses: 7
    Dernier message: 16/09/2009, 16h27
  3. Réponses: 5
    Dernier message: 19/01/2007, 01h42
  4. renversement des enregistrements sous formulaire
    Par sebos21 dans le forum Access
    Réponses: 2
    Dernier message: 25/05/2006, 10h48
  5. Enregistrer sous-formulaire meme si pas rempli
    Par mat75019 dans le forum Access
    Réponses: 3
    Dernier message: 22/04/2006, 08h32

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