Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise à jour d'une liste de prix

11 réponses
Avatar
Francis
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents
pour chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa catégorie.
Telle que mon appli a été réalisée, cette màj se fait correctement, une
catégorie à la fois. Pour la beauté de la chose, j'aimerais que cette
opération se fasse en une seule passe, mais je n'y parviens pas. Alors,
je fais appel aux experts de ce forum pour me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis

--
Francis
fhgc@wanadoudou.fr
RÈGLE DE FLUGG
Plus est urgent le motif pour lequel tu es dans la file d'attente,
plus sera lent l'employé du guichet.

10 réponses

1 2
Avatar
Gloops
[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je n'ex clue
pas qu'à la faveur de ce week-end prolongé quelqu'un réussisse, en
s'accrochant un peu, à comprendre ce qui est classé où et ce qu'il y a
lieu de transférer où, mais l'impossibilité de clarifier ne m'appar aît
pas évidente.

Pour gérer des cotisations par catégorie, il y a différents shéma s
possibles selon les historiques que l'on veut conserver (appartenance
d'un adhérent à différentes catégories au fil du temps, montant d e la
cotisation pour différentes catégories au fil du temps, paiements
partiels ...)

Avant d'affiner selon la demande, je vais commencer par le plus simple,
celui où on ne souhaite pas conserver d'historique, et où on se conte nte
de savoir ce que doit payer chacun aujourd'hui et si il l'a déjà payé ou
pas.

