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 :

Fermer tous les recordsets ouverts. [AC-365]


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Homme Profil pro
    informaticien retraité
    Inscrit en
    Mai 2017
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : informaticien retraité

    Informations forums :
    Inscription : Mai 2017
    Messages : 285
    Par défaut Fermer tous les recordsets ouverts.
    Bonjour,

    Comment fermer tous les recordsets qui sont ouverts, j'ai trouvé une solution mais dans ws.recordsets, recordsets n'est pas reconnu par le VBA.
    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
    Sub CloseAllRecordsets()
        Dim ws As DAO.Workspace
        Dim rs As DAO.Recordset
        Dim i As Integer
     
        ' Get the default workspace
        Set ws = DBEngine.Workspaces(0)
     
        ' Loop through all open recordsets in the workspace
        For i = ws.Recordsets.Count - 1 To 0 Step -1
            Set rs = ws.Recordsets(i)
            rs.Close
            Set rs = Nothing
        Next i
     
        ' Clean up
        Set ws = Nothing
    End Sub
    Je ne suis pas du tout à l'aise avec le DBEngine.Workspaces.

    Auriez-vous une solution s.v.p.

    MErci.

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 622
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    Il faut utiliser un objet Database :

    https://learn.microsoft.com/fr-fr/of...s-property-dao

    Par exemple Currentdb renvoie un objet de ce type.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre éclairé
    Homme Profil pro
    informaticien retraité
    Inscrit en
    Mai 2017
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : informaticien retraité

    Informations forums :
    Inscription : Mai 2017
    Messages : 285
    Par défaut
    Bonjour User,

    Ça fonctionne très bien.

    Merci pour votre solution.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 524
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 524
    Par défaut
    Hello,

    Quel est l'intérêt d'écrire une telle fonction ?
    Elle s'occupe de se qui ne la regarde pas (viol de la Loi de Demeter https://fr.wikipedia.org/wiki/Loi_de_D%C3%A9m%C3%A9ter).

    C'est probablement le syndrome d'une programmation "spaghetti", une refactorisation serait-elle à prévoir ?
    Et quitte à préconiser de bonnes pratiques: https://en.wikipedia.org/wiki/Single...lity_principle

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

Discussions similaires

  1. [FAQ] Fermer tous les formulaires ouverts
    Par guigui5931 dans le forum Contribuez
    Réponses: 19
    Dernier message: 15/02/2024, 16h57
  2. [WD-2016] Fermer tous les Word ouvert
    Par leloup84 dans le forum VBA Word
    Réponses: 1
    Dernier message: 03/04/2023, 21h34
  3. [AC-2013] Fermer tous les formulaire ouvert et ouvrire un seule
    Par m_charmat dans le forum Access
    Réponses: 10
    Dernier message: 01/11/2015, 00h09
  4. DAO fermer tous les Recordsets
    Par mapmip dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/01/2010, 12h10
  5. Comment fermer tous les modules ouverts
    Par chim33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/02/2009, 14h11

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