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

IHM Discussion :

Formulaire : Afficher certains enregistrements compris entre deux dates


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut Formulaire : Afficher certains enregistrements compris entre deux dates
    Bonjour,

    Je veux que l'utilisateur débutant de mon formulaire puisse demander d'afficher certains enregistrements compris entre deux dates, directement sous le formulaire, genre calendrier SNCF.
    COMMENT FAIRE ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Peux tu donner davantage d'explications sur la structure de ta base.

    A première vue, un sous formulaire devrait répondre à ton formulaire. Tu pourrais t'inspirer du formulaire de recherche consultable ici

    Bonne lecture

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Waou ça m'a l'air assez puissant cette "petite" recherche multi-critères.. je crois que ça va me servir pour pas mal de choses en fait...
    Mais j'en ai pour un moment (débutante en SQL)

    Merci pour ton aide Jeannot!

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Heureux que le sujet transmis t'intéresse. Tu trouveras des complements à ce type de formulaire ici.

    Cependant, si ton post a trouvé satisfaction, pense à cliqué sur le bouton placé sous le dernier post.

    Bon courage et à bientot sur le forum

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut recherche spécifique par date
    J'ai un souci,
    C'est qu'ils ne parlent pas de recherche par date dans cette recherche multi-critères, or, je pense que c'est un petit peu spécifique puisqu'il ne s'agit pas de rentrer 1 valeur ou un début de mot mais d'encadrer avec 2 valeurs exactes (2 dates).

    Une fois que j'ai mes deux combo (si c'est bien ce que je dois utiliser) comment est-ce que je dis à la machine qu'ils marquent la date de début et la date de fin de ma recherche?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Euh, Jeannot...

    Dans le tutoriel il est dit de générer une expression SQL pour indiquer la source de ma combobox, ce que je n'arrive tout bonnement pas à faire.
    J'ai le générateur de code, de macro et d'expression mais même en mode générateur d'expression je ne sais pas comment entrer mon select, group by, order by...

    Eh oui.. .débutante

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bon...soir
    si tu veux qu'on t'aide GOTO 1ere demande de Jeannot45
    un peu plus d'infor sur ta base
    genre
    j'ai une table .......struture
    j'ai fait une requête sur cette table

    là par exemple on pourrait te dire sous les champs Date1 et Date2
    de ta requête
    à critère tu mets ex: >[Formulaires]![MonFormulaire]![MonNomombo1]
    et sous l'autre <[Formulaires]![MonFormulaire]![MonNomombo2]

    dans le QBE ton SQL se fera tout seul

    enfin des choses comme ça qui devrait marcher
    allez à bientôt

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    EN fait je ne sais pas ce que je peux dire sur la table qui pourrait aider?
    J'essaie :
    J'ai une requête qui me sort le dernier mouvement de chaque personne (un mouvement = déplacement d'une personne d'une ville à une autre dans mon cas) avec la date, le numéro de mouvement, le nom et prénom, la provenance et la destination.
    Et mon but est d'avoir un formulaire qui permette facilement à l'utilisateur de sortir tous les mouvements entre telle et telle date.

    Je suis en train d'apprendre à faire une recherche multi-critères (sur le nom et prénom, provenance, destination... ) grâce au lien que m'a passé Jeannot mais j'ai un souci : le formulaire ne me renvoie aucune donnée, une fois les critères rentrés.
    Soit j'ai toutes les données (quand j'ouvre le formulaire) Soit je n'ai plus rien (dès que je coche un critère à entrer)

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Euh qu'est-ce que c'est comme champ MonNomombo1?
    >[Formulaires]![MonFormulaire]![MonNomombo1]

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Une fois que j'ai mes deux combo (si c'est bien ce que je dois utiliser) comment est-ce que je dis à la machine qu'ils marquent la date de début et la date de fin de ma recherche?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >[Formulaires]![MonFormulaire]![MonNomombo1]
    en l'occurence c'est le champ "que tu appelles combo" qui se troouve sur ton formulaire et ou tu doit avoir saisie la date de début.
    tout cela a mettre sous le champ date de la requête. puis pour dire à la machine de trier - bouton sur ton formulaire qui lance via macro ou VBA ta requête.
    je sais ce n'est pas facile - si tu as des difficultés encore, à ce stade essaie de nous poster une copie de ta base
    bon courage

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Très bien ! j'ai l'impression que grâce à vous je suis en bonne voie!!!

    Dites-moi, est-ce que vous auriez une idée de la raison pour laquelle le fait de rentrer les critères de recherche ne me renvoie pas de données?
    Je me suis servie de ce tutoriel ci : http://cafeine.developpez.com/access...echerchemulti/

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Je pense que mon souci est là-dedans :
    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
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "SELECT [Dernier mouvement],[Date],[Provenance],[Nom et Prénom],[Destination], [Type de mouvement] FROM [Rqt_FrmRecherche] Where [Rqt_FrmRecherche]![Dernier mouvement] <> 0 "
     
    If Me.chkPatient Then
        If Me.txtRechPatient <> Null Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Nom et Prénom] like '*" & Me.txtRechPatient & "*' "
        End If
    End If
    If Me.chkProv Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Provenance] = '" & Me.cmbRechProv & "' "
    End If
    If Me.chkDest Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Destination] = '" & Me.cmbRechDest & "' "
    End If
    If Me.chkMvt Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Type de mouvement] = '" & Me.cmbRechMvt & "' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "Rqt_FrmRecherche", SQLWhere) & " / " & DCount("*", "Rqt_FrmRecherche")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    Bref au coeur de la requête

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Bonjour!

    Alors, j'ai réussi à faire fonctionner ma recherche multi-critères!!!!

    Par contre, comment faire ma recherche par date?
    J'ai créé deux chkbox et deux zones de texte pour y rentrer un date mini (en quelque sorte ) et une date maxi afin d'encadrer la date des résultats que je veux (par ex entre le 01/04/2008 et le 30/04/2008)
    Mais je ne sais pas où entrer les fonctions:
    txtDate1<= [Rqt_FrmRecherche].[Date]
    txtDate2 >= [Rqt_FrmRecherche].[Date]

  14. #14
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    si j'ai bien compris !!
    1)contrairement à ce que je pensais dans ta table reprise dans ta requête tu n'as qu'un seul champ [date]
    au passage un conseil - Date est un mot réservé d'access - il est très fortement déconseillé d'utiliser des mots réservés d'un logiciel pour nommer des champs, des variables ou des constantes...tu risques d'avoir un jour des résultats incohérents difficillement détectables.
    2) tu as créé 2 champs sur ton formulaire enregistrant la date mini et la date maxi

    pour filtrer en fonction de tes 2 champs
    dans la zone "critères" de ta requête qui semble s'appeler "Rqt_FrmRecherche"
    sous le champ [date]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >=[Formulaires]![NomDeTonFormulaire]![NomDuChampDateMini] Et <=[Formulaires]![NomDeTonFormulaire]![NomDuChampDateMaxi]
    Attention si tes champs sont indépendants donc ni repris dans ta table ni dans une requête il faut que ton formulaire soit ouvert et les champs renseignés sinon ....ils sont vides et donc pas de filtre.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Alors, en effet si je laisse le formulaire ouvert lorsque j'insère ces critères dans ma requête, ça me crée bien le filtre et me renvoie mes données dans la requête...
    Mais mon formulaire se vide totalement (il ne me reste plus que l'en-tête)... toutes les cases à cocher, les zones de texte, la liste de résultat disparaissent.. tout...Vraiment très étrange !!

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 46
    Points : 15
    Points
    15
    Par défaut
    Est-ce que ça viendrait de là?
    J'avais défini mes champs date1 et date2 comme ceci en VBA dans la fonction RefreshQuery. Je pense qu'il y a certainement une incompatibilité mais je ne parviens pas à définir mes champs autrement si je ne mets pas ça...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Me.chkDate1 Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Date] like '*" & Me.txtDate1 & "*' "
    End If
    If Me.chkDate2 Then
        SQL = SQL & "And [Rqt_FrmRecherche]![Date] like '*" & Me.txtDate2& "*' "
    End If

  17. #17
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    désolé mais je ne vois pas à quoi cela correspond dans ta base et ton form et sousForm sans les voir
    s'agissant d'un filtre c'est par la clause Where qu'il faut régler le problème
    ce qui correspond
    WHERE ((([NomRequete].DATE)>=[Formulaires]![NomFormulaire]![ZoneTexteDateMini] And ([NomRequete].DATE)<=[Formulaires]![ NomFormulaire]![ ZoneTexteDateMaxi]))
    je ne vois pas comment l'inclure dans ton RefreshQuery ne connaissant ni l'environnement et ne pratiquant que très rarement le recours au SQL dans ma programmation VBA je n'ai jamais réglé de problème équivalent.

Discussions similaires

  1. [PHP 5.2] Fonction qui retourne le nombre de jours compris entre deux dates
    Par zemzoum89 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2010, 21h27
  2. creation enregistrement compris entre deux bornes
    Par patmar83 dans le forum VBA Access
    Réponses: 5
    Dernier message: 02/06/2008, 20h23
  3. condition pour afficher entre deux dates
    Par forbans dans le forum Access
    Réponses: 1
    Dernier message: 13/06/2006, 10h13
  4. Obtenir des enregistrements compris entre 2 dates
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 29/09/2005, 14h56

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