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 sur liste déroulante [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Erreur 3021 sur liste déroulante
    Bonsoir,

    En cours de transfert d' une base de Access 97 à 2007, je bute sur une erreur 3021. Le code utilisé dans ma liste déroulante est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.RecordsetClone.FindFirst "[Cf_CltCmd] = " & Me![LstCmd]
        Me.Bookmark = Me.RecordsetClone.Bookmark
    Je tiens à préciser que la liste contient bien des valeurs. Par contre, le système bloque sur la deuxième ligne en me renvoyant le message suivant.
    Erreur d' exécution 3021
    Aucun enregistrement en cours.
    Quelqu' un aurait-il une idée sur les causes de ce dysfonctionnement.

    Cordialement

  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
    Tout d'abord, votre utilisation de recordsetclone est curieuse. A chaque appel, celle-ci renvoie un nouvel objet Dao.Recordset. A l'appeler deux fois de suite, vous utilisez deux objets différents complètement indépendants.

    Utilisez une seule fois RecordsetClone et stockez le retour dans une variable de type DAO.Recordset avec le mot clé Set. Ensuite, faites vos traitements sur cette variable.

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Erreur 3021
    Bonsoir,

    Merci Tofalu d' avoir répondu si rapidement.
    Ce que je ne comprend pas, c' est que le code de mon premier message est le même dans tous les formulaires. Le fonctionnement est parfait dans tous les cas sauf bien entendu, celui présenté ci-dessus.
    Dans ce cas particulier, la valeur sélectionnée s 'affiche bien dans mon formulaire mais sans la mise à jour de ce dernier.
    D' autre part, mon formulaire est basé sur une requête. Lorsque je saisie directement la valeur dans celle-ci, l' affichage est correct. Le bug pourrait-il venir d' un autre élément?

    Cordialement

  4. #4
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Essaies le code fournit avec l'assitant création de liste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub MyList_AfterUpdate()
     
    Dim Rs As Object
     
    Set Rs = Me.Recordset.Clone
    Rs.FindFirst "[Cf_CltCmd] = " & Me![LstCmd]
    Me.Bookmark = Rs.Bookmark
     
    End Sub
    De plus, Me![LstCmd] est-il bien une valeur numérique ?

    Cordialement

    Christophe
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  5. #5
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Erreur 3021
    Bonjour,

    Je viens de tester la proposition de Marsouin_89.
    Malheureusement sans changement sur le résultat.
    Le message s' affiche toujours sur la dernière ligne du code, à savoir:
    Me.Bookmark = Rs.Bookmark
    Enfin, et pour répondre à votre question, le champ [LstCmd] est bien un champ nuémrique.

    Cordialement

  6. #6
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Erreur 3021
    Bonjour,

    Tout d' abord, mille excuses pour vous avoir fait perdre votre temps. Il y a des baffes qui se perdent! En effet, le problème venait bien d' une mauvaise construction du formulaire. Sans rentrer dans trop de détails inutiles, j' utilisai un champ d' une table qui ne correspondait pas à la logique du but recherché!
    En vous renouvelant mes excuses en particulier à Tofalu et Marsouin_59.
    Bien cordialement

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/01/2014, 11h52
  2. erreur sur liste déroulante
    Par pigeon11 dans le forum Struts 1
    Réponses: 2
    Dernier message: 27/09/2007, 09h03
  3. [MySQL] Affichage de données après click sur liste déroulante
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/01/2006, 12h08
  4. Réponses: 3
    Dernier message: 23/01/2006, 11h43
  5. Selection clavier sur liste déroulante
    Par Maxime_ dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 12/01/2006, 10h35

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