pour chaque adhérent, on a un code de catégorie et une date de dernie r
paiement de cotisation (c'est le shéma le plus simple, attention avec ç a
on ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant de
cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en présent ant
en mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différen ts pour
chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa catégo rie.
Telle que mon appli a été réalisée, cette màj se fait correct ement, une
catégorie à la fois. Pour la beauté de la chose, j'aimerais que c ette
opération se fasse en une seule passe, mais je n'y parviens pas. Alor s,
je fais appel aux experts de ce forum pour me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisation s] ON
[tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]! [maj des
montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis



Avatar
Francis
Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon
problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les
autres 2%, c'est moi qui ai bidouillé son appli plus ou moins sans trop
savoir souvent où je m'engageais. Suite à mon post, Roger m'a répondu
que ce qu'il m'avait pondu devrait fonctionner comme je le souhaite.
Pourtant, ce qui va bien chez lui, ne va pas comme je le voudrais chez
moi. Bref, il y a des choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs sont
inscrits pour chaque adhérents dans la table des adhérents et que les
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en
un seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va
sans doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis

[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je n'exclue pas
qu'à la faveur de ce week-end prolongé quelqu'un réussisse, en s'accrochant
un peu, à comprendre ce qui est classé où et ce qu'il y a lieu de transférer
où, mais l'impossibilité de clarifier ne m'apparaît pas évidente.

Pour gérer des cotisations par catégorie, il y a différents shémas possibles
selon les historiques que l'on veut conserver (appartenance d'un adhérent à
différentes catégories au fil du temps, montant de la cotisation pour
différentes catégories au fil du temps, paiements partiels ...)

Avant d'affiner selon la demande, je vais commencer par le plus simple, celui
où on ne souhaite pas conserver d'historique, et où on se contente de savoir
ce que doit payer chacun aujourd'hui et si il l'a déjà payé ou pas.

pour chaque adhérent, on a un code de catégorie et une date de dernier
paiement de cotisation (c'est le shéma le plus simple, attention avec ça on
ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant de
cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en présentant en
mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents pour
chacune. Je dispose, par ailleurs, d'une table avec les prix correspondant
à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa catégorie.
Telle que mon appli a été réalisée, cette màj se fait correctement, une
catégorie à la fois. Pour la beauté de la chose, j'aimerais que cette
opération se fasse en une seule passe, mais je n'y parviens pas. Alors, je
fais appel aux experts de ce forum pour me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations] ON
[tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis




--
Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.


Avatar
Richard_35
Bonjour Francis,

Dans ta requête :
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie
SET [tbl des adhérents].cotisation_base = forms![maj des montants des
cotisations].cotisation_base, [tbl des adhérents].cotisation_FFV =
forms![maj des montants des cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

La mise à jour s'effectue à partir d'un formulaire de saisie "forms![maj
des montants des cotisations]" ; donc tu mets à jour "[tbl des
adhérents].cotisation_base" et "[tbl des adhérents].cotisation_FFV" à partir
de zones de saisie de ce formulaire, la clé étant aussi saisie
("[forms]![maj des montants des cotisations].[N°_catégorie]").

As-tu une table qui listerait, pour tous les "N° de catégorie", les
nouvelles "cotisation_base" et "cotisation_ffv" correspondantes ?

A bientôt,
Richard.

"Francis" a écrit dans le message de news:

Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon
problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les autres
2%, c'est moi qui ai bidouillé son appli plus ou moins sans trop savoir
souvent où je m'engageais. Suite à mon post, Roger m'a répondu que ce
qu'il m'avait pondu devrait fonctionner comme je le souhaite. Pourtant, ce
qui va bien chez lui, ne va pas comme je le voudrais chez moi. Bref, il y
a des choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs sont
inscrits pour chaque adhérents dans la table des adhérents et que les
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en un
seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va sans
doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis

[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je n'exclue
pas qu'à la faveur de ce week-end prolongé quelqu'un réussisse, en
s'accrochant un peu, à comprendre ce qui est classé où et ce qu'il y a
lieu de transférer où, mais l'impossibilité de clarifier ne m'apparaît
pas évidente.

Pour gérer des cotisations par catégorie, il y a différents shémas
possibles selon les historiques que l'on veut conserver (appartenance
d'un adhérent à différentes catégories au fil du temps, montant de la
cotisation pour différentes catégories au fil du temps, paiements
partiels ...)

Avant d'affiner selon la demande, je vais commencer par le plus simple,
celui où on ne souhaite pas conserver d'historique, et où on se contente
de savoir ce que doit payer chacun aujourd'hui et si il l'a déjà payé ou
pas.

pour chaque adhérent, on a un code de catégorie et une date de dernier
paiement de cotisation (c'est le shéma le plus simple, attention avec ça
on ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant de
cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en présentant en
mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents pour
chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa catégorie.
Telle que mon appli a été réalisée, cette màj se fait correctement, une
catégorie à la fois. Pour la beauté de la chose, j'aimerais que cette
opération se fasse en une seule passe, mais je n'y parviens pas. Alors,
je fais appel aux experts de ce forum pour me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations] ON
[tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis




--
Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.






Avatar
Gloops
Bon, comme je laissais entendre, on peut ajouter des tables avec des
dates pour sauvegarder les historiques, en l'occurrence ça pourrait bie n
prendre la forme d'une table des paiements, avec l'adhérent, le montant ,
la date.

Tu ne parles pas de conserver l'historique du montant de cotisation,
juste les paiements en plusieurs fois, donc la table à mettre à jour, me
semble-t-il, devrait contenir deux champs, soit la clef de catégorie et
le montant de la cotisation.

Avant de le faire, ça paraît tout simple.

Ce qui mérite d'être un peu plus fignolé, c'est comment on fait le total
de ce qui a été versé, et qu'on le remet à zéro une fois la cot isation
entièrement réglée. Une solution est d'avoir, en plus de la table d es
paiements en cours, la "date de cotisation à jour" dans la table des
adhérents.

Mais ça, ça me paraît séparé de la mise à jour du montant de cotisation.

Enfin là, par flemme de plonger dans le détail de ta requête, je pa rle
de ce que je suis en train de concevoir. Un peu comme si on me demandait
de mettre quelque chose sur l'étagère tout en haut, et que par flemme de
sortir l'escabeau je remarquais comme ça serait facile de fixer une
étagère là juste à côté.

Cela étant, je vois que Richard se penche déjà sur la question ...

______________________________________
Francis a écrit, le 08/05/2008 14:32 :
Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon probl ème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. L es
autres 2%, c'est moi qui ai bidouillé son appli plus ou moins sans tr op
savoir souvent où je m'engageais. Suite à mon post, Roger m'a rép ondu
que ce qu'il m'avait pondu devrait fonctionner comme je le souhaite.
Pourtant, ce qui va bien chez lui, ne va pas comme je le voudrais chez
moi. Bref, il y a des choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs son t
inscrits pour chaque adhérents dans la table des adhérents et que l es
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en
un seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va
sans doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis



Avatar
Francis
Bonjour Richard,

Bonjour Francis,

Dans ta requête :
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie
SET [tbl des adhérents].cotisation_base = forms![maj des montants des
cotisations].cotisation_base, [tbl des adhérents].cotisation_FFV = forms![maj
des montants des cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

La mise à jour s'effectue à partir d'un formulaire de saisie "forms![maj
des montants des cotisations]" ; donc tu mets à jour "[tbl des
adhérents].cotisation_base" et "[tbl des adhérents].cotisation_FFV" à partir
de zones de saisie de ce formulaire, la clé étant aussi saisie ("[forms]![maj
des montants des cotisations].[N°_catégorie]").


Je ne suis pas l'auteur de cette appli que j'utilise, mais je crois que
c'est bien ce formulaire qui est à la base des mises à jour. Ce
formulaire en question reprend d'ailleurs toutes les catégories et
c'est celle qui est sélectionnée qui verra ses prix remis à jour dans
ma base des adhérents. C'est ainsi qu'en les sélectionnant une à une,
tout se trouve mis à jour en fin de compte. Ça marche, c'est pas un
gros boulot, mais pour la beauté de la chose, je cherche à faire mieux.

As-tu une table qui listerait, pour tous les "N° de catégorie", les
nouvelles "cotisation_base" et "cotisation_ffv" correspondantes ?


Oui, j'ai cette table (rqt catégories et cotisations). Le formulaire
dont je parle plus haut ne fait guère que de visualiser cette table.

En espérant que ceci va t'inspirer,

Francis

A bientôt,
Richard.

"Francis" a écrit dans le message de news:

Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les autres
2%, c'est moi qui ai bidouillé son appli plus ou moins sans trop savoir
souvent où je m'engageais. Suite à mon post, Roger m'a répondu que ce qu'il
m'avait pondu devrait fonctionner comme je le souhaite. Pourtant, ce qui va
bien chez lui, ne va pas comme je le voudrais chez moi. Bref, il y a des
choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs sont
inscrits pour chaque adhérents dans la table des adhérents et que les
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en un
seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va sans
doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis

[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je n'exclue
pas qu'à la faveur de ce week-end prolongé quelqu'un réussisse, en
s'accrochant un peu, à comprendre ce qui est classé où et ce qu'il y a
lieu de transférer où, mais l'impossibilité de clarifier ne m'apparaît pas
évidente.

Pour gérer des cotisations par catégorie, il y a différents shémas
possibles selon les historiques que l'on veut conserver (appartenance d'un
adhérent à différentes catégories au fil du temps, montant de la
cotisation pour différentes catégories au fil du temps, paiements partiels
...)

Avant d'affiner selon la demande, je vais commencer par le plus simple,
celui où on ne souhaite pas conserver d'historique, et où on se contente
de savoir ce que doit payer chacun aujourd'hui et si il l'a déjà payé ou
pas.

pour chaque adhérent, on a un code de catégorie et une date de dernier
paiement de cotisation (c'est le shéma le plus simple, attention avec ça
on ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant de
cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en présentant en
mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents pour
chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa catégorie.
Telle que mon appli a été réalisée, cette màj se fait correctement, une
catégorie à la fois. Pour la beauté de la chose, j'aimerais que cette
opération se fasse en une seule passe, mais je n'y parviens pas. Alors,
je fais appel aux experts de ce forum pour me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations] ON
[tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis




-- Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.





--
Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.




Avatar
Francis
Gloops a utilisé son clavier pour écrire :
Bon, comme je laissais entendre, on peut ajouter des tables avec des dates
pour sauvegarder les historiques, en l'occurrence ça pourrait bien prendre la
forme d'une table des paiements, avec l'adhérent, le montant, la date.


Les historiques des paiements sont conservés dans une autre table qui
ne s'occupe que du paiement des cotisations, et qu'on peut donc
conserver aussi longtemps qu'on le souhaite.
La table des adhérents n'est concernée que par l'année en cours, pour
les montants normalement dûs.

Tu ne parles pas de conserver l'historique du montant de cotisation, juste
les paiements en plusieurs fois, donc la table à mettre à jour, me
semble-t-il, devrait contenir deux champs, soit la clef de catégorie et le
montant de la cotisation.


C'est bien le cas. Il y a la clé de la catégorie, et le montant de la
cotisation pour le club, plus celui de la licence pour la FFV.

Avant de le faire, ça paraît tout simple.


C'est toujours simple quand on sait faire... :-). ce qui n'est pas mon
cas :-(

Ce qui mérite d'être un peu plus fignolé, c'est comment on fait le total de
ce qui a été versé, et qu'on le remet à zéro une fois la cotisation
entièrement réglée. Une solution est d'avoir, en plus de la table des
paiements en cours, la "date de cotisation à jour" dans la table des
adhérents.


Ça, ça marche bien. Je ne vais pas t'expliquer comment Roger s'y est
pris, mais c'est au poil.

Mais ça, ça me paraît séparé de la mise à jour du montant de cotisation.


Toutafé

Merci et @+

Francis

Enfin là, par flemme de plonger dans le détail de ta requête, je parle de ce
que je suis en train de concevoir. Un peu comme si on me demandait de mettre
quelque chose sur l'étagère tout en haut, et que par flemme de sortir
l'escabeau je remarquais comme ça serait facile de fixer une étagère là juste
à côté.

Cela étant, je vois que Richard se penche déjà sur la question ...

______________________________________
Francis a écrit, le 08/05/2008 14:32 :
Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les autres
2%, c'est moi qui ai bidouillé son appli plus ou moins sans trop savoir
souvent où je m'engageais. Suite à mon post, Roger m'a répondu que ce qu'il
m'avait pondu devrait fonctionner comme je le souhaite. Pourtant, ce qui va
bien chez lui, ne va pas comme je le voudrais chez moi. Bref, il y a des
choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs sont
inscrits pour chaque adhérents dans la table des adhérents et que les
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en un
seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va sans
doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis




--
Francis

PRINCIPE DE RUBY
La probabilité de rencontrer une personne de ta connaissance augmente
quand tu es avec quelqu'un avec qui tu ne veux pas être vu.


Avatar
Richard_35
(re) Bonjour,

Alors, le formulaire sert à te permettre de contrôler, visuellement, le
résultat de ta mise à jour de masse pour un "N°_catégorie" donné.

Si tu veux by-passer ce contrôle et effectuer une mise à jour de masse
pour tous les "N°_catégorie", il faut, simplement, remplacer la chaîne de
caractères "[forms]![maj des montants des cotisations]" par la chaîne de
caractères "[rqt catégories et cotisations]".
Cela suppose que le nom des champs du "form" sont les mêmes que ceux de
la table.
Je te conseille de conserver la requête initiale, on ne sait jamais...

Tu peux, aussi, créer, de toute pièce, par l'assistant, une requête
"mise à jour" qui lierait tes 2 tables ; à toi, ensuite, de compléter pour
la mise à jour.

Dis-nous et bon courage,
Richard.

"Francis" a écrit dans le message de news:

Bonjour Richard,

Bonjour Francis,

Dans ta requête :
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie
SET [tbl des adhérents].cotisation_base = forms![maj des montants des
cotisations].cotisation_base, [tbl des adhérents].cotisation_FFV =
forms![maj des montants des cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj des
montants des cotisations].[N°_catégorie]));

La mise à jour s'effectue à partir d'un formulaire de saisie
"forms![maj des montants des cotisations]" ; donc tu mets à jour "[tbl
des adhérents].cotisation_base" et "[tbl des adhérents].cotisation_FFV" à
partir de zones de saisie de ce formulaire, la clé étant aussi saisie
("[forms]![maj des montants des cotisations].[N°_catégorie]").


Je ne suis pas l'auteur de cette appli que j'utilise, mais je crois que
c'est bien ce formulaire qui est à la base des mises à jour. Ce formulaire
en question reprend d'ailleurs toutes les catégories et c'est celle qui
est sélectionnée qui verra ses prix remis à jour dans ma base des
adhérents. C'est ainsi qu'en les sélectionnant une à une, tout se trouve
mis à jour en fin de compte. Ça marche, c'est pas un gros boulot, mais
pour la beauté de la chose, je cherche à faire mieux.

As-tu une table qui listerait, pour tous les "N° de catégorie", les
nouvelles "cotisation_base" et "cotisation_ffv" correspondantes ?


Oui, j'ai cette table (rqt catégories et cotisations). Le formulaire dont
je parle plus haut ne fait guère que de visualiser cette table.

En espérant que ceci va t'inspirer,

Francis

A bientôt,
Richard.

"Francis" a écrit dans le message de news:

Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon
problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les
autres 2%, c'est moi qui ai bidouillé son appli plus ou moins sans trop
savoir souvent où je m'engageais. Suite à mon post, Roger m'a répondu
que ce qu'il m'avait pondu devrait fonctionner comme je le souhaite.
Pourtant, ce qui va bien chez lui, ne va pas comme je le voudrais chez
moi. Bref, il y a des choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois. Ça
doit peut-être tenir au fait que les montants "normalement" dûs sont
inscrits pour chaque adhérents dans la table des adhérents et que les
montants effectivement payés sont gérés dans une autre table. Et c'est
précisément ces montants "normalement dûs" que je veux mettre à jour en
un seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va
sans doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis

[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je n'exclue
pas qu'à la faveur de ce week-end prolongé quelqu'un réussisse, en
s'accrochant un peu, à comprendre ce qui est classé où et ce qu'il y a
lieu de transférer où, mais l'impossibilité de clarifier ne m'apparaît
pas évidente.

Pour gérer des cotisations par catégorie, il y a différents shémas
possibles selon les historiques que l'on veut conserver (appartenance
d'un adhérent à différentes catégories au fil du temps, montant de la
cotisation pour différentes catégories au fil du temps, paiements
partiels ...)

Avant d'affiner selon la demande, je vais commencer par le plus simple,
celui où on ne souhaite pas conserver d'historique, et où on se
contente de savoir ce que doit payer chacun aujourd'hui et si il l'a
déjà payé ou pas.

pour chaque adhérent, on a un code de catégorie et une date de dernier
paiement de cotisation (c'est le shéma le plus simple, attention avec
ça on ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant de
cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en présentant
en mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents
pour chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents, en y
incorporant les montants qui correspondent à chacun selon sa
catégorie. Telle que mon appli a été réalisée, cette màj se fait
correctement, une catégorie à la fois. Pour la beauté de la chose,
j'aimerais que cette opération se fasse en une seule passe, mais je
n'y parviens pas. Alors, je fais appel aux experts de ce forum pour me
venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie SET [tbl des adhérents].cotisation_base =
forms![maj des montants des cotisations].cotisation_base, [tbl des
adhérents].cotisation_FFV = forms![maj des montants des
cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj
des montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis




-- Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.





--
Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.








Avatar
Eric
Bonjour Francis,

A essayer sur une copie des tables et à adapter avec les vrais noms des
tables et champs:

UPDATE Adherent A INNER JOIN Categorie C
ON A.NumCategorie = C.NumCategorie
SET A.CotisationBase = C.CotisationBase,
A.CotisationFFV = C.CotisationFFV;

Bonjour Richard,

Bonjour Francis,

Dans ta requête :
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et cotisations]
ON [tbl des adhérents].num_catégorie = [rqt catégories et
cotisations].N°_catégorie
SET [tbl des adhérents].cotisation_base = forms![maj des montants des
cotisations].cotisation_base, [tbl des adhérents].cotisation_FFV =
forms![maj des montants des cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj
des montants des cotisations].[N°_catégorie]));

La mise à jour s'effectue à partir d'un formulaire de saisie
"forms![maj des montants des cotisations]" ; donc tu mets à jour "[tbl
des adhérents].cotisation_base" et "[tbl des
adhérents].cotisation_FFV" à partir de zones de saisie de ce
formulaire, la clé étant aussi saisie ("[forms]![maj des montants des
cotisations].[N°_catégorie]").


