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 :

Besoin d'aide sur cette Sub [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut Besoin d'aide sur cette Sub
    Bonjour,

    Cette sub me répond par une erreur : manque Addnew ou Edit
    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
    50
    51
    52
    53
     
    Private Sub EchFinDeMois(JourDuMois)
    ' La table tblEcheancier : les cases à cocher doivent être FALSE en fin de mois et APRES l'insertion
    ' de l'échéance si la date du jour est le dernier jour du mois
    Dim MoisEncours As Integer
    Dim odb As Database
    Dim oRst As Recordset
    Set odb = CurrentDb
    Set oRst = odb.OpenRecordset("tblEcheancier", dbOpenTable)
     
    MoisEncours = Month(Now())
     
    Select Case MoisEncours     ' Mois de 31 jours
        Case 1 Or 3 Or 5 Or 7 Or 8 Or 10 Or 12
            If JourDuMois = 31 Then
                GoTo CocheFalse
            Else
                GoTo Fin
            End If
        Case 2                  ' Mois de Février 28 ou 29 jours
            Select Case JourDuMois
                Case 29
                    GoTo CocheFalse
                Case 28
                    GoTo CocheFalse
                Case Else
                    GoTo Fin
            End Select
         Case 4 Or 6 Or 9 Or 11 ' Mois de 30 jours
            If JourDuMois = 30 Then
                GoTo CocheFalse
            Else
                GoTo Fin
            End If
    End Select
     
    CocheFalse:
    oRst.Edit
    Do Until oRst.EOF
        oRst.MoveFirst
        oRst!A_Inserer = True  ' coché
        oRst.MoveNext
    Loop
    oRst.Update
    Fin:
    '========================
    ' Insérer ici l'accès à la procédure d'effacement des échéances arrivant à terme
    SupprEchATerme
    '========================
    Set oRst = Nothing
    Set odb = Nothing
     
    End Sub
    Quelle erreur ai-je fait ? Cette sub fait partie d'un module que je peux transmettre si besoin est !
    Merci pour vos réponses, Jacques.
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Comme il y a boucle, les lignes 38 et 44 doivent être dans la boucle.
    Donc avant et après la ligne 41.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Comme il y a boucle, les lignes 38 et 44 doivent être dans la boucle.
    Donc avant et après la ligne 41.

    Cordialement.
    Meci beaucoup pour cette réponse.
    Voilà comment j'ai transformé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Do Until oRst.EOF
        oRst.MoveFirst
        oRst.Edit
        oRst!A_Inserer = True  ' coché
        oRst.Update
        oRst.MoveNext
    Loop
    Le résultat n'est pas bon parce que mon appli ne répond plus et se trouve bloquée
    J'ai essayé en positionnant "oRst.Edit" juste après le "Do Until" et avant le "oRst.MoveFirst"; le résultat est identique : appli qui ne répond plus !
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Ton .ModeFirst n'est pas à la bonne place. Il doit être à l'extérieur de la boucle. Désolé j'ai pas vu au premier message.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par madefemere Voir le message
    Bonjour,

    Ton .ModeFirst n'est pas à la bonne place. Il doit être à l'extérieur de la boucle. Désolé j'ai pas vu au premier message.

    Cordialement.
    Comme disait Johnny, ... Ah que MERCI.
    De plus, j'ai vu dans mon code une grossière erreur dans le Select Case !
    j'ai écris "Case 1 Or 3 Or 5" etc. alors que j'aurais du écrire "Case 1, 3 ,5 etc."
    Pour voir le résultat de la modification du .ModeFirst, je dois attendre la fin du mois puisque c'est un échéancier et compte tenu du code ci-dessus ; sauf si je change la date système de mon ordi.
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

  6. #6
    Membre habitué
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 131
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Sans avoir à changer la date systeme ni attendre le mois prochain tu peux remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MoisEncours = Month(Now())
    par
    si c'est le mois Avril que tu veux et changer sa valeur si c'est un autre mois que tu veux tester

  7. #7
    Membre habitué
    Avatar de Jsiorat
    Homme Profil pro
    RETRAITE
    Inscrit en
    Juillet 2005
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : RETRAITE

    Informations forums :
    Inscription : Juillet 2005
    Messages : 398
    Points : 169
    Points
    169
    Par défaut
    Merci à tous,
    effectivement pour des tests je fais MoisEnCours= 4 !
    Merci pour la suggestion !
    Être vieux, c'est être jeune depuis plus longtemps que les autres !

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

Discussions similaires

  1. PHPMAKER besoin d'aide sur cette outil
    Par steven78700 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/11/2011, 20h50
  2. [D7] Besoin d'aide sur un PChar
    Par bobby-b dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2004, 17h42
  3. Filemaker ... besoin d'aide sur les Plugin
    Par joange dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 22/04/2004, 11h16
  4. [intermedia] besoin d'aide sur script PL/SQL
    Par SteelBox dans le forum PL/SQL
    Réponses: 8
    Dernier message: 05/01/2004, 20h59
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 13h19

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