|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Bonjour,
J'aimerais savoir sur une requête peut effectuer l'opération suivante : J'ai une table (Engin VSAV/CA) avec différents champs : Rang Catégorie Grade Avancement FIA Spécialités 1 Spécialités 2 Permis FMA 1 FMA 2. Tout ces champs ne sont pas forcement remplis. J'ai une autre table (SP) qui possèdent les mêmes champs (compétences), sauf qu'ils peuvent contenir plusieurs valeurs exemple : Champs Permis : Permis B;Carte blanche;PL validé. Est ce qu'une requête peut me dire quel rang un SP possède en fonction de ses compétences ...?? Autre souci, mon SP ne peut posséder qu'1 rang et le plus bas possible. Merci de votre aide |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Bonjour manusp,
Citation:
Citation:
Citation:
A suivre donc… |
|||
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Il est vrai que je n'ai pas été clair pour ma question
Je vais reprendre les points qui vous posent souci : Pour la table VSAV/CA, c'est une reproduction d'un document, cette table ne comporte que 6 enregistrements donc 6 rangs avec certaines compétences ( champs). Exemple pour avoir le rang 1, qui est prioritaire, il faut : champs catégorie : SP Champs Grade : S/OFF Champs avancement : CA Semaine 2 Champs FMA 1 : FMA SAP Champs FMA 2 : FMA ARI En fait c'est une requête de comparaison je pense... Merci d'avance |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Bonjour,
tu peux calculer le rang à partir d’une requête SELECT du style : Code sql :
|
||
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Je viens de rentrer votre code dans une requête...
ça me demande pleins de valeurs de paramètres... et ça me donne Expr1 et Expr2 |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
le code que j'ai donné n'est certainement qu'approximatif et nécessite d'être adapté à tes données.
peux-tu poster une version réduite et zippée de ta base en pièce-jointe ? |
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Voici ma base de donnée réduite et zippée
J'ai crée un seul SP pour les essais. Merci de votre aide |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Super, des champs multi-valués partout
Bon, mettons à plat les données du SP n°14000 (faire glisser les champs NomDuChamp.value dans la fenêtre des requêtes) et faisons le parallèle avec la table des rangs. ![]() Comme ça je dirais que le SP n°14000 à un rang=2. J’ai bien compris ? Un SP peut-il ne pas avoir de rang ? Peut-il avoir plusieurs rangs ? |
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Pour l'exemple que je vous ai envoyé le SP N° 14000 doit bien avoir le rang 2.
![]() Maintenant est ce qu'il est plus simple de supprimer ces champs multi-valués et les remplacer par des relations entres tables ??? tout en conservant le principe du formulaire compétences (frmcompétences) de cocher les cases pour les conpétences acquises par SP ??? |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Bon, ben c’est pas simple
et la solution que je propose en pièce-jointe n’est pas très jojo![]() et pas sûr qu’elle marche dans tous les cas![]() ![]() ![]() Exécute la requête paramétrée [REQ RangSP]. Pour le matricule n°140000, elle renvoie bien le rang=2. Regarde ce que ça donne avec d’autres matricules. A suivre… |
|
10
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Merci ça fonctionne, maintenant comme je vous demandais est ce qu'il serait plus simple de réaliser cette requête de recherche ou comparaison via une table SP qui serait liée aux autres tables pour récupérer les compétences et non avoir des champs multi-valués ??
|
|
|
00
|
|
|
#12 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Pas forcément plus simple à construire mais certainement plus performante à l’exécution.
Toutefois l’usage de ces champs multi-valués présente des avantages sur le plan de l’IHM et sans eux il faudrait quelques bricolages avec un peu de code pour reproduire ton formulaire. Si tu n’as pas à gérer tous les pompiers de France et qu’il n’existe que 6 rangs, même si ton modèle est peu évolutif, la vitesse d’exécution des traitements n’est sans doute pas un critère essentiel. |
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Emmanuel Inscription : janvier 2011 Messages : 210 ![]() |
Le souci que ça me pose c'est que des tables comme VSAV/CA je vais en avoir environ 40....
En fait pour vous expliquer (en terme pompier...) VSAV : Nom de l'engin CA : nom de la fonction Pour l'engin VSAV je vais avoir VSAV/COND - VSAV/EQ1 - VSAV/EQ2. J'aimerais avoir une feuille récapitulative qui regroupent mes fonctions et mes SP en leurs attibuant un rang par fonction......... Pas facile tout ça |
|
|
00
|
|
|
#14 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Citation:
Il va peut-être falloir revoir la conception en profondeur. Je te conseillerais bien de poster une nouvelle discussion dans le s/forum Modélisation d’Access pour voir la tête de tes tables. Dans ce dernier cas, tu penseras à nous décrire le métier de pompier en des termes plus explicites que des VSAV/COND- VSAV/EQ1. Pour le moment j’ai bien du mal à saisir ce que tu gères .Courage… |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com