Je ne suis pas l'auteur de cette appli que j'utilise, mais je crois que
c'est bien ce formulaire qui est à la base des mises à jour. Ce
formulaire en question reprend d'ailleurs toutes les catégories et c'est
celle qui est sélectionnée qui verra ses prix remis à jour dans ma base
des adhérents. C'est ainsi qu'en les sélectionnant une à une, tout se
trouve mis à jour en fin de compte. Ça marche, c'est pas un gros boulot,
mais pour la beauté de la chose, je cherche à faire mieux.

As-tu une table qui listerait, pour tous les "N° de catégorie",
les nouvelles "cotisation_base" et "cotisation_ffv" correspondantes ?


Oui, j'ai cette table (rqt catégories et cotisations). Le formulaire
dont je parle plus haut ne fait guère que de visualiser cette table.

En espérant que ceci va t'inspirer,

Francis

A bientôt,
Richard.

"Francis" a écrit dans le message de news:

Merci beaucoup, Gloops, de te pencher, cette fois encore, sur mon
problème.
En fait, c'est Roger "le méruvien" qui a conçu à 98% mon appli. Les
autres 2%, c'est moi qui ai bidouillé son appli plus ou moins sans
trop savoir souvent où je m'engageais. Suite à mon post, Roger m'a
répondu que ce qu'il m'avait pondu devrait fonctionner comme je le
souhaite. Pourtant, ce qui va bien chez lui, ne va pas comme je le
voudrais chez moi. Bref, il y a des choses à éclaircir entre nous deux.
Sinon, ce qu'il m'a fait, ça permet les paiements en plusieurs fois.
Ça doit peut-être tenir au fait que les montants "normalement" dûs
sont inscrits pour chaque adhérents dans la table des adhérents et
que les montants effectivement payés sont gérés dans une autre table.
Et c'est précisément ces montants "normalement dûs" que je veux
mettre à jour en un seul passage.
Bon, si ça t'inspire, tant mieux. Sinon, y a pas le feu, car Roger va
sans doute m'aider à trouver où ça "beugue" chez moi.
@+
Francis

