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 :

[VBA] Erreur Fermeture Recordset


Sujet :

VBA Access

  1. #1
    seb92400
    Invité(e)
    Par défaut [VBA] Erreur Fermeture Recordset
    Hello,

    Je tripatouille depuis peu les recordset (j'avoue que quand c'est possible, je préfère m'en tenir aux domaines ), donc ce qui m'arrive est sans doute bénin... Mon 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
    15
    16
    17
    Private Sub Liste_Rechercher_AfterUpdate()
    On Error GoTo Err_Liste_Rechercher_AfterUpdate
     
        Dim Enr As DAO.Recordset
        Set Enr = Me.Recordset
        Enr.FindFirst "[NumAuto_Clients] = " & Me.Liste_Rechercher.Column(0)
        Set Enr = Nothing
        Enr.Close
     
    Exit_Liste_Rechercher_AfterUpdate:
        Exit Sub
     
    Err_Liste_Rechercher_AfterUpdate:
        MsgBox ("Err. " & Err.Number & " : " & Err.Description)
        Resume Exit_Liste_Rechercher_AfterUpdate
     
    End Sub
    Celui-ci fonctionnait très bien... jusqu'à ce que je me laisse dire qu'il ne fallait jamais laisser un recordset ouvert... Soit... Mais dès que je place la ligne de code "Enr.Close", j'obtiens un message d'erreur... Err 91 : Variable objet ou variable de bloc with non définie... quand je clique sur un nom de la liste...

    Que dois-je faire ???

    Merci d'avance...

  2. #2
    Membre actif Avatar de Gary_Stoupy
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 244
    Points : 232
    Points
    232
    Par défaut
    Bonjour,

    Il faut que tu le fermes avant ta déclaration
    Et normalement tu n'auras plus l'erreur

  3. #3
    seb92400
    Invité(e)
    Par défaut
    Merci, mais... c'est déjà fait... C'est dans le code...

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Set Enr = Nothing
        Enr.Close
    La proposition de Gary_Stoupy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Enr.Close
        Set Enr = Nothing

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Il faut que ton "enr.close" précède ton "Set enr = Nothing".
    Le "set Enr = Nothing" casse la référence à l'objet recordset et tu ne peux pas fermer un objet si la référence à celui-ci a disparu..

  6. #6
    seb92400
    Invité(e)
    Par défaut
    Oups... Je n'avais pas compris... Mais malheureusement, ça ne fonctionne toujours pas...

    Maintenant, j'obtiens un autre message d'erreur : 2424 : L'expression entrée comporte un nom de champ, de contrôle ou de propriété introuvable...

    Grrr...

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Enr = Me.Recordset.clone

  8. #8
    seb92400
    Invité(e)
    Par défaut
    Merci... Ca marche... J'ai juste ajouté une propriété Bookmark... J'ai trouvé ça dans l'aide... Sinon, ma liste n'affchait plus rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim Enr As DAO.Recordset
        Set Enr = Me.Recordset.Clone
        Enr.FindFirst "[NumAuto_Clients] = " & Me.Liste_Rechercher.Column(0)
        If Not Enr.EOF Then Me.Bookmark = Enr.Bookmark
        Enr.Close
        Set Enr = Nothing
    Il va vraiment falloir que je me plonge dans les recordset... parce que pour l'instant, j'y comprends pas grand chose...

    Merci encore !

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Il y a un tuto hors pair sur le site.

    Fais y un tour.

    Livre de chevet

Discussions similaires

  1. [VBA] Erreur 52 lorsqu'il y a déconnexion au serveur
    Par banzaii dans le forum Général VBA
    Réponses: 6
    Dernier message: 27/06/2017, 23h49
  2. [vba] erreur 3061 & récupération recordset
    Par bugprog dans le forum Access
    Réponses: 1
    Dernier message: 04/05/2007, 17h00
  3. erreur VBA dans un recordset
    Par rapace dans le forum Access
    Réponses: 4
    Dernier message: 12/10/2005, 16h52
  4. [VBA] Erreur dans une requête
    Par Damsou dans le forum Access
    Réponses: 31
    Dernier message: 21/06/2005, 18h04
  5. gestion d'erreur et fermeture recordset
    Par yorra dans le forum Access
    Réponses: 4
    Dernier message: 14/11/2004, 12h38

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