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 :

ADODB - EOF : Cette opération n'est pas autorisée si l'objet est ouvert ou fermé [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut ADODB - EOF : Cette opération n'est pas autorisée si l'objet est ouvert ou fermé
    Bonjour,

    il existe déjà une autre discussion sur ce message d'erreur mais je pense avoir déjà appliqué la solution proposée :
    La solution consiste à ouvrir et fermer la base de données qu'une fois.
    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
    21
    22
    23
    24
    25
    26
    Dim oCnMySQL As ADODB.Connection, adoRS As ADODB.Recordset, adoRS2 As ADODB.Recordset
    Set oCnMySQL = New ADODB.Connection
    oCnMySQL.connectionString = ADO_CONNEXION_STRING
    oCnMySQL.Open
    Set adoRS = New ADODB.Recordset
    Set adoRS2 = New ADODB.Recordset
    strRequete = "select CTL_LIBELLE_SQL etc."
    adoRS.Open strRequete, oCnMySQL, adOpenStatic, adLockOptimistic, adCmdText
    While Not (adoRS.EOF)
        ...
        strRequeteRecup = adoRS("CTL_LIBELLE_SQL")
        adoRS.MoveNext
        adoRS2.Open strRequeteRecup, oCnMySQL, adOpenStatic, adLockOptimistic, adCmdText
        If intIdRestitution = ID_CSV Then
           Open "C:\temp\" & Format(Now, "yyyy-m-d_hh-nn") & "_" & Replace(strNomCtrl, " ", "_") & ".csv" For Output As intNumLigne
           While Not adoRS2.EOF
              ...
              adoRS2.MoveNext
           Wend
        End If
        ...
    Wend
    adoRS.Close
    adoRS2.Close
    Set adoRS = Nothing
    Set adoRS2 = Nothing
    La ligne 16 (While Not adoRS2.EOF) déclenche l'erreur "Cette opération n'est pas autorisée si l'objet est ouvert". Si on ne peut pas le faire sur un objet ouvert quand peut-on le faire ?
    Pour voir, j'ai ajouté "adoRS2.Close" juste avant et bien sûr j’obtiens : "Cette opération n'est pas autorisée si l'objet est fermé".

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    J'ai trouvé ce qui n'allait pas. La requête (récupérée) contient un UPDATE au lie d'un SELECT. Elle ne renvoie donc pas de données.

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 20/01/2015, 12h14
  2. la balise "h5" n'est pas autorisée dans "a"
    Par Mister Paul dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 16/01/2011, 19h02
  3. Réponses: 3
    Dernier message: 23/05/2009, 13h07
  4. ORA-22902 L'expression cursor n'est pas autorisée
    Par tommey dans le forum PL/SQL
    Réponses: 4
    Dernier message: 14/11/2008, 09h48
  5. Réponses: 3
    Dernier message: 27/03/2008, 16h17

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