Comment afficher dans un état un groupe sans enregistrements
2 réponses
Luchr
J'ai cr=E9=E9 un =E9tat issu d'une table. Dans "trier Grouper" je
s=E9lectionne un champ. Comment faire pour que tous les groupes
s'affiche m=EAme si il n'y a aucun enregistrement dans le d=E9tail du
groupe ?
Merci de vos conseils
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.
il faut changer la jointure et l'ordre des tables. en simplifiant, il faut que les groupes soient dans une table, sinon impossible de le faire. soit la table2 les enregistrements détail et la table1 les groupes. si tu fais une jointure normale ( égalité des champs en relation) tu as: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero, table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero = table1.Numero; on obtiendra les enregistrements qui auront la même valeur dans numero et les groupes sur numeros ne seront pas complets. mais si tu fais: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero, table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Numero; tu vas obtenir la liste complète des enregistrements de la table1, complétés seulement par la table2 si numero = numero. tu auras la liste complète des groupes mais sans détail. tu risques aussi d'avoir des pleines pages vierges de données avec seulement les entêtes de groupe.
inner join correspond à : inclure seulement les lignes des deux tables pour lesquelles les champs joints sont égaux left join correspond à: inclure tous les enregistrements de la table1 et seulement ceux de la table2 pour lesquels les champs joints sont égaux.
en espérant avoir été clair. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Luchr" a écrit dans le message de news:
J'ai créé un état issu d'une table. Dans "trier Grouper" je sélectionne un champ. Comment faire pour que tous les groupes s'affiche même si il n'y a aucun enregistrement dans le détail du groupe ? Merci de vos conseils
Christian
Bonjour.
il faut changer la jointure et l'ordre des tables.
en simplifiant, il faut que les groupes soient dans une table, sinon
impossible de le faire. soit la table2 les enregistrements détail et la
table1 les groupes.
si tu fais une jointure normale ( égalité des champs en relation) tu as:
SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero,
table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero =
table1.Numero;
on obtiendra les enregistrements qui auront la même valeur dans numero et
les groupes sur numeros ne seront pas complets.
mais si tu fais:
SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero,
table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Numero;
tu vas obtenir la liste complète des enregistrements de la table1, complétés
seulement par la table2 si numero = numero.
tu auras la liste complète des groupes mais sans détail.
tu risques aussi d'avoir des pleines pages vierges de données avec seulement
les entêtes de groupe.
inner join correspond à :
inclure seulement les lignes des deux tables pour lesquelles les champs
joints sont égaux
left join correspond à:
inclure tous les enregistrements de la table1 et seulement ceux de la table2
pour lesquels les champs joints sont égaux.
en espérant avoir été clair.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Luchr" <luchr@aol.com> a écrit dans le message de news:
1155368438.897700.308530@m73g2000cwd.googlegroups.com...
J'ai créé un état issu d'une table. Dans "trier Grouper" je
sélectionne un champ. Comment faire pour que tous les groupes
s'affiche même si il n'y a aucun enregistrement dans le détail du
groupe ?
Merci de vos conseils
il faut changer la jointure et l'ordre des tables. en simplifiant, il faut que les groupes soient dans une table, sinon impossible de le faire. soit la table2 les enregistrements détail et la table1 les groupes. si tu fais une jointure normale ( égalité des champs en relation) tu as: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero, table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero = table1.Numero; on obtiendra les enregistrements qui auront la même valeur dans numero et les groupes sur numeros ne seront pas complets. mais si tu fais: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Numero, table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Numero; tu vas obtenir la liste complète des enregistrements de la table1, complétés seulement par la table2 si numero = numero. tu auras la liste complète des groupes mais sans détail. tu risques aussi d'avoir des pleines pages vierges de données avec seulement les entêtes de groupe.
inner join correspond à : inclure seulement les lignes des deux tables pour lesquelles les champs joints sont égaux left join correspond à: inclure tous les enregistrements de la table1 et seulement ceux de la table2 pour lesquels les champs joints sont égaux.
en espérant avoir été clair. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Luchr" a écrit dans le message de news:
J'ai créé un état issu d'une table. Dans "trier Grouper" je sélectionne un champ. Comment faire pour que tous les groupes s'affiche même si il n'y a aucun enregistrement dans le détail du groupe ? Merci de vos conseils
Christian
Luchr
Bonjour.
il faut changer la jointure et l'ordre des tables. en simplifiant, il faut que les groupes soient dans une table, sinon impossible de le faire. soit la table2 les enregistrements détail et la table1 les groupes. si tu fais une jointure normale ( égalité des champs en relation) tu as: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero, table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero = table1.Numero; on obtiendra les enregistrements qui auront la même valeur dans numero et les groupes sur numeros ne seront pas complets. mais si tu fais: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero, table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Nu mero; tu vas obtenir la liste complète des enregistrements de la table1, comp létés seulement par la table2 si numero = numero. tu auras la liste complète des groupes mais sans détail. tu risques aussi d'avoir des pleines pages vierges de données avec seul ement les entêtes de groupe.
inner join correspond à : inclure seulement les lignes des deux tables pour lesquelles les champs joints sont égaux left join correspond à: inclure tous les enregistrements de la table1 et seulement ceux de la tab le2 pour lesquels les champs joints sont égaux.
en espérant avoir été clair. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Luchr" a écrit dans le message de news:
J'ai créé un état issu d'une table. Dans "trier Grouper" je sélectionne un champ. Comment faire pour que tous les groupes s'affiche même si il n'y a aucun enregistrement dans le détail du groupe ? Merci de vos conseils
Christian
Merci Raymond. J'ai eu un peu de mal mais c'est OK Christian
Bonjour.
il faut changer la jointure et l'ordre des tables.
en simplifiant, il faut que les groupes soient dans une table, sinon
impossible de le faire. soit la table2 les enregistrements détail et la
table1 les groupes.
si tu fais une jointure normale ( égalité des champs en relation) tu as:
SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero,
table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero =
table1.Numero;
on obtiendra les enregistrements qui auront la même valeur dans numero et
les groupes sur numeros ne seront pas complets.
mais si tu fais:
SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero,
table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Nu mero;
tu vas obtenir la liste complète des enregistrements de la table1, comp létés
seulement par la table2 si numero = numero.
tu auras la liste complète des groupes mais sans détail.
tu risques aussi d'avoir des pleines pages vierges de données avec seul ement
les entêtes de groupe.
inner join correspond à :
inclure seulement les lignes des deux tables pour lesquelles les champs
joints sont égaux
left join correspond à:
inclure tous les enregistrements de la table1 et seulement ceux de la tab le2
pour lesquels les champs joints sont égaux.
en espérant avoir été clair.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Luchr" <luchr@aol.com> a écrit dans le message de news:
1155368438.897700.308530@m73g2000cwd.googlegroups.com...
J'ai créé un état issu d'une table. Dans "trier Grouper" je
sélectionne un champ. Comment faire pour que tous les groupes
s'affiche même si il n'y a aucun enregistrement dans le détail du
groupe ?
Merci de vos conseils
Christian
Merci Raymond.
J'ai eu un peu de mal mais c'est OK
Christian
il faut changer la jointure et l'ordre des tables. en simplifiant, il faut que les groupes soient dans une table, sinon impossible de le faire. soit la table2 les enregistrements détail et la table1 les groupes. si tu fais une jointure normale ( égalité des champs en relation) tu as: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero, table1.Madate FROM table2 INNER JOIN table1 ON table2.Numero = table1.Numero; on obtiendra les enregistrements qui auront la même valeur dans numero et les groupes sur numeros ne seront pas complets. mais si tu fais: SELECT table2.Valeur, table2.Pays, table2.Région, table2.num, table1.Nu mero, table1.Madate FROM table1 LEFT JOIN table2 ON table1.Numero = table2.Nu mero; tu vas obtenir la liste complète des enregistrements de la table1, comp létés seulement par la table2 si numero = numero. tu auras la liste complète des groupes mais sans détail. tu risques aussi d'avoir des pleines pages vierges de données avec seul ement les entêtes de groupe.
inner join correspond à : inclure seulement les lignes des deux tables pour lesquelles les champs joints sont égaux left join correspond à: inclure tous les enregistrements de la table1 et seulement ceux de la tab le2 pour lesquels les champs joints sont égaux.
en espérant avoir été clair. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Luchr" a écrit dans le message de news:
J'ai créé un état issu d'une table. Dans "trier Grouper" je sélectionne un champ. Comment faire pour que tous les groupes s'affiche même si il n'y a aucun enregistrement dans le détail du groupe ? Merci de vos conseils
Christian
Merci Raymond. J'ai eu un peu de mal mais c'est OK Christian