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 :

Erreur 3021 : BOF ou EOF = True sur un recordset


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2010
    Messages : 60
    Points : 54
    Points
    54
    Par défaut Erreur 3021 : BOF ou EOF = True sur un recordset
    Bonjour,

    Je travaille avec ADODB et Access 2007.

    Je crée une connexion et un recordset pour remplir un formulaire, mais ce dernier ne contient apparemment aucun enregistrement.
    Alors qu'en lançant la même requête manuellement, les données sont ramenées correctement.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rstCrea.Open "SELECT TREECATS.lib_cat, TREECATS.id_cat_parent FROM TREECATS, DOCSNODEPOS WHERE DOCSNODEPOS.id_doc_bo = '" & docId & "' AND TREECATS.id_cat = DOCSNODEPOS.id_cat", cnxCrea, adOpenStatic, adLockOptimistic
        rstCrea.MoveFirst
    Quelqu'un saurait m'expliquer la cause ?

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    bonjour
    FROM TREECATS, DOCSNODEPOS WHERE.....
    ne me semble pas correct.
    Pourquoi ne pas copier/coller dans ton code, le SQL de ta requete qui marche manuellemnt?

    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2010
    Messages : 60
    Points : 54
    Points
    54
    Par défaut
    Le problème, c'est que j'ai bien copié-collé le code de ma requête qui marche manuellement, les deux requêtes sont identiques.
    Je pense que l'erreur pourrait venir du fait que les enregistrements que j'essaie d'extraire par cette requête sont ajoutés aux tables juste avant l'ouverture de ce formulaire.

    Pourtant le précédent recordset et la précédente connexion sont bien fermés, il n'y a donc pas d'accès concurrents aux tables.

  4. #4
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    ...j'ai bien copié-collé le code de ma requête qui marche manuellement..
    1/ Dans ça:
    SELECT TREECATS.lib_cat, TREECATS.id_cat_parent FROM
    aucune trace de DOCSNODEPOS.id_doc_bo
    or la clause WHERE est basée sur ça.
    ...WHERE DOCSNODEPOS.id_doc_bo = '" & docId
    2/Il me semble qu'il n y a aucune relation entre tes tables; c'est bien le cas?
    ...FROM TREECATS, DOCSNODEPOS...

    @+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2010
    Messages : 60
    Points : 54
    Points
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TREECATS.lib_cat, TREECATS.id_cat_parent
    FROM TREECATS, DOCSNODEPOS
    WHERE DOCSNODEPOS.id_doc_bo = '" & docId & "'
    AND TREECATS.id_cat = DOCSNODEPOS.id_cat
    Je suis à peu près certain que ma phrase est correcte.

    1/ La table TREECATS contient les catégories de mon treeview, la table DOCSNODEPOS indique la position de chaque document dans mon arbre.

    Je ne fais la jointure avec DOCSNODEPOS que pour rechercher la catégorie liée à un id_doc_bo.
    Je ne prends que les informations dont j'ai besoin : id_cat et id_cat_parent
    de TREECATS.

    2/ Il y a une relation entre les tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...AND TREECATS.id_cat = DOCSNODEPOS.id_cat

Discussions similaires

  1. [XL-2010] Erreur Either BOF or EOF
    Par sasafca dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/04/2013, 15h27
  2. Erreur 3021 BOF/EOF sur un recordset.MoveNext
    Par greg360 dans le forum VBA Access
    Réponses: 2
    Dernier message: 31/08/2010, 17h34
  3. Réponses: 5
    Dernier message: 16/08/2006, 11h33
  4. ADO : Either BOF or EOF is true ... sous Delphi 7 !
    Par seb83 dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2005, 14h31
  5. ADO et 'Either BOF or EOF is True ...'
    Par exe dans le forum Bases de données
    Réponses: 3
    Dernier message: 18/05/2004, 13h07

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