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 :

Access qui mouline et qui plante lors de l'application d'un filtre


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut Access qui mouline et qui plante lors de l'application d'un filtre
    Bonjour à toutes et à tous,

    J'ai un filtre dans un formulaire avec code VBA et depusi tout à l'heure, ça plante.

    La souris me met le sablier et une dizaine de seconde plus tard, Acces se ferme tout seul

    Même post redémarrage, j'ai encore le problème.

    Auriez vous une idée où je pourrais avoir des infos sur ce problème et comment le résoudre.

    Je précise que tout a bien fonctionné pendant plus d'une semaine

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Je ne vois pas d'autre solution que d'exécuter la macro en pas à pas et de noter sur quelle ligne Access se plante, puis nous montrer la partie du code concernée.

    Cordialement.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Merci pour ta réponse.

    Ceci est le code

    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
    Option Compare Database
     
    Private Sub CmdFiltre_Click()
    f = ""
     
    If Not IsNull(Me.Rmoisannee) And Me.Rmoisannee <> "" Then
    f = "Date_trades LIKE ""*" & Me.Rmoisannee & "*"""
    End If
     
    If Not IsNull(Me.Rpairetrades) And Me.Rpairetrades <> "" Then
    If f <> "" Then
    f = f & " AND Paire_trades = """ & Me.Rpairetrades & """"
    Else
    f = "Paire_trades = """ & Me.Rpairetrades & """"
    End If
    End If
     
    If Not IsNull(Me.Rlayout) And Me.Rlayout <> "" Then
    If f <> "" Then
    f = f & " AND Bot_trades LIKE ""*" & Me.Rlayout & "*"""
    Else
    f = "Bot_trades LIKE ""*" & Me.Rlayout & "*"""
    End If
    End If
     
    If Not IsNull(Me.Rsmartrade) And Me.Rsmartrade <> "" Then
    If f <> "" Then
    f = f & " AND Smartrade_trades LIKE ""*" & Me.Rsmartrade & "*"""
    Else
    f = "Smartrade_trades LIKE ""*" & Me.Rsmartrade & "*"""
    End If
    End If
     
    If Not IsNull(Me.Rstrategie) And Me.Rstrategie <> "" Then
    If f <> "" Then
    f = f & " AND Strategie_trades LIKE ""*" & Me.Rstrategie & "*"""
    Else
    f = "Strategie_trades LIKE ""*" & Me.Rstrategie & "*"""
    End If
    End If
     
     
     
    Me.Filter = f
    Me.FilterOn = True
    End Sub
    Et pas la moindre erreur à l'horizon.

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    cela n'a peut être rien à voir mais je ne vois pas la pertinence d'utiliser LIKE pour Rmoisannee (si ce champ est une date):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNull(Me.Rmoisannee) And Me.Rmoisannee <> "" Then
    f = "Date_trades LIKE ""*" & Me.Rmoisannee & "*"""
    End If
    d'autant plus qu'une date Access est de type réel double, il y a d'abord une conversion en chaine de caractères du champ avant la comparaison ce qui augmente le temps de traitement sachant que Like scrute chaque caractère du champ pour faire la comparaison, il vaut mieux limiter son utilisation aux chaines de caractères et privilégier = pour les autres champs.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Bonjour charlieda,
    Je n'ai pas l'impression que ton code pose problème en soi. Cela dit les remarques de tee_grandbois ne peuvent qu'améliorer ton filtre ! Vérifie aussi que la requête est correcte (jointures).

    Pour répondre plus précisément sur une méthode pour investiguer :
    Si l'optimisation ne suffit pas, tu peux récupérer ton filtre une fois composé et l'intégrer dans une requête pour voir comment il se comporte.
    C'est-à-dire l'afficher dans ta fenêtre ou le copier depuis la fenêtre d'exécution du code (tu sais faire ?), puis prendre la requête sous-jacente du formulaire et ajouter ton critère dans la clause WHERE, enfin déclencher cette requête. Access est généralement plus "bavard" au lancement d'une requête par l'interface utilisateur, cela peut t'aider à déterminer si le problème vient bien du filtre (composition ou valeur des critères). Les colonnes date posant souvent problème, vérifie si ton problème persiste quand tu n'a pas de critère sur la date. D'ailleurs, as-tu changé ton utilisation des critères par rapport à la période où "tout a bien fonctionné" ?

    Sinon : as-tu essayé de compacter la base de données ? de décompiler ?

    Bon débogage.
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Bonsoir à vous,

    Un grand merci pour vos réponses. Il se fait tard dans le coin du monde où je suis

    Je vérifie tout cela demain.

    Merci pour le conseil concernant les dates.

    Non je n'ai rien changé du tout. Le filtre a bien fonctionné pendant au moins une semaine.
    Et aujourd'hui, il fait planter.

    Excepté ajouter des données et ajouter un champ texte dans un pied de formulaire, je n'ai rien fait.

    J'ai eu le même problème avec un autre code qui faisait le même travail.
    J'ai changé pensant que c'était le code mais je me dis que ça doit être la table ou la requête.

    Le problème se passe peu importe quel filtre j'utilise et peu importe si c'est un filtre ou plusieurs.

    Je reviens vers vous demain.

    Merci pour votre aide.

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    cela n'a peut être rien à voir mais je ne vois pas la pertinence d'utiliser LIKE pour Rmoisannee (si ce champ est une date):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNull(Me.Rmoisannee) And Me.Rmoisannee <> "" Then
    f = "Date_trades LIKE ""*" & Me.Rmoisannee & "*"""
    End If
    d'autant plus qu'une date Access est de type réel double, il y a d'abord une conversion en chaine de caractères du champ avant la comparaison ce qui augmente le temps de traitement sachant que Like scrute chaque caractère du champ pour faire la comparaison, il vaut mieux limiter son utilisation aux chaines de caractères et privilégier = pour les autres champs.
    Bonjour tee_grandbois,

    C'est vrai que ta remarque est pertinente (comme toujours )

    J'ai donc enlevé tous les likes puisque toutes les sélections du formulaire sont des listes zone déroulantes.

    Mais du coup j'ai une erreur à : Me.filter = f
    Je ne comprends pas.

    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
    Option Compare Database
     
    Private Sub CmdFiltre_Click()
    f = ""
     
    If Not IsNull(Me.Rmoisannee) And Me.Rmoisannee <> "" Then
    f = "Date_trades = """ & Me.Rmoisannee & """"
    End If
     
    If Not IsNull(Me.Rpairetrades) And Me.Rpairetrades <> "" Then
    If f <> "" Then
    f = f & " AND Paire_trades = """ & Me.Rpairetrades & """"
    Else
    f = "Paire_trades = """ & Me.Rpairetrades & """"
    End If
    End If
     
    If Not IsNull(Me.Rlayout) And Me.Rlayout <> "" Then
    If f <> "" Then
    f = f & " AND Bot_trades = """ & Me.Rlayout & """"
    Else
    f = "Bot_trades = """ & Me.Rlayout & """"
    End If
    End If
     
    If Not IsNull(Me.Rsmartrade) And Me.Rsmartrade <> "" Then
    If f <> "" Then
    f = f & " AND Smartrade_trades = """ & Me.Rsmartrade & """"
    Else
    f = "Smartrade_trades = """ & Me.Rsmartrade & """"
    End If
    End If
     
    If Not IsNull(Me.Rstrategie) And Me.Rstrategie <> "" Then
    If f <> "" Then
    f = f & " AND Strategie_trades = """ & Me.Rstrategie & """"
    Else
    f = "Strategie_trades = """ & Me.Rstrategie & """"
    End If
    End If
     
     
     
    Me.Filter = f
    Me.FilterOn = True
    End Sub
    Merci

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Paraffine Voir le message
    Je n'ai pas l'impression que ton code pose problème en soi. Cela dit les remarques de tee_grandbois ne peuvent qu'améliorer ton filtre ! Vérifie aussi que la requête est correcte (jointures).

    Pour répondre plus précisément sur une méthode pour investiguer :
    Si l'optimisation ne suffit pas, tu peux récupérer ton filtre une fois composé et l'intégrer dans une requête pour voir comment il se comporte.
    C'est-à-dire l'afficher dans ta fenêtre ou le copier depuis la fenêtre d'exécution du code (tu sais faire ?), puis prendre la requête sous-jacente du formulaire et ajouter ton critère dans la clause WHERE, enfin déclencher cette requête. Access est généralement plus "bavard" au lancement d'une requête par l'interface utilisateur, cela peut t'aider à déterminer si le problème vient bien du filtre (composition ou valeur des critères). Les colonnes date posant souvent problème, vérifie si ton problème persiste quand tu n'a pas de critère sur la date. D'ailleurs, as-tu changé ton utilisation des critères par rapport à la période où "tout a bien fonctionné" ?

    Sinon : as-tu essayé de compacter la base de données ? de décompiler ?

    Bon débogage.
    Bonjour Paraffine,

    Merci pour ta réponse et ton aide.

    Compacter et réparer, ça a été fait

    J'avoue ne pas trop comprendre ce que tu me proposes mais ayant un problème de code suite au changement conseillé par tee_grandbois, faut en premier que je solutionne cela pour voir ce que tu me proposes.

    Merci

  9. #9
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Bonjour Charlieda,
    Attention, la syntaxe sur le critère Date_trades (avec les guillemets) ne fonctionne que si la colonne n'est pas en format date mais en texte (de plus contenant Mois/Année). Sinon, il faut encadrer les critères avec #.
    Toutes les colonnes utilisées comme critère de recherche sont-elles bien au format texte ?

    Pour le débogage, le principe consiste à isoler les problèmes.
    En premier lieu, de vérifier si la requête fonctionne.
    D'où l'idée d'intercepter le filtre, de le copier/coller dans la requête (interface des requêtes, mode SQL), et de lancer la requête avec l'interface utilisateur des requêtes pour voir comment elle se comporte.

    Le compactage et la "décompilation" (cf. la F.A.Q.) résolvent quant à eux des comportements un peu erratiques d'Access.

    Puisque tu as une erreur à la ligne affiche le contenu de f ; par exemple dans la fenêtre d'exécution, en tapant ? f puis enter , on voit mieux les anomalies de syntaxe.
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Je te remercie pour ta réponse complète.

    Bon là, je fais comme access je mouline.

    L'éxecution ne donne rien. (je ne suis pas certain de mon coup, j'ai regardé sur le net parce que c'est la première fois que je fais un processus comme celui là)
    J'ai remis le code comme il était et maintenant, ben il ne se passe plus rien du tout de chez plus rien du tout

    Nom : 03-12-2020 18_15_18-Microsoft Visual Basic pour Applications - Bots historique - [Form_Frm_trade.png
Affichages : 196
Taille : 27,8 Ko

    Merci.

  11. #11
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut
    Citation Envoyé par charlieda Voir le message
    L'éxecution ne donne rien
    Tu es arrivé sur la fenêtre du code en mettant un point d'arrêt (si oui, sur quelle ligne), ou bien après l'affichage d'un message d'erreur avec le bouton "debug" ?
    Car il faut que la variable qu'on interroge soit alimentée au moment où on fait le "?".
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour à tous les deux,
    le mieux serait de mettre la commande Debug.? f avant l'instruction Me.Filter = f et de retourner voir le résultat après
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Et ceci ?
    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
    Private Sub CmdFiltre_Click()
        Dim f As String
        f = ""
        If Nz(Me.Rmoisannee, 0) <> 0 Then
            f = " AND Date_trades = " & Me.Rmoisannee
        End If
        If Nz(Me.Rpairetrades, "") <> "" Then
            f = f & " AND Paire_trades = '" & Me.Rpairetrades & "'"
        End If
        If Nz(Me.Rlayout, "") <> "" Then
            f = f & " AND Bot_trades LIKE '*" & Me.Rlayout & "*'"
        End If
        If Nz(Me.Rsmartrade, "") <> "" Then
            f = f & " AND Smartrade_trades LIKE '*" & Me.Rsmartrade & "*'"
        End If
        If Nz(Me.Rstrategie, "") <> "" Then
            f = f & " AND Strategie_trades LIKE '*" & Me.Rstrategie & "*'"
        End If
        If f <> "" Then
            f = Mid(f, 6)       '--- supprime le premier AND
        End If
        Debug.Print f           '--- ok ?
        Me.Filter = f
        Me.FilterOn = True
    End Sub
    Cordialement.

  14. #14
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Paraffine Voir le message
    Tu es arrivé sur la fenêtre du code en mettant un point d'arrêt (si oui, sur quelle ligne), ou bien après l'affichage d'un message d'erreur avec le bouton "debug" ?
    Car il faut que la variable qu'on interroge soit alimentée au moment où on fait le "?".
    Non

    J'avais pas trouvé cette info.

    J'essaie de ce pas

    Merci

  15. #15
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour à tous les deux,
    le mieux serait de mettre la commande Debug.? f avant l'instruction Me.Filter = f et de retourner voir le résultat après
    Merci, c'est effectivement ce que je n'avais pas mis comme instruction.

    Bon tout fonctionne parfaitement comme il y a 2 jours. Et sans bug.

    Le code est le code d'origine sans le moindre changement avec juste l'ajout de la ligne Merci

  16. #16
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Et ceci ?
    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
    Private Sub CmdFiltre_Click()
        Dim f As String
        f = ""
        If Nz(Me.Rmoisannee, 0) <> 0 Then
            f = " AND Date_trades = " & Me.Rmoisannee
        End If
        If Nz(Me.Rpairetrades, "") <> "" Then
            f = f & " AND Paire_trades = '" & Me.Rpairetrades & "'"
        End If
        If Nz(Me.Rlayout, "") <> "" Then
            f = f & " AND Bot_trades LIKE '*" & Me.Rlayout & "*'"
        End If
        If Nz(Me.Rsmartrade, "") <> "" Then
            f = f & " AND Smartrade_trades LIKE '*" & Me.Rsmartrade & "*'"
        End If
        If Nz(Me.Rstrategie, "") <> "" Then
            f = f & " AND Strategie_trades LIKE '*" & Me.Rstrategie & "*'"
        End If
        If f <> "" Then
            f = Mid(f, 6)       '--- supprime le premier AND
        End If
        Debug.Print f           '--- ok ?
        Me.Filter = f
        Me.FilterOn = True
    End Sub
    Cordialement.
    Bonjour,

    Merci pour ton intervention.

    Ce code fonctionne excepté pour la date.

    J'ai remis l'ancien qui fonctionne actuellement.

    Pourvu que ça dure comme on dit


    Enfin j'ai du mal à comprendre que le même code qui fonctionnait, ne fonctionne plus et d'un coup refonctionne.

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Ce code fonctionne excepté pour la date.
    il faudrait montrer à quoi ressemblent le champ date Date_trades dans la table et le contrôle Rmoisannee du formulaire.
    Par exemple dans une liste déroulante tout est transformé en texte et donc, selon le type de données cela peut être:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' pour une date:
    f = " AND Date_trades = #" & Me.Rmoisannee & "#"
    ' pour un texte:
    f = " AND Date_trades = '" & Me.Rmoisannee & "'"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut
    Pour les comportements bizarroïdes, on peut tenter le "decompile" ; ça ne fait pas de mal et ça peut remettre quelques pendules VBA à l'heure.
    Je te remets la référence correspondante dans la FAQ.

    J'espère que ton application ne te fera plus de misères. Cela aura été l'occasion d'apprendre un ou deux trucs, j'espère

    Bonne continuation.
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  19. #19
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    il faudrait montrer à quoi ressemblent le champ date Date_trades dans la table et le contrôle Rmoisannee du formulaire.
    Par exemple dans une liste déroulante tout est transformé en texte et donc, selon le type de données cela peut être:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' pour une date:
    f = " AND Date_trades = #" & Me.Rmoisannee & "#"
    ' pour un texte:
    f = " AND Date_trades = '" & Me.Rmoisannee & "'"
    Bonjour,

    Je pense avoir compris mon erreur.

    J'ai mis le code pour le texte et non pour une date. Je vais tester.

    Sinon

    Champ Date_trades : Date/heure (date abrégé avec masque de saisie 00/00/0000;0;_ )

    Controle du Rmoisannee vient d'une requête où j'affiche juste le mois et l'année du trade
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mois_annee: Format([Date_trades];"mm/aaaa")
    Merci

  20. #20
    Membre régulier
    Inscrit en
    Décembre 2013
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 356
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Paraffine Voir le message
    Pour les comportements bizarroïdes, on peut tenter le "decompile" ; ça ne fait pas de mal et ça peut remettre quelques pendules VBA à l'heure.
    Je te remets la référence correspondante dans la FAQ.

    J'espère que ton application ne te fera plus de misères. Cela aura été l'occasion d'apprendre un ou deux trucs, j'espère

    Bonne continuation.
    Merci Paraffine pour ce lien. Je vais lancer cela.

    Bonne journée

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/01/2020, 11h07
  2. Réponses: 1
    Dernier message: 09/01/2017, 11h07
  3. Réponses: 2
    Dernier message: 08/05/2015, 14h26
  4. Réponses: 0
    Dernier message: 06/03/2012, 17h50
  5. Access qui plante
    Par Daniel MOREAU dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/09/2007, 08h41

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