[Access] Formulaire - Table intermédiaire et champs multiselections

Formulaire - Table intermédiaire et champs multiselections [Access] - SQL/NoSQL - Programmation

Marsh Posté le 04-07-2007 à 10:14:57    

Hello !
 
J'ai créé une petite DB pour la gestion de projets.  
Un projet contient une série de champs et notamment un lien vers une table Vehicle dans une relation n-n. J'ai donc créé une table intermédiaire qui va gérer les liaisons.  
 
J'ai créé un formulaire qui reprends l'ensemble des champs pour un encodage facile des données. Toutefois, je coince sur cette table intermédiaire...  
En effet, j'ai une série de véhicles, qui peuvent correspondre à plusieurs projets, et un projet peut nécessiter plusieurs vehicles.  
Je voudrais donc faire apparaître une listbox en multiple select, qui contient la liste des vehicles et qui remplirait la table intermédiaire...  
 
 
Corrolaire, j'ai créé un Reports, qui me fait apparaître mes projets et leurs données, il faudrait permettre l'affichage de plusieurs vehicles par projets, selon les data de la table intermédiaire.  
 
 
Y a des motivés qui peuvent m'aider. C'est p-e tout con, mais pas moyen de trouver comment faire.  
 
 
S'il faut plus de détails, n'hésitez pas !
 
 
 
Merci !

Reply

Marsh Posté le 04-07-2007 à 10:14:57   

Reply

Marsh Posté le 04-07-2007 à 10:20:21    

ta table intermédiaire peut avoir mini 3 champs avec:
- clé primaire des liaisons en autonumber,
- clé primaire du projet
- clé primaire du vehicle
 
ainsi tu peux avoir la liste des projets pour un vehicle, et la liste des vehicles pour un projet :)

Reply

Marsh Posté le 04-07-2007 à 10:33:02    

Ouaip, c'est ce que j'ai fait... Mais malheureusement dans mon formulaire pour un projet, je n'arrive pas à faire apparaitre la liste des vehicles & sauvegarder les choix dans la table intermédiaire...

Reply

Marsh Posté le 04-07-2007 à 10:51:09    

non, dans les liaisons, y'a pas de clé primaire en autonumber :o elle sert à rien car jamais utilisée, ne représente rien, et force à faire un second contrôle pour vérifier l'unicité des liaisons :o
 
on arrête tout de suite cette manie de foutre des pk auto_number à toutes les sauces partout.
 
c'est pas parceque access propose automatiquement d'en créer une qu'il faut le faire à chaque fois.
c'est pas parceque l'interface de phpmyadmin est aussi merdique que mysql et qu'il ne permet pas simplement de créer une clé composite qu'il ne fait pas en faire :o
 
BREF.
 
Une table de liaison a SYSTEMATIQUEMENT le tuple composé de toutes ses FK comme clé primaire (ET JAMAIS RIEN D'AUTRE !)
 
le premier qui respecte pas cette rècle, il a droit au goudrons avec les plumes :fou:


Message édité par MagicBuzz le 04-07-2007 à 10:51:32
Reply

Marsh Posté le 04-07-2007 à 11:20:30    

Pour recadrer :
 
Je n'ai pas de problème de conception... Ce qui me pose plus problème, c'est la manière dont je pourrais utiliser (reports) et encoder (forms) les données, avec cette table intermédiaire, pour relier les deux tables principales.

Reply

Marsh Posté le 04-07-2007 à 11:50:56    

je laisse répondre jpcheck sur ce point, moi j'ai pas fait d'access depuis... pfiou !!! ça devait être la version 97 :D

Reply

Marsh Posté le 04-07-2007 à 13:43:35    

au niveau de tes forms, tu dois nommer les éléments que tu souhaites faire remonter par leur nom dans la table :
exemple :
si tu as un iRefDocument comme identifiant de document dans ta table tu auras en source de ton formulaire (form) "select irefdocument from ma_table1" et le nom de ta zone de texte s'appelera iRefDocument...
 
ca correspond à ton besoin ?
 
dans le cas de la table intermediaire tu modifieras ta requete source avec un inner join de tes 3 tables (1, 2 et intermediaire qui lie 1 et 2) :)

Reply

Marsh Posté le 09-07-2007 à 12:18:14    

J'ai tenté, mais visiblement ça ne roule pas bien...  
J'ai fait du SQL mais jamais avec un truc comme Access, et donc je m'emmelle un peu...
 
Merci pour ta réponse en tout cas !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed