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 :

Application d'un filtre dans sous form (syntaxe)


Sujet :

Access

  1. #1
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut Application d'un filtre dans sous form (syntaxe)
    Slt,
    Je dois appliquer un filtre a un sous form en fonction d'un champ du form principal !
    attention le form n'a pas de source !!!
    Donc pas de champs père/fils possible!!!
    Voilà ce que j'essai d'écrire mais qui je n'arrive pas a finaliser..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    docmd.ApplyFilter ("",(((Forms![F_Affectation]![DateAffectation]) Between [DateHeureCompletDébut] And [DateHeureCompletFin]));)
    End Sub
    A chaque fois, manque parenthèse, crochet,etc... enfin j'arrive pas..
    Fais-je une erreur de conception par rapport au résultat souhaité, ou si je suis dans le vrai pour obtenir ce résultat ou se trouve l'erreur???
    Merci de votre aide..

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    A mon avis il vaudrait mieux mettre un bouton dans le formulaire avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub BtnAfficher_OnClick() 
    If IsNull(Me.DateAffectation)  Then MsgBox "Il faut renseigner DateAffectation" : exit sub
    Me.ContainerSF.Form.Filter = "DateHeureCompletDébut <= #" & Me.DateAffectation & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"
    Me.ContainerSF.FilterOn = True
    End Sub
    SI j'ai bien compris ton pb ...
    pgz

  3. #3
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Slt pgz,
    J'ai essayé ta méthode, mais il ne "trouve" pas
    Me.DateAffectation
    dans
    Me.ContainerSF.Form.Filter = "DateHeureCompletDébut <= #" & Me.DateAffectation & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"
    Sachant que ce champ est dans le form principal et les autres dans le s-F est-ce que cela vient de là???

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 110
    Points : 107
    Points
    107
    Par défaut
    Bizarre,
    Ce qu'a écrit pgz à l'air nickel;
    Petite question: as tu remplacé les Me.ContainerSF.Form par les noms de tes frm? Des fois que ce soit juste une faute d'étourderie...

  5. #5
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Ben oui !???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Commande78_Click()
    If IsNull(Me.DateAffectation) Then MsgBox "Il faut renseigner DateAffectation": Exit Sub
    Me.F_ToutesAbsence.Filter = "DateHeureCompletDébut <= #" & Me.DateAffectation & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"
    Me.F_ToutesAbsence.FilterOn = True
     
    End Sub
    Tel quel !
    Pourquoi il trouve pas
    Me.DateAffectation
    ????????

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 110
    Points : 107
    Points
    107
    Par défaut
    Il manque un point ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.DateAffectation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"

  7. #7
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    : :
    Ben désolé mais j'arrive pas a l'écrire correctement??
    Apparement il me dit
    Membre de méthode ou donnée introuvable
    Et si je rajoute un point ben ça bugg...
    Il manque un point ici:
    Code:

    Me.DateAffectation


    Code:

    & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"
    Puffffff j'en ai marre de ce formulaire ça fait une semaine que je suis dessus
    Rharhhhh

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    juste pour rappel, attention à mettre les dates en format US dès qu'on travaille sur des chaînes SQL.

  9. #9
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Cafeine a dit
    juste pour rappel, attention à mettre les dates en format US dès qu'on travaille sur des chaînes SQL
    Oui il faudra que j'y pense car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.F_ToutesAbsence.Filter = "DateHeureCompletDébut <= #" & Me.DateAffectation & "# AND DateHeureCompletFin >= #" & MeDateAffectation & "#"
    le F_ToutesAbsence est basé sur une requete !
    Et ReVlan dans ta pomme SAM ça fait deux fois
    Mais cela expliquerai ce msg d'erreur???

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 409
    Points : 19 984
    Points
    19 984
    Billets dans le blog
    66
    Par défaut
    As tu essayé (sans oublier les dates us):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.F_ToutesAbsence.Form.Filter = "DateHeureCompletDébut <= #" & Format(Me!DateAffectation,"mm-dd-yy") & "# AND DateHeureCompletFin >= #" & Format(Me!DateAffectation,"mm-dd-yy") & "#"
     
    Me.F_ToutesAbsence.Form.FilterOn = True
    @+

  11. #11
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Re,
    Au moins le bouton fait quelque chose !
    Ouf!
    Mais en fait j'ai un enregistrement qui devrai apparaitre mais le Sf reste vide !
    Le champ [dateAffectation] est format (Date, général),masque de saisi (00/00/00;0; ) et ce formulaire n'a pas de source donc pas de requete derrière .
    Les champs [DateHeureCompletDébut] et [DateHeureCompletFin]Sont eux aussi des format (Date, général), mais sans masque de saisi !et ils proviennent d'une requete !
    Puffff! et dire que c'est parce que je n'arrive pas a résoudre ce problème http://www.developpez.net/forums/viewtopic.php?t=395393!!
    ça gave a force !!

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 409
    Points : 19 984
    Points
    19 984
    Billets dans le blog
    66
    Par défaut
    Tu veux dire que tes dates (DateHeureCompletDébut) contiennent l'heure aussi genre #10/10/05 15:25:35# ?

    Dans ce cas utilise: Format(Me!DateAffectation,"mm-dd-yy hh:nn:ss")

    Le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.F_ToutesAbsence.Form.Filter = "DateHeureCompletDébut <= #" & Format(Me!DateAffectation,"mm-dd-yy hh:nn:ss") & "# AND DateHeureCompletFin >= #" & Format(Me!DateAffectation,"mm-dd-yy hh:nn:ss") & "#" 
     
    Me.F_ToutesAbsence.Form.FilterOn = True
    @+

  13. #13
    Membre actif Avatar de samlepiratepaddy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 320
    Points : 217
    Points
    217
    Par défaut
    Ben j'comprend bien, mais non!
    je m'explique :
    Les champs [DateHeureCompletDébut] et [DateHeureCompletFin] sont sous ce format afin de pouvoir par la suite liberer ou non des plages horaires précises !!!
    Mais dans mon SF c'est juste en référence du jour ou il y a une absence que je souhaite afficher les données !
    Si j'ajoute les hh,nn,ss le filtre réagira a l'heure précise !
    En fait, je passe par un sous form car je n'arrive pas a le faire directement dans ma liste déroulante !
    Pourtant ce doit etre pareil ou proche...
    Mais ça rame dur !

Discussions similaires

  1. [AC-2003] Fonction sélection d'enregistrements dans sous form (aide access)
    Par Chagui dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/11/2010, 17h17
  2. Réponses: 8
    Dernier message: 13/08/2010, 09h18
  3. Réponses: 0
    Dernier message: 21/04/2008, 12h27
  4. source Liste mod. dans sous form.
    Par sebinator dans le forum IHM
    Réponses: 2
    Dernier message: 20/03/2008, 10h56
  5. Atteindre NewRec dans sous form automatiquement !
    Par samlepiratepaddy dans le forum Access
    Réponses: 10
    Dernier message: 25/09/2005, 10h25

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