[Montants des cotisations d'une association par catégories]

Bonjour,

Le problème, avec ça, c'est qu'on a du mal à s'y retrouver. Je
n'exclue pas qu'à la faveur de ce week-end prolongé quelqu'un
réussisse, en s'accrochant un peu, à comprendre ce qui est classé où
et ce qu'il y a lieu de transférer où, mais l'impossibilité de
clarifier ne m'apparaît pas évidente.

Pour gérer des cotisations par catégorie, il y a différents shémas
possibles selon les historiques que l'on veut conserver
(appartenance d'un adhérent à différentes catégories au fil du
temps, montant de la cotisation pour différentes catégories au fil
du temps, paiements partiels ...)

Avant d'affiner selon la demande, je vais commencer par le plus
simple, celui où on ne souhaite pas conserver d'historique, et où on
se contente de savoir ce que doit payer chacun aujourd'hui et si il
l'a déjà payé ou pas.

pour chaque adhérent, on a un code de catégorie et une date de
dernier paiement de cotisation (c'est le shéma le plus simple,
attention avec ça on ne peut pas payer sa cotisation en plusieurs fois)

pour chaque catégorie on a le même code de catégorie, et un montant
de cotisation.

Avec un peu plus de formalisme :
[tabAdherent]:
adhNumero
adhPrenom
adhNom
adhDateCotis
catCle

[tabCategorie]:
catCle
catMontant

Pour savoir ce que doit Jacques, l'adhérent 48572 :
SELECT tabAdherent.*, tabCategorie.*
FROM tabAdherent JOIN tabCategorie
ON tabAdherent.catClef = tabCategorie.catClef
WHERE adhNumero = 48572;

La mise à jour des cotisations se fait en un seul écran, en
présentant en mode table un formulaire basé sur la table tabCategorie.

______________________________________
Francis a écrit, le 07/05/2008 22:13 :
Bonjour/Bonsoir TLM,
Dans l'association dont je suis le trésorier, j'ai une dizaine de
catégories d'adhérents, avec des montants de cotisations différents
pour chacune. Je dispose, par ailleurs, d'une table avec les prix
correspondant à chaque catégorie d'adhérent.
Une fois par an, j'ai besoin d'actualiser ma table des adhérents,
en y incorporant les montants qui correspondent à chacun selon sa
catégorie. Telle que mon appli a été réalisée, cette màj se fait
correctement, une catégorie à la fois. Pour la beauté de la chose,
j'aimerais que cette opération se fasse en une seule passe, mais je
n'y parviens pas. Alors, je fais appel aux experts de ce forum pour
me venir en aide.
Ci-après, voici la requête qui existe à présent:
UPDATE [tbl des adhérents] INNER JOIN [rqt catégories et
cotisations] ON [tbl des adhérents].num_catégorie = [rqt catégories
et cotisations].N°_catégorie SET [tbl des
adhérents].cotisation_base = forms![maj des montants des
cotisations].cotisation_base, [tbl des adhérents].cotisation_FFV =
forms![maj des montants des cotisations].cotisation_ffv
WHERE ((([rqt catégories et cotisations].N°_catégorie)=[forms]![maj
des montants des cotisations].[N°_catégorie]));

Merci pour les coups de main à venir,

Francis




-- Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Eric
.../...
Qu'est ce qu'on ne ferait pas pour un voileux ;-)

