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 25/12/2011, 21h40   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 5
Points : 5
Par défaut affichage non complet

bonjour à tous

bien,
je travail sur une base ac "gestion de projets"

j'ai créer une requête sélection qui calcule le nouveau montant d'un projet :

Nouveau montant projet : [montant projet initial]+[montant somme avenants]

[montant projet initial] : provient de la table "projet"
[montant somme avenants]: provient d'une requête qui calcule la somme des avenant du projet de la table avenant.

le problème c que lorsque le projet ne contient pas d'avenant (valeur somme avenant est nulle) le nouveau montant du projet n’apparais pas dans la requête

merci d'avance pour votre aide
gfreeman.006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 10h30   #2
Membre éprouvé
 
Avatar de dumas.blr
 
Homme Jean-Yves DUMAS
Consultant informatique
Inscription : juin 2010
Messages : 325
Détails du profil
Informations personnelles :
Nom : Homme Jean-Yves DUMAS
Âge : 48
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : juin 2010
Messages : 325
Points : 447
Points : 447
Bonjour gfreeman.006,

Ton problème vient probablement du fait que tu utilise ce qu'on appelle en SQL une jointure interne. Comme tu n'a pas d'enregistrement das la table des avenants, il n'y aura pas de correspondance avec la table des projets. La solution passera donc par une jointure externe.
Même si tu ne nous as pas communiqué beaucoup plus d'élément, te dirais que la solution pourra être la suivante :
- dans ta requête, affiche le mode "création"
- clique sur la jointure entre tes 2 tables. La fenête "propriété de la jointure" s'affichera.
- tu choisiras l'option 2 ou 3 selon que ta table "projet" sera à gauche ou à droite. Le principal sera de choisir "Inclure tous les enregistrements de la table "projet" et seulement ceux de la table "avenant" pour lesquels les champs joints sont égaux.
-Valide et passe en mode "feuille de données", tu verras que l'ensemble de tes projets s'affichera.

Par contre, il te faudra probablement passer par une opération supplémentaire pour faire la somme des avenants avec le projet initial, car dans le cas ou le projet n'a pas d'avenant, le montant de ces dernier est nul, et il risque d'y avoir une erreur lors de la sommation.
Dans ce cas, il y aura 2 manières de faire :
- soit ne calculer la somme que si l'avenant a une valeur non nulle
- soit forcer la valeur à 0 si le montant est nul
dans ces 2 cas, utilise les fonctions VraixFaux et estnul. Je te laisse chercher comment les utiliser.

A bientôt sur le forum
__________________
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème !!!
si tout est OK, n'oubliez pas de cliquer sur
dumas.blr est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/12/2011, 23h53   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 5
Points : 5
Par défaut affichage non complet

Bonjour Mr Dumas.blr

Merci pour votre rapide réponse

Comme tu l'a dit j'ai pas communiqué beaucoup plus d'élément, mais tu a très bien ciblé mon problème.

alors, je vais passé à l'action ,

- pour le premier point (propriété de la jointure) pas de problème
- pour le deuxième point (fonctions VraixFaux et estnul) je vais me documenté , mais si je trouve des difficultés, je serrais très reconnaissant d'un autre coup de main de votre part

merci bien
gfreeman.006 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2011, 12h14   #4
Membre chevronné
 
Avatar de alassanediakite
 
Homme Alassane Diakité
Conseil - Consultant en systèmes d'information
Inscription : août 2006
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Alassane Diakité
Âge : 34
Localisation : Mali

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information

Informations forums :
Inscription : août 2006
Messages : 539
Points : 604
Points : 604
Envoyer un message via Yahoo à alassanediakite
Salut
Voir ici.
@+
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard…
alassanediakite est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/12/2011, 23h22   #5
Invité régulier
 
Inscription : janvier 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 11
Points : 5
Points : 5
Par défaut affichage non complet

Bonjour à tous

comme me l'a suggérer Mr Dumas, j'ai fais une petite recherche sur les fonctions
.. mais j'ai pas pu trouvé la bonne combinaison pour mon problème,

par contre, j'ai utilisé la fonction NZ(...) qui permet de transformer mon champ en une autre valeur si il est Null.
La syntaxe : nz(MonChamp;0) si monChamp est Nul, il utilise 0
en d'autre terme : somme des Avenants: Nz([montant de l'Avenant TTC];0)

est ça marche très bien

(solution trouvée dans le forum (fgiambelluco)

Merci à Mr Dumas et à fgiambelluco

et à +
gfreeman.006 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 06h05.


 
 
 
 
Partenaires

Hébergement Web