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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Access VBA
    Inscrit en
    novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Access VBA

    Informations forums :
    Inscription : novembre 2020
    Messages : 12
    Points : 13
    Points
    13
    Par défaut FIltrer un formulaire à l'aide de l'opérateur IN
    Bonjour,

    J'ai une requête qui fonctionne, elle me donne les 200 N° de Dossier concernés (de la table Dossier).

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT dossier.NODOS
    FROM dossier INNER JOIN presta ON dossier.NODOS = presta.NODOS
    WHERE (((presta.DATE)<Date()-60))
    GROUP BY dossier.NODOS, dossier.ETAT, presta.DFACT
    HAVING (((dossier.ETAT)="O") AND ((presta.DFACT) Is Null));


    J'ai un Formulaire basé sur la table Dossier et j'aimerais par VBA lui appliquer un filtre pour que seuls les 200 Dossier de ma requête s'affichent.
    La syntaxe suivante ne donne pas d'erreur à la compilation ou à l'exécution, MAIS aucun enregistrement ne s'affiche dans mon formulaire !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        DoCmd.ApplyFilter "", "[NODOS] IN ( SELECT dossier.NODOS FROM dossier INNER JOIN presta ON dossier.NODOS = presta.NODOS " & _
                              "where (((Presta.Date) < Date - 60)) GROUP BY dossier.NODOS, dossier.ETAT, presta.DFACT " & _
                              "HAVING (((dossier.ETAT)=""O"") AND ((presta.DFACT) Is Null)) )"
    Qui aurait une idée ?
    Merci

  2. #2
    Expert éminent sénior Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    6 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 6 713
    Points : 11 374
    Points
    11 374
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "where (((Presta.Date) < Date - 60))
    pourquoi les parenthèses de la fonction Date() ont disparus ?
    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 ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Access VBA
    Inscrit en
    novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Access VBA

    Informations forums :
    Inscription : novembre 2020
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup tee_grandbois, avec les () cela fonctionne !
    C'est étrange qu'elles aient disparu car j'avais fait un copier-coller de ma requête ?!

  4. #4
    Membre à l'essai
    Homme Profil pro
    Access VBA
    Inscrit en
    novembre 2020
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Access VBA

    Informations forums :
    Inscription : novembre 2020
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    encore un dernier mot: j'ai refais mon copier-coller, et de nouveau Date() se transforme automatiquement en: Date
    Assez étrange non ?

  5. #5
    Expert éminent sénior Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2004
    Messages
    6 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2004
    Messages : 6 713
    Points : 11 374
    Points
    11 374
    Par défaut
    oui, étrange mais je n'ai pas d'explication si ce n'est que VBA peut de temps en temps "dysfonctionner" et faire de l'autocorrection incorrecte lorsque les instructions à coller sont sur plusieurs lignes.
    A l'avenir, colle le texte dans un éditeur de texte et enlève les sauts de ligne avant de le coller dans VBA quitte à le découper en plusieurs lignes 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 ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/03/2016, 16h22
  2. Filtrer un formulaire via une liste déroulante
    Par pyxosledisciple dans le forum Access
    Réponses: 1
    Dernier message: 21/01/2006, 00h21
  3. Réponses: 3
    Dernier message: 24/10/2005, 11h32
  4. Filtrer un formulaire sur l'année
    Par Farbin dans le forum Access
    Réponses: 2
    Dernier message: 22/10/2005, 10h14
  5. Instruction SQL dans un bouton pour filtrer info formulaire
    Par beegees dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 05/09/2005, 13h26

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