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 : "Aucun enregistrement en cours" après ligne de comptage


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 092
    Points : 268
    Points
    268
    Par défaut Erreur 3021 : "Aucun enregistrement en cours" après ligne de comptage
    Bonjour à tous

    Dans le code ci-desous une erreur 3021 apparaît en signalant la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CompteurTemps = CompteurTemps + Sélection("duréeaction")
    et pourtant si je mets un debug.print dans la boucle le comptage se fait bien je ne vois donc pas pourquoi apparaît cette erreur.

    Merci d'avance pour vos éclaircissements

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Public Function SélectionListeActionsPourFacture()
     
    DoCmd.RefreshRecord
     
    Dim Sélection As Recordset
    Dim ListeSélection As Variant
    Dim NumLigne As Integer
    Dim CompteurTemps As Integer
     
    CompteurTemps = 0
    NumLigne = 1
     
      Set Sélection = CurrentDb.OpenRecordset("SELECT t_rendezvous.horairedebut, t_rendezvous.horairefin, t_rendezvous.[sélectionner], t_rendezvous.DuréeAction, [Types actions].TypeAction FROM [Types actions] INNER JOIN t_rendezvous ON [Types actions].NumTypeAction = t_rendezvous.TypeAction WHERE (((t_rendezvous.[Sélectionner]) = True))ORDER BY t_rendezvous.horairedebut DESC;")
     
    If Sélection.BOF = True Then
      MsgBox "Aucun élément sélectionné", vbCritical
        Exit Function
      End If
     
      Sélection.MoveFirst
      ListeSélection = ""
     
     
        While Not Sélection.EOF
     
        ListeSélection = ListeSélection & "- " & NumLigne & ". " & Sélection("TypeAction") & " le " & Format(DateValue(Sélection("horairedebut")), "dd mmm yyyy") & "  > " & " " & " de " & Format(TimeValue(Sélection("horairedebut")), "hh \h\ mm") & " à " & Format(TimeValue(Sélection("horairefin")), "hh \h\ mm") & " (" & Sélection("duréeaction") & " min.)" & "<br>"
        Sélection.MoveNext
        NumLigne = NumLigne + 1
        CompteurTemps = CompteurTemps + Sélection("duréeaction")
     
      Wend
     
        ListeSélection = Left(ListeSélection, Len(ListeSélection) - 1)
        Forms("devis et factures").Libellé = Forms("devis et factures").Libellé & "Détail des actions facturées : " & "<br>" & "<br>" & ListeSélection & "<br>" & "<br>" & "Soit un total de : " & CompteurTemps
     
      Sélection.Close
      Set Sélection = Nothing
     
        DoCmd.Close
     
     
        'Attribue le numéro de facture actuel aux actions sélectionnées et change l' état de l'action à "facturé"
        DoCmd.RunSQL ("update t_rendezvous set t_rendezvous.numfacture = forms![devis et factures]![numdocument],t_rendezvous.etataction='5' where (t_rendezvous.numcontact=forms![devis et factures]![numcontact] and t_rendezvous.sélectionner=true);")
     
     
        'Annule toute sélection antérieure
        DoCmd.RunSQL ("update t_rendezvous set t_rendezvous.sélectionner=false")
     
    End Function

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Erreur de d'algorithme.

    Le movenext se fait après le traitement, jamais avant ni pendant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while not rst.eof
        ...traitement
        rst.movenext
    wend
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 092
    Points : 268
    Points
    268
    Par défaut
    Merci Loufab

    Je regrette de ne pas m'en être rendu compte avant de poster, erreur d'inattention ...

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

Discussions similaires

  1. [AC-2007] erreur d'execution '3021' : aucun enregistrement en cours
    Par gimly90 dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/05/2013, 16h06
  2. aucun enregistrement en cour
    Par Nacera dans le forum VBA Access
    Réponses: 0
    Dernier message: 29/04/2008, 16h31
  3. Erreur " 3021 Aucun enregistrement en cours"
    Par Secco dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/04/2008, 14h46
  4. Aucun enregistrement en cours
    Par gentoo dans le forum Access
    Réponses: 4
    Dernier message: 18/03/2007, 14h48
  5. Recordset Fields aucun enregistrement en cours
    Par Mariboo dans le forum Access
    Réponses: 2
    Dernier message: 24/05/2006, 10h23

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