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 22/09/2011, 14h40   #1
Invité régulier
 
Inscription : septembre 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 10
Points : 6
Points : 6
Par défaut Requête access avec un IF

Bonjour à tous,

Je cherche à créer une requête qui me sortira la combinaison de deux tables liées et, en plus, un champ qui sera calculé sur base d'une condition.

Je vous donne le cas concret:

J'ai une base (disons Table1) qui contient des "objets", leur localisation et leur "type".

Pour simplifier, Table1 est en trois colonnes:
OBJET | LOCALISATION | TYPE_OBJET

J'ai une deuxième Table (Table 2) qui contient des infos sur les localisations possibles, sous la forme:
LOCALISATION | PLACE_DISPONIBLE


Je voudrais écrire une requête access qui me donne la vue suivante:

OBJET | LOCALISATION | CHAMP_CALCULE

Le CHAMP_CALCULE devrait être calculé comme suit:

Si TYPE_OBJET = "NOMAL", CHAMP_CALCULE = 1
Si TYPE_OBJET = "ISOLE", CHAMP_CALCULE = PLACE_DISPONIBLE

Le CHAMP_CALCULE me permet de savoir quelle est la place occupée par un OBJET. Certains objets nécessitent d'être "isolés" et occupent donc toute la place de stockage disponible dans la localisation...

Ceci me permet de calculer des taux d'utilisation.

Pourriez-vous m'aider?
Jeanwsl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 14h47   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
Bonjour Jeanwsl,

As-tu déjà créé la requête qui lie Table1 et Table2 ?
Nous verrons, après, la création du champ calculé pour lequel il faudra utiliser la fonction VraiFaux(), via l'assisant.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h15   #3
Invité régulier
 
Inscription : septembre 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 10
Points : 6
Points : 6
En effet, la voici:

Citation:
SELECT TABLE1.Objet, TABLE1.[Date Entree], TABLE1.[ID Localisation], [TABLE2].PLACE_DISPONIBLE
FROM TABLE1 INNER JOIN [TABLE2] ON TABLE1.ID_Localisation = [TABLE2].ID_Localisation;

Jeanwsl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h52   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
Je te suggère de passer par l'assistant.

Dans la partie "Champ" (SELECT) , tu ajoutes "CHAMP_CALCULE :" puis la fonction VraiFaux() que je te laisse découvrir dans l'aide Access, les tutos, le forum, Google, etc... elle est très bien expliquée partout.

Le code SQL se transformera donc en :
Code sql :
1
2
SELECT TABLE1.Objet, TABLE1.[Date Entree], TABLE1.[ID Localisation], [TABLE2].PLACE_DISPONIBLE, IIf(xxxx) as CHAMP_CALCULE
FROM TABLE1 INNER JOIN [TABLE2] ON TABLE1.ID_Localisation = [TABLE2].ID_Localisation;
==> le IIf() étant la traduction SQL de la fonction VraiFaux().
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 17h02   #5
Invité régulier
 
Inscription : septembre 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 10
Points : 6
Points : 6
Génial! Merci pour ta réponse rapide!
Jeanwsl est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h44.


 
 
 
 
Partenaires

Hébergement Web