Private Sub Commande0_Click()
Dim Message As String, intBouton As Integer
Dim strSQL As String
Message = "Mise à jour des cotisations"
intBouton = vbCritical + vbDefaultButton2 + vbYesNo
If MsgBox(Message, intBouton) = vbYes Then
strSQL = "UPDATE Adherent A INNER JOIN Categorie C " & _
"ON A.NumCategorie = C.NumCategorie " & _
"SET A.CotisationBase = C.CotisationBase, " & _
"A.CotisationFFV = C.CotisationFFV;"
CurrentDb.Execute strSQL
Else
MsgBox "Opération annulée", vbInformation
End If
End Sub

PS : adapter les noms

Bonjour Francis,

A essayer sur une copie des tables et à adapter avec les vrais noms des
tables et champs:

UPDATE Adherent A INNER JOIN Categorie C
ON A.NumCategorie = C.NumCategorie
SET A.CotisationBase = C.CotisationBase,
A.CotisationFFV = C.CotisationFFV;



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Francis
Eric a présenté l'énoncé suivant :
.../...
Qu'est ce qu'on ne ferait pas pour un voileux ;-)

Private Sub Commande0_Click()
Dim Message As String, intBouton As Integer
Dim strSQL As String
Message = "Mise à jour des cotisations"
intBouton = vbCritical + vbDefaultButton2 + vbYesNo
If MsgBox(Message, intBouton) = vbYes Then
strSQL = "UPDATE Adherent A INNER JOIN Categorie C " & _
"ON A.NumCategorie = C.NumCategorie " & _
"SET A.CotisationBase = C.CotisationBase, " & _
"A.CotisationFFV = C.CotisationFFV;"
CurrentDb.Execute strSQL
Else
MsgBox "Opération annulée", vbInformation
End If
End Sub

PS : adapter les noms

Bonjour Francis,

A essayer sur une copie des tables et à adapter avec les vrais noms des
tables et champs:

UPDATE Adherent A INNER JOIN Categorie C
ON A.NumCategorie = C.NumCategorie
SET A.CotisationBase = C.CotisationBase,
A.CotisationFFV = C.CotisationFFV;




Bonsoir Eric,
Ça, c'est la vraie solidarité des gens de mer. J'apprécie :-)
Merci pour le coup de pouce. J'essaierai de trouver un moment ce soir
pour approfondir.
Je te tiens au courant,

Francis

PS: Merci aussi à Richard et à Gloops. Pour le moment, je suis un peu à
la bourre

--
Francis

LOI DE MOSES
C'est quand on ne regarde pas que le but est marqué.


1 2