Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/02/2011, 15h58   #1
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
Par défaut Requête de recherche ?

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
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 17h34   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Bonjour manusp,

Citation:
Envoyé par manusp
Tous ces champs ne sont pas forcément remplis.
Voilà les premiers symptômes d’une modélisation approximative.

Citation:
Envoyé par manusp
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é.
Il s’agit d’un champ multi-valué, fonctionnalité disponible depuis Access 2007, où d’un simple champ Texte avec ";" comme séparateur ?

Citation:
Envoyé par manusp
Est-ce qu'une requête peut me dire quel rang un SP possède en fonction de ses compétences ...??
Si seulement j’avais une idée de ce qu’est un "rang" et de comment on peut le calculer…

A suivre donc…
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 20h49   #3
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 11h40   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Bonjour,

tu peux calculer le rang à partir d’une requête SELECT du style :

Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
SELECT …,
(
  SELECT first(Rang) FROM [VSAV/CA]
  WHERE 
  [VSAV/CA].Categorie=[SP].Categorie
     AND
  [VSAV/CA].Grade=[SP].Grade
     AND
  [VSAV/CA].Avancement=[SP].Avancement
     AND) 
FROM [SP] ;
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 19h02   #5
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h32   #6
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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 ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h42   #7
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 19h42   #8
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Super, des champs multi-valués partout… (Je n’y connais rien mais un SP peut avoir plusieurs grades ??)

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 ? 
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 20h41   #9
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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 ???
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h01   #10
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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… 
Fichiers attachés
Type de fichier : zip Essai Compétences1.zip (49,7 Ko, 4 affichages)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/03/2011, 17h29   #11
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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 ??
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 19h34   #12
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
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.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 21h00   #13
Nouveau Membre du Club
 
Homme Emmanuel
Inscription : janvier 2011
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel
Localisation : France

Informations forums :
Inscription : janvier 2011
Messages : 210
Points : 27
Points : 27
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
manusp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 18h13   #14
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Citation:
Envoyé par manusp
…c'est que des tables comme VSAV/CA je vais en avoir environ 40....
Oups ! Ça change la donne…
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… 
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h21.


 
 
 
 
Partenaires

Hébergement Web