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 :

Tri multicritère via champ date [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut Tri multicritère via champ date
    Bonjour,

    Access 2007, novice!

    Je crée une BDD pour créer une facturation sous access.
    Ma base fonctionne bien pas de problèmes.

    Mon soucis, est de, via un formulaire, pouvoir extraire certains enregistrements selon les critères renseignés

    Par exemple, j'aimerai afficher toutes les factures du 1er trimestre de l'année 2008, ou toutes les facture de l'année 2007.

    Pour renseigner les critères, j'aimerai quelque chose qui ressemble à cela :
    http://i88.servimg.com/u/f88/11/48/77/00/sans_t10.jpg
    Puis afficher les enregistrements concerné en dessous dans une zone de liste.

    Voici ma base de donnée : MA BASE

    Si quelqu'un peut m'aider ça serai fort sympa car j'ai cherché sur le net, cherché ici même, mais je trouve pas ce que je veux, ou si je trouve, je me perd dans des Procédures événementielles trop complexe en essayant de l'adapter à ma base.

    Merci à tout ceux qui s'intéresseront à mon problème

  2. #2
    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
    bonsoir et bienvenu sur le forum,
    une piste a suivre car je ne vois pas ce qu'il y a dans tes requêtes.

    - Requête paramétrée qui contient tous les éléments dont tu as besoin :
    - Formulaire avec zone de texte, zone de liste modifiable ou pas pour sélectionner tes critères
    - Sur ce formulaire tu places un sous formulaire basée sur la requête
    - Dans ta requête sous chaque champ qui contient les enregistrements a filtrer tu mets dans- critères : le code référence au champ de ton formulaire.

  3. #3
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Merci de m'avoir répondu, je vais esseyer de réaliser mon formulaire avec tes grands axes.

    Les requêtes "sousmarques" sont là pour filtrer une liste déroulante dépendante d'une autre pour choisir mes articles dans le contenu facture, et le "total par ligne" c'est juste pour calculer la quantité*prix HT de chaque ligne d'articles.
    Ces requêtes n'ont rien a voir avec mon formulaire de recherche que je souhaite réaliser.

  4. #4
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Comment je fait pour que la valeur sélectionnée dans une liste déroulante de mon formulaire donne la valeur de tri à ma requête?

    Exemple:je sélectionne 2009 dans ma liste de choix du formulaire et à partir de là, j'envoie cette valeur dans ma requête pour qu'elle me renvoie à son tour toutes les factures de 2009?

  5. #5
    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
    Bonsoir,
    Dans la requête, sous le champ qui fait référence au champ de ton formulaire.
    Sur la ligne critère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![NomDeTonFormulaire]![NomDuChampContenantLaValeurFiltre]
    Pour éviter les problèmes de syntaxes ou autres…
    Clic droit de la souris, Créer, ouverture du générateur d’expression, on va chercher le formulaire et son champ.
    Ne pas oublier le requery sur l’évènement qui sélectionne ou tout autre pour actualiser le sous formulaire ou la zone de liste.
    Essayes à +

  6. #6
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    j'ai réussis a faire une partie de ce que je souhaite.

    1-J'ai une zone de texte lstclient ou je renseigne ma requête rechclient
    2-Dans ma requête rechclient j'ai inséré la formule Comme "*"+[lstclient]+"*" sous le champ clients
    3-J'affiche le résultat de la requête dans une zone de liste Liste17 qui à comme donnée le contenu : SELECT [Rechclients].[FactureNum], [Rechclients].[Date facture], [Rechclients].[Code client], [Rechclients].[Société], [Rechclients].[Nom], [Rechclients].[Prénom] FROM Rechclients ORDER BY [FactureNum], [Société], [Nom];

    Tout ça marche nikel!

    Maintenant toujours sur le même formulaire, j'essaie de refaire la même chose avec une autre zone de texte lstannee pour renseigner la date, puis j'ai une autre requête rechannee avec la formule Comme "*"+[lstannee]+"*"

    Jusque là c'est OK, je teste ma requête, ça fonctionne.
    Le problème, et ce sera ma question (la dernière j'espère pour arriver à bout de tout ça ) c'est que je n'arrive pas à afficher le résultat dans la zone de liste Liste17 vu qu'elle à comme source la requête Rechclient et qu'il faudrait qu'elle puisse avoir les 2 requêtes comme source de données....soit l'une soit l'autre et forcément faudrait pas que ça se fasse conflit car je souhaite afficher le résultat de l'une ou l'autre requête toujours dans Liste17.

    A moins qu'il existe pour le même résultat une solution alternative

    En tout cas, un grand à LE VIEUX pour m'avoir aidé jusque là et grâce à qui j'ai pu progresser

  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
    bonsoir,
    citation :
    qu'il faudrait qu'elle puisse avoir les 2 requêtes comme source de données....soit l'une soit l'autre
    c'est possible mais :
    en fonction de quels critères et où sont ces critères ?

  8. #8
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut


    Tout mes critère sont sur le formulaire "recherche".

    Sur la photo, on peu voir que j'ai entré "bi" comme critère de recherche par client et sur la Liste17, j'ai le résultat pour 1 facture avec ce client là.

    Mais si je fait la recherche par année, rien ne se passe car Liste17 n'a pas comme source la requête rechannee mais rechclients
    alors comment faire docteur pour dire à Liste17 d'aller voir la requête rechannee quand il faut ou la requête rechclient?

    Faut-il rajouter des cases à cocher, ou carrément une table? là je pédale dans la semoule

  9. #9
    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
    Salut,
    - Zone Liste17 :source contrôle --->laisser vide

    -sur l’évènement – sur changement de tes zones de texte :

    Par client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Par_client_Change()
    Me.Liste17.RowSource = "rechclients "
    Me.Liste17.Requery
    End Sub
    Par annee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Par_annee_Change()
    Me.Liste17.RowSource = "rechannee"
    Me.Liste17.Requery
    End Sub
    attention cela marche que tu mettes n'importe quoi dans tes zones de texte,
    si tu veux que tes requêtes filtre en fonction de leur contenu il faut paramétrer tes requêtes en fonction.

  10. #10
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Ça y est grâce à toi LE VIEUX, j'ai réussi à faire ce que je voulais et ça fonctionne à merveille!

    Merci pour tout!

    @+ bye

  11. #11
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bonsoir,

    Je reviens avec mon formulaire de recherches, car j'aimerai y ajouter un p'tit quelque chose que je n'arrive pas

    Lorsque j'effectue une recherche, par exemple je recherche le(s) facture(s) du client "bibi" (cf photo un peu plus haut), dans le résultat il me sort bien la facture N°657 à son nom. Jusque la c'est bon.

    Mais j'aimerai, lorsque je double clic sur ce résultat, qu'il m'ouvre le formulaire Facture en fonction du champ (unique) FactureNum avec donc tous les détails de la facture de ce client.

    J'ai esseyé une Procédure événementielle sur l'action double clic de la zone de liste17 avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Liste17_DblClick(Cancel As Integer)
        DoCmd.OpenForm "Facture", acNormal, , "FactureNum = '" & Me.Liste17 & "'"
    End Sub
    sans succès
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Liste17_DblClick(Cancel As Integer)
        DoCmd.OpenForm "Facture", acNormal, , "[FactureNum] = " & Me.Liste17
    End Sub
    sans succès. J'ai essayé plusieurs syntaxes en vain

    Je pense que l'erreur doit se trouver dans "FactureNum = '" & Me.Liste17 & "'"
    Mais où?
    En plus je pige pas la différence entre ces deux lignes de code

    Merci pour votre aide.

  12. #12
    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
    bonjour,
    il faut que tu fasse référence à la colonne de ta zone de liste qui contient le numéro de facture, elles commence à 0 c'est normalement la clé primaire.

    essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.OpenForm "Facture", acNormal, , "[FactureNum] = " & Me.Liste17.Column(1)
    si ça ne marche pas fait un débug pas a pas et regardes ce qu'enregistre Me.liste17.column(x).

  13. #13
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Salut!
    J'ai essayé ton code LE VIEUX, j'ai droit à un message qui me dit :

    "Erreur d'exécution '3075': Erreur de syntaxe (opérateur absent) dans l'expression "[FactureNum] = ".

    Alors j'ai essayé de changer un peu la syntaxe mais rien n'y fait.

  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
    bonjour,
    si je comprend bien, c'est bien la premiere colonne de ta ZDL, donc ça réf = 0
    et elle doit être type texte ?
    si c'est le cas essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Facture", acNormal, , "[FactureNum] = ' " & Me.Liste17.Column(0) & "'"

  15. #15
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Bonjour

    Ce nouveau code ne fonctionne pas non plus.

    Erreur d'exécution '3464' type de donnée incompatible dans l'expression du critère

    Normalement FactureNum est du type "numérique" en clé primaire.
    J'ai essayé a nouveau de changer la syntaxe au cas ou, mais rien à faire. Même en changeant le numéro de la colonne

    Le formulaire facture que je souhaite ouvrir est mon formulaire principal avec des sous formulaire si ça peu aider...

  16. #16
    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
    re,
    l'erreur indique bien un problème de format !

    vérifier le format dans les 2 objets - mais normalement si la Zone de liste et le formulaire pointe sur la même requête ou table il ne devrait pas y avoir ce problème.
    si tu peux joindre la partie de ta base concernée expurgée au maxi on pourras peut-être mieux comprendre.

  17. #17
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    re

    Trouve ci joint la partie concernée de ma base de donnée.

    C'est super sympa de te donner tant de mal pour m'aider

  18. #18
    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
    Bonjour,
    En te donnant l’astuce pour afficher plusieurs requêtes dans une zone de liste, ne sachant pas ce que tu devais en faire, cela est la cause du non fonctionnement du code.
    En regardant ta base, compte tenu qu’en fait tout peut reposer sur une seule requête – ci-joint un formulaire multi recherche à ma manière – regardes ce que tu peux en faire et poste ce que tu ne comprends pas – pour l’instant je n’ai pas trop le temps de commenter et pour ne pas retarder je te joins une proposition qui fonctionne et qu’il faut adapter.

  19. #19
    Membre du Club
    Homme Profil pro
    .....
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : .....

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 58
    Points
    58
    Par défaut
    Wouaw!!!!!

    Je viens de regarder vite fait ça a l'air plutôt génial ce que tu as fais.
    je m'incline devant ton savoir faire

    Encore merci, je regarderai ça de plus près dimanche et te tiens au jus

  20. #20
    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
    re,
    j'ai posté un peu vite !!!
    correction de :
    oubli du mois de décembre - adieu le père Noel
    déverouillage du formulaire facture sinon tu ne pourras pas l'ouvrir 2 fois.
    enfin :
    respect du forum - pour le plus grand nombre et quand c'est possible
    poster en version inférieure et en zip.
    désolé à recharger et bon amusement .....

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD18] Tri sur un champ date
    Par virtualdev dans le forum WinDev
    Réponses: 4
    Dernier message: 26/07/2014, 07h39
  2. [PHP 5.4] Champ date dans formulaire et tris de date
    Par georgeschris dans le forum Langage
    Réponses: 17
    Dernier message: 11/11/2012, 21h51
  3. Réponses: 1
    Dernier message: 17/05/2011, 10h29
  4. Réponses: 3
    Dernier message: 15/06/2006, 12h03
  5. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32

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