|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Bonjour à tous,
je pense faire une erreur dans la conception de base (je suis débutante) mais après différents essais suite à mes différentes lectures de votre excellent site, rien à faire je n'y arrive pas ! j'ai une seule table avec 4 champs : - 1 champs nommé "Nom"indexe sans doublon - 2 champs nommé "MoisE" et "MoisT" avec plusieurs valeurs qui represente les mois de l'année - 1 champs nomme "R" mémo J'aurais souhaiter au final avoir un état qui affiche par exemple pour le mois de janvier le champs nommé "Nom" si janvier est cocher dans "MoisE" et/ou dans "MoisT". Je sais qu'il faut faire un tri mais j'ai essaye toutes sortes de manipulations sur les filtres et les requetes mais rien à faire donc je pense que ma table unique n'est peut etre pas la bonne méthode. Si vous avez des idées de conception différentes je suis prete à tout essayer ! |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Sans vouloir être de mauvaise augure, les champs multivalué ne sont pas vraiment une bonne chose.
Fais un tour ici
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Oui j'avais déjà lu ce sujet et j'ai trouvé le principe intéressant d'ailleurs dans ma table et mon formulaire ça marche très bien. Le souci est que lorsque j'effectue une requête le tri fonctionne très bien quand je rentre comme critère le mois désiré pour un des champs mais impossible de le faire sur les deux champs simultanément pour pourvoir l'afficher en état, c'est pour cela que je pense que mon raisonnement n'est pas bon et je n'arrive pas à en trouver un autre !
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Access étant le seul logiciel de DB à utiliser des champs multivalués, il est préférable d'utiliser d'autres mécanismes.
Le principe que j'aurais utilisé est le suivant : Deux tables, une table avec le nom et mémo, et une seconde table avec les mois. Dans la table avec les mois, tu reprends le champ indexé de ta table nom et une entrée pour la date.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
il faudrait donc que je crée 3 tables :
-celle avec le nom et le memo -1 avec les mois pour le champs "MoisE" - 1 avec les mois pour le champs "MoisT" |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
-1 avec les mois pour le champ "Mois" et un champ qui prendrait la valeur E ou T.
Et une table de gagnée, une.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Ok j'ai bien suivi mais le probleme c'est que le champ peut avoir la valeur E et T pour le meme Nom car ça peut être l'un ou l'autre mais aussi l'un et l'autre, je ne sais pas si je suis claire ?
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Pas de problème, tu as le choix, (on a toujours le choix) soit deux champs booléens (Oui/non) un E et un T, soit deux entrées dans la table
Date E/T 07/09/07 E 07/09/07 T
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Je ne suis pas sûre de comprendre, j'ai donc toujours 1 table avec Nom et Memo et 1 table avec Date, E et T et les deux tables liées par le champs indexé ?
|
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Tbl_Nom
Id_Nom Nom Mémo Tbl_Date Id_Date Id_Nom Dte EorT Les champs liés, Id_Nom et Id_Nom dans chaque table Avec une requête qui donnerais la sélection des deux tables, on aurait 001 Nom01 Mémo00001 001 001 06/09/2007 E 001 Nom01 Mémo00001 002 001 07/09/2007 T Avec dans la table 1 001 Nom01 Mémo00001 Et dans la table 2 001 001 06/09/2007 E 002 001 07/09/2007 T
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
J'ai bien compris mais par rapport à ton exemple moi je veux obtenir ça:
001 001 06/09/2007 E 06/09/2007 T |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Petite question, combien de dates auras-tu par nom ?
Si c'est maximum deux, alors tu mets tout dans la même table !! Une ligne par nom. J'avais cru comprendre que tu pouvais avoir plusieurs dates E et T.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
En fait j'ai un nom qui peut avoir 0 ou plusieurs dates pour E, 0 ou plusieurs date pour T sachant que je peux être amenée à ajouter d'autres champs selon le même principe et sachant que les dates pour E et T peuvent etre les memes et que je n'ai besoin que du mois donc je n'utilise pas le format date.
|
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Pourtant, crois moi, le format date est plus facile à utiliser, surtout si tu fais des opérations basées sur la chronologie.
Pour afficher le mois, c'est assez simple Dans ta seconde table, il faut 4 champs Tbl_Date Id_Date Id_Nom EDate TDate 0 condition qu'a une date E corresponde une date T, mais ce n'est pas impératif.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
D'accord, mais comment je fais pour sortir de ça un état qui va m'afficher par mois le Nom et E et/ou T s'ils correspondent au mois en question ?
|
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Comme tu tries sur une date, il suffit de faire un groupement pas date et afficher le mois.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Merci bien de ton aide donc mon problème se situerai sur la création de la requête avec ton modèle de table et le format date.
|
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Dis moi d'où tu pars et où tu veux arriver, je vais te faire un exemple.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 11 ![]() |
Et bien j'ai ma base avec le nom, le memo, un mois ou plusieurs mois pour T et un mois ou plusieurs mois pour E et une photo tout ça remplit par un formulaire et je veux pouvoir faire un recapitulatif par mois c'est a dire par exemple je clique sur un bouton "janvier" et il m'affiche les noms qui ont janvier pour T et/ou E et c'est là que je coince j'ai essayé des tas de choses rien à faire c'est pour ça que je pensais que mon raisonnement devait être mauvais sur la conception.
|
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Voilà,
Avec un exemple, c'est plus clair. Je n'ai pas fait ta DB, mais juste quelques morceaux pour te montrer la voie à suivre. 'état n'est pas filtré, donc on y retrouve tous les enregistrements, pour le filtrer, il suffit de modifier la réquête.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com