OVH Cloud OVH Cloud

Extraction d'adhérents

7 réponses
Avatar
jourdelan
Bonjour,
je ne suis pas sur de ne pas avoir déjà posé cette question, pardonnez moi !
De toute façon je ne me rappelle plus comment il faut faire.
J'ai une base de données adhérents et je voudrai faire une lettre de
relance en publipostage pour inviter les adhérents 2006 qui n'ont pas pris
leur timbre à le faire en 2007.
Comment dois-je écrire cette requête ?
http://cjoint.com/?btsREWD3PY
Merci par avance de votre aide.
Soyez simple car je ne suis pas très costaud, le fait de poser la question
en est la preuve .

Ce post déjà posté hier soir n'est pas passé alors je récidive, on verra
bien !

7 réponses

Avatar
3stone
Salut,

"jourdelan"
| je ne suis pas sur de ne pas avoir déjà posé cette question, pardonnez moi !
| De toute façon je ne me rappelle plus comment il faut faire.
| J'ai une base de données adhérents et je voudrai faire une lettre de
| relance en publipostage pour inviter les adhérents 2006 qui n'ont pas pris
| leur timbre à le faire en 2007.


Ta relation n'est pas bonne entre Adhérents" et "Adhésions"

J'imagine que dans la table "Adhésions" tu ajoute un enregistrement
à chaque année de cotisation (timbre ;-)

Il faut donc corriger pour en faire une relation "un à plusieurs"

Ensuite, tu fait un regroupement et un Max sur "Année" de Adhésion.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
jourdelan
"3stone" a écrit dans le message de news:
%
Salut,

"jourdelan"
| je ne suis pas sur de ne pas avoir déjà posé cette question, pardonnez
moi !
| De toute façon je ne me rappelle plus comment il faut faire.
| J'ai une base de données adhérents et je voudrai faire une lettre de
| relance en publipostage pour inviter les adhérents 2006 qui n'ont pas
pris
| leur timbre à le faire en 2007.


Ta relation n'est pas bonne entre Adhérents" et "Adhésions"

J'imagine que dans la table "Adhésions" tu ajoute un enregistrement
à chaque année de cotisation (timbre ;-)


Oui !

Il faut donc corriger pour en faire une relation "un à plusieurs"


Quand je regarde les relations c'est déjà comme ça ?

http://cjoint.com/?bvkU3gdByc

Ensuite, tu fait un regroupement et un Max sur "Année" de Adhésion.


Le pas à pas s'il te plait, car je ne sais pas faire, je suis allé dans
l'aide, il me parle de Maxrecord mais ne sachant pas le visual basic ou
puis-je le trouver dans propriétés.

http://cjoint.com/?bvk1KszxxX

Merci à nouveau pour ce coup de pouce .





A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Avatar
3stone
Salut,

"jourdelan"
| Quand je regarde les relations c'est déjà comme ça ?
|
| http://cjoint.com/?bvkU3gdByc

Coche encore
"Appliquer l'intégrité référentielle" et "Mettre à jour en cascade..."



| > Ensuite, tu fait un regroupement et un Max sur "Année" de Adhésion.
|
| Le pas à pas s'il te plait, car je ne sais pas faire, je suis allé dans
| l'aide, il me parle de Maxrecord mais ne sachant pas le visual basic ou
| puis-je le trouver dans propriétés.
|
| http://cjoint.com/?bvk1KszxxX


Supprime la colonne (le champ) "adhésion" de la table adhésion
et dans la colonne "année" remplace Regroupement par Max.


PS:
- Pour simplifier l'écriture des futures requêtes, il est bon de ne pas utiliser
des caractères spéciaux et/ou accentués dans le nom des champs, tables,
formulaires et autres objets...

NomAdherent de la table tblAdherents est parfaitement lisible et le sera
encore après une longue période de "repos".

- Ton critère "2006 ou 2007" peut être remplacé par
">= Year(Date())-1" sans les guillemets !
pour signifier que tu veux ceux de l'année précédente et l'année en cours.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
jourdelan
"3stone" a écrit dans le message de news:

Salut,

