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 dans un code. Hierarchie DAO.


Sujet :

VBA Access

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut [VBA] Erreur dans un code. Hierarchie DAO.
    Bonjour à tous, je cherche à afficher tous les enregistrements que j'ai dans une table dans ma fenêtre d'exécution VBA ...

    Voici le code que j'ai :

    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
    27
    Sub DAO_lister_caracteristiques()
     
    'Déclaration des variables
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
     
    'Ouverture de la table tb_caracteristiques
    Set db = Application.CurrentDb
    Set rst = db.OpenRecordset("TB_CARACTERISTIQUES")
     
    'Parcours de la table
    While rst.EOF = False
     
        'Affichage des informations
        Debug.Print rst("pk_fk_metal"), rst("pk_fk_alliage"), rst("pk_fk_mouvement"), rst("pk_fk_titre"),
        Debug.Print rst.AbsolutePosition
     
        'Passage aux caractéristiques suivantes
        rst.MoveNext
    Wend
     
    'Fermeture et libération des objets
    rst.Close
    Set rst = Nothing
    Set db = Nothing
     
    End Sub
    et voici mon erreur :

    Erreur d'exécution '3251'
    Opération non autorisé pour ce type d'objet.
    Lorsque je clique sur débogage c'est cette ligne qui se met en jaune :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print rst.AbsolutePosition
    si je mets cette ligne en commentaires cela marche mais mon affichage ne se fait pas comme je le voudrais ...

    Savez-vous d'où vient le problème ... ??? merci de votre aide ...

    +++
    ++
    +

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Quand tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Debug.Print rst.AbsolutePosition
    Tu veux afficher quoi ?

  3. #3
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Si c'est le numéro de l'enregistrement que tu veux (1er, 2ème etc..)
    tu peux mettre un compteur à la place et afficher ce compteur : ça fera la même chose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim i as Integer
    i = 1
    'Parcours de la table 
    While rst.EOF = False 
     
        'Affichage des informations 
        Debug.Print rst("pk_fk_metal"), rst("pk_fk_alliage"), rst("pk_fk_mouvement"), rst("pk_fk_titre"), 
        Debug.Print i
        i = i + 1
     
        'Passage aux caractéristiques suivantes 
        rst.MoveNext 
    Wend

  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
    AbsolutePosition n'est pas disponible pour les recordset de type Table (par défaut ici)

    Ouvre un recordset dynamique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rst = db.OpenRecordset("TB_CARACTERISTIQUES",dbOpenDynaset)

Discussions similaires

  1. Erreur dans un code VBA dans Access
    Par Mathieu51 dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/10/2009, 15h10
  2. [XL-2003] Aide pour erreur dans un code Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/05/2009, 07h48
  3. erreur dans le code vba
    Par jihad33 dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/01/2008, 14h00
  4. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26
  5. [VBA][Débutant][export]erreurs dans mon code?
    Par Christophe93250 dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2006, 19h52

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