|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Un collegue m'a demandé de l'aide sur Excel, mais vu l’ampleur de ce qu'il demande, je me suis tourné vers Access. Sauf que je ne maitrise pas du tout Access... Le but et de faire une gestion de stock "toute bête", je pense avoir pas trop mal structuré mon fichier (Ah ben oui, un peu de prétention ne fait de mal à personne) Mais je me trouve face à un problème lors de la création des Etats "dynamiques", je dis dynamique mais en faite je modifie uniquement la clause Where lors de l'appelle de l'Etat via VBA. Mon fichier gère donc des denrées alimentaires, regroupées par familles. J'ai une table Client et une table Commande (entre autre). Le but de mon Etat est d'afficher par famille de produit sur une année donnée (c'est cette partie date que je modifie via la clause Where). J'utilise ainsi le même Etat pour d'autre périodicité. ![]() Comme vous pouvez le voir sur le screenshot joint, j'ai utilisé les Opérations de regroupement. Hors pour mon champs Cmd_Date, je ne sais pas quoi choisir dans la liste d'Opération, car en regroupement, il me crée plusieurs lignes pour le même produit (dates de commande différentes). Je ne peux bien évidement pas supprimer ma colonne Cmd_Date, car je l'utilise pour la clause Where VBA. J'avais déjà pas mal tourné en rond avec ce problème, que je pensais l'avoir résolu.... mais ça n'est pas le cas ![]() En faisant quelques recherches, j'ai bien vu que certains conseillent (fortement) l'utilisation de OpenArgs, mais je ne vois pas comment l'utiliser dans mon cas. Faut il que je passe, par exemple, les dates encadrant la periode voulu et que je récupére ensuite ces dates au chargement de mon Etat afin de les utiliser pour filter les données qu'il contient (Via un recordset créé via VBA)? Et d'appliquer ensuite le contenu de mon recordset à mon Etat? Cela me semble bien périlleux. Merci de m'éclairer sur le sujet, je ne saisi pas trop cette mecanique, j'utilise actuellement OpenArgs pour personnaliser le contenu d'un Label. Il me suffirait de faire une chaine avec des séparateurs pour récupérer chaque arguments via un split si tel est le besoin. Merci pour votre aide et vos conseils. Vu qu'il n'y a rien de confidentiel n'hesitez pas à demander le fichier si besoin. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
10
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Hello MagicQwaz,
déjà il me semble que le champ TblTicket.Ticket_FamilleId est redondant et peut être supprimé. Si on connait le produit dans la table TblTicket, on peut remonter à la famille du produit grâce au schéma:TblFamille-1--------∞-TblProduit. Si tu veux filtrer la date, il faut choisir l'opération "Où" (clause WHERE) sur Cmd_Date |
|
10
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Alors pour l’étiquette, oui, je vois mon erreur, mais j'ai comme l'impression que ça va rester comme ça, a moins que cela puisse me poser un quelconque problème. Car sinon il faudrait que je reprenne... j'allais dire "toutes mes requêtes"... Ok la base et réduite, donc je regarderais quand même pour le faire Pour ce qui est de l'opérateur Où, j'avais testé, mais si on laisse le champs Expression vide, vu qu'il décoche automatiquement la visibilité de la colonne, il supprime le champs et vu que ce champs ne me sert que lors de l'utilisation de la clause Where VBA... Je dois surement faire un truc pas catho. Voila la partie VBA (extrait) où je crée ma chaîne Where, si ça peut aider Code :
++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
10
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Re,
ok, ça ressemble un peu à ce qui se fait dans le tutoriel de Jeannot45: Un état pour plusieurs requêtes ( et plus précisément l'étude du 2nd cas) Dans ce cas, le SQL de la requête est généré par VBA et les assistants "requête" (ta copie d'écran) devraient te permettre de récupérer le gros "SELECT... FROM..." à copier/coller dans le code VBA. Pourquoi déjà ne pas mettre un critère bidon sur la date juste pour tester si la requête retourne les bonnes infos ? Citation:
Citation:
|
||
|
10
|
|
|
#5 | ||||||||||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Merci pour le lien, c'est pile poile ce dont j'avais besoin ![]() Citation:
Citation:
Citation:
Citation:
![]() Voila ce que donne le résultat Dans un Module, la déclaration des Constantes en Public Code :
Code :
Code :
Encore merci f-leb. Passe une bonne soirée ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||||||||||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com