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

Access Discussion :

Recordset - No Current Record


Sujet :

Access

  1. #1
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut Recordset - No Current Record
    Bonjour,
    Je me casse les dents sur une manip que j'utilise déja dans ma base et qui dans le cas présent ne fonctionne pas.
    J'ai un formulaire principal basé sur la table "Contrat". Sur ce formulaire, je crée un sous-formulaire basé sur la meme table (je pourrais en effet eviter de passer par un sous-formulaire, mais c'est plus pratique pr moi et je suis pas sur que ca reglerait mes problemes)
    J'ai donc un lien PERE/FILS sur le meme champ entre le form. principal et le sous-form.
    J'essaye simplement de tester et lire le recordet du sous-form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    If Not rst.EOF Then
      MsgBox "Le jeu d'enregistrements n'est pas vide"
      MsgBox rst.Fields("id")
    Else
      MsgBox "Le jeu d'enregistrements est vide"
    End If
    Ca marche quand j'ouvre la base, mais quand je change d'enregistrement sur mon formulaire principal, il me met l'erreur 3021 'No current record'.
    Je comprends rien !

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Et avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not (rst.EOF or rst.BOF )Then

  3. #3
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Salut Tofalu,

    J'ai oublié de préciser qqc... Je parviens a tester mon recordset avec EOF, mais l'erreur arrive systematiquement lorsque je veux lire un champ de mon recordset:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox rst.Fields("id")

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Dans ce cas, teste aussi avec BOF pour voir

  5. #5
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    J'ai le meme résultat avec ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    If Not rst.BOF Then
      MsgBox "Le jeu d'enregistrements n'est pas vide"
      MsgBox rst.Fields("id")
    Else
     MsgBox "Le jeu d'enregistrements est vide"
    End If
    J'ai oublié de preciser que ce bout de code se trouve sur l'evenement On_Current de mon sous-formulaire. Je la teste don en changeant d'enregistrement sur mon formulaire principal.
    Quand j'ouvre le formulaire, pas de souci, il me dit que le jeu d'enregistrement n'est pas vide et il me sort la bonne valeur de mon champ "id".
    Apres, lorsque je fais défiler les enregistrements, il me sort la meme Msgbox (Le jeu d'enr n'est pas vide) mais il bloque sur le rst.Fields en disant "No current record".

    Un truc bizare que je viens de remarquer qui est peut etre lié. Quand je mets une ligne tel que Msgbox "test" dans l'evenement On Current de nimporte lequel de mes sous formulaire, la boite apparait deux fois de suite. L'evenement s'applique deux fois a chaque fois que je me deplace dans le recordset de mon formulaire principal.

    Vraiment chelou cette affaire

Discussions similaires

  1. [AC-2003] Dirty CancelBeforeUpdate No current record
    Par gabvoir dans le forum VBA Access
    Réponses: 8
    Dernier message: 05/08/2011, 17h41
  2. recordset avec trop de records
    Par oldnewbie dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/08/2009, 18h46
  3. Current record, si enrengistrement= le précédent on enregistre pas
    Par francky42 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/05/2009, 12h13
  4. Left Join et "no fetch current record"
    Par olivier_nicollet dans le forum SQL
    Réponses: 7
    Dernier message: 05/12/2006, 14h08
  5. Record et TObject
    Par spirale dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2002, 12h06

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