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 :

Compter nombre de lignes supprimer [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 200
    Points : 157
    Points
    157
    Par défaut Compter nombre de lignes supprimer
    Bonjour , je souhaiterai compter le nombre d'enregistrement supprimé par le code ci-dessous. J'ai essayê avec dcount() mais visiblement ça ne marche pas sur requete action.
    Auriez vous une idée svp ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub btnPurgerTableTemporaire_Click()
        If (MsgBox("Confirmez vous la purge de la base de donnée ?", vbYesNo, "SUPPRESSION DES LIGNES A 0") = vbYes) Then
            DoCmd.SetWarnings (False)
            DoCmd.OpenQuery "r_suppression_ligne_a_0_t_limportation_temporaire"
            MsgBox " La base de donnée à été purgée.", vbInformation, "CONFIRMATION"
            DoCmd.SetWarnings (True)
        Else
            MsgBox "A votrre demande la base n'a pas été purgée.", vbInformation, "ANNULATION"
        End If
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Compte les enregistrements avant la purge et mémorise dans une variable... et recompte-les après la purge. La différence est ce que tu cherches, ou alors, je n'ai pas compris la question.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Peut-être ceci correspondrait-il à ta demande :
    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
    Dim db As DAO.Database
    Set db = CurrentDb()
    Dim reqSQL As String                			 ' variable qui contiendra la requête SQL à executer
    Dim lgNumTbTemp As Long                		 ' variable contenant le nombre d'enregistrements à supprimer
    Dim rcdTbTemp As DAO.Recordset
        reqSQL = "SELECT Nom_de_la_table.[un_champ_de_la_table] FROM Nom_de_la_table Where ici_les_critères_de_ta_requête_de_suppression"
        Set rcdTbTemp = db.OpenRecordset(reqSQL)
            If rcdTbTemp.EOF Then               		' Vérifie la table contient des enregistrements
    	MsgBox "Il n'y a pas d'enregistrements à purger dans la base de données"
            Else
           	rcdTbTemp.MoveLast			        ' Parcourir le recordset
            lgNumTbTemp = rcdTbTemp.RecordCount	' Compter le nombre d'enregistrements
    	MsgBox "Il y a " & lgNumTbTemp & " enregistrements à purger dans la base de données."
            End If
    db.Close
    Cordialement
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 200
    Points : 157
    Points
    157
    Par défaut
    En fait il ne s'agit pas d'une requete sélect mais d'une requete action de suppression créé par le générateur de requete.

  5. #5
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Oui, bien entendu, mais pour compter tes enregistrements, tu dois faire une requête sélect avec le même critère que ta requête suppression, et c'est dans ce select que tu peux compter tes enregistrements. Pour l'écriture de la requête en SQL, tu affiches ta requête suppression en mode SQL, ,et tu adaptes mon code "Select" avec la traduction SQL de ta requête suppression.
    Cdt
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 200
    Points : 157
    Points
    157
    Par défaut
    Merci pour vos aide. C'est quand même fou que vba n'est pas prévu de compter le nombre de suppression de manière plus simple sachant qu'il est capable de dire ligne par ligne qu'un élément va été supprimé si on de met pas le setwarnings a false.

    Bref du coup avec votre aide cela fonctionne comme je veux.

    Pour ceux qui peuvent être intéresseré donc:
    1) j'ai fait une copie de ma requete suppression que j'ai passé en requete sélection
    A cela j'ai effectué le code suivant:
    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 btnPurgerTableTemporaire_Click()
       Dim db As Database
       Dim rs As Recordset
       Set db = CurrentDb
       Set rs = db.OpenRecordset("r_select_suppression_ligne_a_0_t_importation_temporaire")
       nbr = rs.RecordCount
        If (nbr = 0) Then
            MsgBox "La base ne comporte aucun élément à purger", vbInformation, "REQUETE INUTILE"
        ElseIf (nbr = 1) Then
            DoCmd.SetWarnings (False)
            DoCmd.OpenQuery "r_suppression_ligne_a_0_t_limportation_temporaire"
            MsgBox " La base de donnée à été purgée." & vbLf & nbr & " enregistrement a été supprimé.", vbInformation, "CONFIRMATION"
            DoCmd.SetWarnings (True)
        Else
            DoCmd.SetWarnings (False)
            DoCmd.OpenQuery "r_suppression_ligne_a_0_t_limportation_temporaire"
            MsgBox " La base de donnée à été purgée." & vbLf & nbr & " enregistrements ont été supprimés.", vbInformation, "CONFIRMATION"
            DoCmd.SetWarnings (True)
        End If
    End Sub
    Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/03/2014, 13h39
  2. Réponses: 11
    Dernier message: 10/10/2007, 14h44
  3. nombre de lignes supprimé
    Par moudz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/08/2007, 11h08
  4. [XSLT] Compter nombre de ligne
    Par c+cool dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 27/04/2006, 09h52
  5. Réponses: 6
    Dernier message: 21/04/2006, 11h22

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