J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec
leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou
plusieurs primes pour certains agents.
Voici la requete executée :
SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime
FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num);
qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve
'#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre
VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans
réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null rencontrées dans la table prime. pour parer à toutes les erreurs utilise la fonction Nz pour remplacer la valeur Null par 0. Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" a écrit dans le message de news:
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Bonjour.
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null
rencontrées dans la table prime. pour parer à toutes les erreurs utilise la
fonction Nz pour remplacer la valeur Null par 0.
Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" <ThierryGiraud@discussions.microsoft.com> a écrit dans le
message de news: 4EF96C71-C563-43E8-B4E3-3A589467376C@microsoft.com...
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec
leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou
plusieurs primes pour certains agents.
Voici la requete executée :
SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime
FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num);
qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve
'#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre
VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans
réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null rencontrées dans la table prime. pour parer à toutes les erreurs utilise la fonction Nz pour remplacer la valeur Null par 0. Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" a écrit dans le message de news:
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Maxence HUBICHE
Hello Thierry,
Bizarre bizarre quand même ton truc ... :s Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus une requête plutôt ? voire même 2 requêtes ? Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche), ou alors, il y a des informations supplémentaires dans ton champ (une zone de liste, un truc comme cela... Pourquoi je dis cela : - Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te renverras un NULL dans Prime.MTPrime - Parce que ta requête n'a pas de champs calculés, et que les #erreur sont consécutifs à une erreur dans un calcul - Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ? - Soit le SQL que tu nous a mis n'est pas complet. - Soit tu te bases sur autre chose qu'une série de tables - Soit tu as une définition de champs (au niveau des propriétés) qui est un peu particulière sur ce champ.
Voilà. Reviens nous donner des nouvelles ;)
================== Maxence HUBICHE
MVP Access Revendeur CaseStudio (http://www.casestudio.fr) Responsable Access sur http://www.developpez.com La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Hello Thierry,
Bizarre bizarre quand même ton truc ... :s
Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus
une requête plutôt ? voire même 2 requêtes ?
Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche),
ou alors, il y a des informations supplémentaires dans ton champ (une zone
de liste, un truc comme cela...
Pourquoi je dis cela :
- Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te
renverras un NULL dans Prime.MTPrime
- Parce que ta requête n'a pas de champs calculés, et que les #erreur sont
consécutifs à une erreur dans un calcul
- Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce
soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ?
- Soit le SQL que tu nous a mis n'est pas complet.
- Soit tu te bases sur autre chose qu'une série de tables
- Soit tu as une définition de champs (au niveau des propriétés) qui est
un peu particulière sur ce champ.
Voilà.
Reviens nous donner des nouvelles ;)
================== Maxence HUBICHE
MVP Access
Revendeur CaseStudio (http://www.casestudio.fr)
Responsable Access sur http://www.developpez.com
La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents
avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai
une ou plusieurs primes pour certains agents.
Voici la requete executée :
SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime
FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num);
qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur'
à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre
VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais
sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Bizarre bizarre quand même ton truc ... :s Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus une requête plutôt ? voire même 2 requêtes ? Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche), ou alors, il y a des informations supplémentaires dans ton champ (une zone de liste, un truc comme cela... Pourquoi je dis cela : - Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te renverras un NULL dans Prime.MTPrime - Parce que ta requête n'a pas de champs calculés, et que les #erreur sont consécutifs à une erreur dans un calcul - Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ? - Soit le SQL que tu nous a mis n'est pas complet. - Soit tu te bases sur autre chose qu'une série de tables - Soit tu as une définition de champs (au niveau des propriétés) qui est un peu particulière sur ce champ.
Voilà. Reviens nous donner des nouvelles ;)
================== Maxence HUBICHE
MVP Access Revendeur CaseStudio (http://www.casestudio.fr) Responsable Access sur http://www.developpez.com La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Thierry Giraud
Salut Maxence,
Bien vu, ce ne sont pas des tables, mais 2 requêtes ! Et effectivement, en essayant de faire une base simple (telle que décrite dans le post), il n'y a pas d'erreur ! Conclusion, il faut que je regarde d'un peu plus près comment je calcul le montant des primes dans ma sous-requête...
Merci pour tes infos, celles-ci vont me permettre de regarder plus précisement d'où vient mon erreur. Si toutefois je n'arrive toujours pas à le résoudre, je ferais un nouveau post plus complet...
Hello Thierry,
Bizarre bizarre quand même ton truc ... :s Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus une requête plutôt ? voire même 2 requêtes ? Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche), ou alors, il y a des informations supplémentaires dans ton champ (une zone de liste, un truc comme cela... Pourquoi je dis cela : - Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te renverras un NULL dans Prime.MTPrime - Parce que ta requête n'a pas de champs calculés, et que les #erreur sont consécutifs à une erreur dans un calcul - Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ? - Soit le SQL que tu nous a mis n'est pas complet. - Soit tu te bases sur autre chose qu'une série de tables - Soit tu as une définition de champs (au niveau des propriétés) qui est un peu particulière sur ce champ.
Voilà. Reviens nous donner des nouvelles ;)
================== > Maxence HUBICHE
MVP Access Revendeur CaseStudio (http://www.casestudio.fr) Responsable Access sur http://www.developpez.com La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Salut Maxence,
Bien vu, ce ne sont pas des tables, mais 2 requêtes !
Et effectivement, en essayant de faire une base simple (telle que décrite
dans le post), il n'y a pas d'erreur ! Conclusion, il faut que je regarde
d'un peu plus près comment je calcul le montant des primes dans ma
sous-requête...
Merci pour tes infos, celles-ci vont me permettre de regarder plus
précisement d'où vient mon erreur.
Si toutefois je n'arrive toujours pas à le résoudre, je ferais un nouveau
post plus complet...
Hello Thierry,
Bizarre bizarre quand même ton truc ... :s
Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus
une requête plutôt ? voire même 2 requêtes ?
Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche),
ou alors, il y a des informations supplémentaires dans ton champ (une zone
de liste, un truc comme cela...
Pourquoi je dis cela :
- Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te
renverras un NULL dans Prime.MTPrime
- Parce que ta requête n'a pas de champs calculés, et que les #erreur sont
consécutifs à une erreur dans un calcul
- Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce
soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ?
- Soit le SQL que tu nous a mis n'est pas complet.
- Soit tu te bases sur autre chose qu'une série de tables
- Soit tu as une définition de champs (au niveau des propriétés) qui est
un peu particulière sur ce champ.
Voilà.
Reviens nous donner des nouvelles ;)
================== > Maxence HUBICHE
MVP Access
Revendeur CaseStudio (http://www.casestudio.fr)
Responsable Access sur http://www.developpez.com
La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents
avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai
une ou plusieurs primes pour certains agents.
Voici la requete executée :
SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime
FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num);
qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur'
à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre
VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais
sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Bien vu, ce ne sont pas des tables, mais 2 requêtes ! Et effectivement, en essayant de faire une base simple (telle que décrite dans le post), il n'y a pas d'erreur ! Conclusion, il faut que je regarde d'un peu plus près comment je calcul le montant des primes dans ma sous-requête...
Merci pour tes infos, celles-ci vont me permettre de regarder plus précisement d'où vient mon erreur. Si toutefois je n'arrive toujours pas à le résoudre, je ferais un nouveau post plus complet...
Hello Thierry,
Bizarre bizarre quand même ton truc ... :s Ta requête est bien basée sur 2 tables ? Ce ne serait pas Une table plus une requête plutôt ? voire même 2 requêtes ? Cela ne devrait pas te renvoyer #ERREUR, mais NULL (donc, une case blanche), ou alors, il y a des informations supplémentaires dans ton champ (une zone de liste, un truc comme cela... Pourquoi je dis cela : - Parce que si tu as bien une table, ta requête, en cas de non-correspondance,te renverras un NULL dans Prime.MTPrime - Parce que ta requête n'a pas de champs calculés, et que les #erreur sont consécutifs à une erreur dans un calcul - Parce que ton SQL n'indique aucun regroupement de quelque sorte que ce soit, ce qui fait q'uil n'y a pas de risque d'erreur de ce côté là non plus.
Donc, où est le loup ? - Soit le SQL que tu nous a mis n'est pas complet. - Soit tu te bases sur autre chose qu'une série de tables - Soit tu as une définition de champs (au niveau des propriétés) qui est un peu particulière sur ce champ.
Voilà. Reviens nous donner des nouvelles ;)
================== > Maxence HUBICHE
MVP Access Revendeur CaseStudio (http://www.casestudio.fr) Responsable Access sur http://www.developpez.com La plus grosse FAQ Access du Web : http://access.developpez.com/faq
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Thierry Giraud
Tout d'abord, merci pour ta réponse.
Avec ton message et celui de Maxence, je me suis rendu compte que je devais avoir fait une erreur dans le calcul du montant des primes dans ma sous-requête. Je vais de ce pas essayer de le résoudre, et idem que pour Maxence, si avec l'aide que vous m'avez déjà apporté je n'arrive toujours pas à solutionner mon problème je ferais un nouveau post plus complet...
Bonjour.
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null rencontrées dans la table prime. pour parer à toutes les erreurs utilise la fonction Nz pour remplacer la valeur Null par 0. Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" a écrit dans le message de news:
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Tout d'abord, merci pour ta réponse.
Avec ton message et celui de Maxence, je me suis rendu compte que je devais
avoir fait une erreur dans le calcul du montant des primes dans ma
sous-requête. Je vais de ce pas essayer de le résoudre, et idem que pour
Maxence, si avec l'aide que vous m'avez déjà apporté je n'arrive toujours
pas à solutionner mon problème je ferais un nouveau post plus complet...
Bonjour.
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null
rencontrées dans la table prime. pour parer à toutes les erreurs utilise la
fonction Nz pour remplacer la valeur Null par 0.
Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" <ThierryGiraud@discussions.microsoft.com> a écrit dans le
message de news: 4EF96C71-C563-43E8-B4E3-3A589467376C@microsoft.com...
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec
leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou
plusieurs primes pour certains agents.
Voici la requete executée :
SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime
FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num);
qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve
'#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre
VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans
réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...
Avec ton message et celui de Maxence, je me suis rendu compte que je devais avoir fait une erreur dans le calcul du montant des primes dans ma sous-requête. Je vais de ce pas essayer de le résoudre, et idem que pour Maxence, si avec l'aide que vous m'avez déjà apporté je n'arrive toujours pas à solutionner mon problème je ferais un nouveau post plus complet...
Bonjour.
ta requête me semble correcte et ça ne vient d'elle mais des valeurs Null rencontrées dans la table prime. pour parer à toutes les erreurs utilise la fonction Nz pour remplacer la valeur Null par 0. Mavariable = Nz(MtPrime,0) *2 + Nz(MtPrime1,0)
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Thierry Giraud" a écrit dans le message de news:
Bonjour,
J'ai 2 tables : une table "Agent", pour laquelle j'ai tous mes agents avec leur salaire mensuel, et une table "Prime", pour laquelle j'ai une ou plusieurs primes pour certains agents.
Voici la requete executée : SELECT Agent.Cle, Agent.Nom, Agent.Prenom, Agent.MtBrut, Prime.MtPrime FROM Agent LEFT JOIN Prime ON (Agent.Cle = Prime.Ag_num); qui me donne une ou plusieurs lignes par agents
Mon souci : Pour les agents n'ayant pas de primes, je trouve '#Erreur' à la place du montant des primes alors que je voudrais '0'
J'ai essayé de remplacer "Prime.MtPrime" par des trucs du genre VraiFaux(Isnull(Prime.MtPrime);0;Prime.MtPrime) ou iserror,.. mais sans réussite.
Alors si quelqu'un a une idée, merci de m'en faire profiter...