"jourdelan"
| Quand je regarde les relations c'est déjà comme ça ?
|
| http://cjoint.com/?bvkU3gdByc

Coche encore
"Appliquer l'intégrité référentielle" et "Mettre à jour en cascade..."



| > Ensuite, tu fait un regroupement et un Max sur "Année" de Adhésion.
|
| Le pas à pas s'il te plait, car je ne sais pas faire, je suis allé dans
| l'aide, il me parle de Maxrecord mais ne sachant pas le visual basic ou
| puis-je le trouver dans propriétés.
|
| http://cjoint.com/?bvk1KszxxX


Supprime la colonne (le champ) "adhésion" de la table adhésion
et dans la colonne "année" remplace Regroupement par Max.


PS:
- Pour simplifier l'écriture des futures requêtes, il est bon de ne pas
utiliser
des caractères spéciaux et/ou accentués dans le nom des champs, tables,
formulaires et autres objets...

NomAdherent de la table tblAdherents est parfaitement lisible et le sera
encore après une longue période de "repos".

- Ton critère "2006 ou 2007" peut être remplacé par
">= Year(Date())-1" sans les guillemets !
pour signifier que tu veux ceux de l'année précédente et l'année en
cours.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
jourdelan
"3stone" a écrit dans le message de news:


Bonsoir,
j'ai fait ce que tu m'as indiqué, mais cela me donne comme résultat :
l'année 2006 plus l'année 2007, ce que je souhaite obtenir, c'est 2006 moins
2007, c'est cette fraction d'adhérents qui m'intéresse pour les relancer.
Merci
Il me refuse l'intégrité référentielle ?
http://cjoint.com/?bvsYUMWvrQ
Je ne peux pas ecommencer ma base, j'ai plus de 1200 adhérents, à moins
qu'il y ait une possibikité de réparation ?
Avatar
3stone
re,

"jourdelan"
| j'ai fait ce que tu m'as indiqué, mais cela me donne comme résultat :
| l'année 2006 plus l'année 2007, ce que je souhaite obtenir, c'est 2006 moins
| 2007, c'est cette fraction d'adhérents qui m'intéresse pour les relancer.


unique ceux qui ont 2006, mais pas encore 2007 ?

donc le Max et comme critère

06

ou

= Year(Date())-1



| Il me refuse l'intégrité référentielle ?
| http://cjoint.com/?bvsYUMWvrQ
| Je ne peux pas ecommencer ma base, j'ai plus de 1200 adhérents, à moins
| qu'il y ait une possibikité de réparation ?

Cela semnle clair :
tu as des adhésion.refadhérent qui n'existe pas dans adhérent.refadherent
c'est bien pourquoi il faut cocher cela au départ.

Pour les trouver, tu peux faire une requête en choisissant le champ refadherant
dans les deux tables
et pour la relation... "tous" de la table adhésion.refadherent
et comme critère pour adhérents.refadherent tu mets NULL

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
jourdelan
"3stone" a écrit dans le message de news:
%


unique ceux qui ont 2006, mais pas encore 2007 ?


C'est exactement ça ils ont pris leur timbre en 2006 et pas encore 2007 !

donc le Max et comme critère

06

ou

= Year(Date())-1


Ça fonctionne, merci beaucoup, je vais pouvoir lancer mon publipostage .
:-)

| Il me refuse l'intégrité référentielle ?
| http://cjoint.com/?bvsYUMWvrQ
| Je ne peux pas ecommencer ma base, j'ai plus de 1200 adhérents, à moins
| qu'il y ait une possibikité de réparation ?

Cela semnle clair :
tu as des adhésion.refadhérent qui n'existe pas dans adhérent.refadherent
c'est bien pourquoi il faut cocher cela au départ.




Pour les trouver, tu peux faire une requête en choisissant le champ
refadherant
dans les deux tables
et pour la relation... "tous" de la table adhésion.refadherent
et comme critère pour adhérents.refadherent tu mets NULL



Je vais le mettre sous le coude car pour l'instant je ne suis pas sur d'y
arriver si après je casse tout.
Déjà tu m'as rendu un fier service !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/