{Access} Impression
Résolu/Fermé
Gibbs57
Messages postés
4
Date d'inscription
mardi 5 janvier 2010
Statut
Membre
Dernière intervention
6 janvier 2010
-
5 janv. 2010 à 15:32
Gibbs57 Messages postés 4 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 janvier 2010 - 6 janv. 2010 à 07:04
Gibbs57 Messages postés 4 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 janvier 2010 - 6 janv. 2010 à 07:04
A voir également:
- {Access} Impression
- Spouleur d'impression - Guide
- Logiciel impression photo - Télécharger - Albums photo
- Fatima a lancé l'impression de plusieurs documents, mais elle se rend compte qu'il n'y a presque plus d'encre dans l'imprimante. elle décide alors de n'imprimer que son cv, en un seul exemplaire. faites les opérations nécessaires dans le gestionnaire d'impression ci-dessous. ✓ - Forum Word
- Impression livret a5 - Guide
- Acer quick access - Forum Logiciels
5 réponses
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
5 janv. 2010 à 15:58
5 janv. 2010 à 15:58
Salut,
quand remets-tu à 0 ton champ checkcarte ?
je n'arrive pas à sélectionner les membres devant se mettre en ordre à l'échéance
Qu'appelles-tu "se mettre en ordre à l'échéance" ?
quand remets-tu à 0 ton champ checkcarte ?
je n'arrive pas à sélectionner les membres devant se mettre en ordre à l'échéance
Qu'appelles-tu "se mettre en ordre à l'échéance" ?
Gibbs57
Messages postés
4
Date d'inscription
mardi 5 janvier 2010
Statut
Membre
Dernière intervention
6 janvier 2010
5 janv. 2010 à 16:15
5 janv. 2010 à 16:15
Salut Blux,
Merci de te pencher sur mon problème.
Dans l'absolu, je n'ai pas besoin de remettre mon "checkcarte" à 0 puisque celui-ci gère l'impression de la première carte de membre du nouveau membre qui se présente au club.
Tous les ans, à la date d'échéance, il faudrait imprimer une nouvelle carte de membre. Pour cela, j'ai prévu un champ date "Date de renouvellement" qui devrait être incrémenté d'un an avant impression de la nouvelle carte de membre (c'est la mise en ordre à l'échéance).
Je vois un truc du genre : Une requête me donnant les gens arrivés à échéance :
SELECT TMembre.NumInscription, TMembre.DateRenouvellement, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville
FROM TMembre
WHERE (((TMembre.DateRenouvellement)=Date()));
Un formulaire basé sur cette requête, un double clic sur l'enregistrement de la personne qui vient se mettre en ordre (et qui figure sur cette liste), un marquage quelconque sur le formulaire principal, mise à jour de la date de renouvellement + 1 an et impression de la carte de membre (facile à dire mais pour le faire, aïe aïe aïe ....)
Ceci est l'idée d'un gros novice et il y a beaucoup de chances que je me mette le doigt dans l'oeil ... ;o)
J'avoue que je pédale sérieusement, je ne trouve rien de bien convainquant, mes connaissances en VBA et SQL sont plus que limitées.
Encore un grand merci
Merci de te pencher sur mon problème.
Dans l'absolu, je n'ai pas besoin de remettre mon "checkcarte" à 0 puisque celui-ci gère l'impression de la première carte de membre du nouveau membre qui se présente au club.
Tous les ans, à la date d'échéance, il faudrait imprimer une nouvelle carte de membre. Pour cela, j'ai prévu un champ date "Date de renouvellement" qui devrait être incrémenté d'un an avant impression de la nouvelle carte de membre (c'est la mise en ordre à l'échéance).
Je vois un truc du genre : Une requête me donnant les gens arrivés à échéance :
SELECT TMembre.NumInscription, TMembre.DateRenouvellement, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville
FROM TMembre
WHERE (((TMembre.DateRenouvellement)=Date()));
Un formulaire basé sur cette requête, un double clic sur l'enregistrement de la personne qui vient se mettre en ordre (et qui figure sur cette liste), un marquage quelconque sur le formulaire principal, mise à jour de la date de renouvellement + 1 an et impression de la carte de membre (facile à dire mais pour le faire, aïe aïe aïe ....)
Ceci est l'idée d'un gros novice et il y a beaucoup de chances que je me mette le doigt dans l'oeil ... ;o)
J'avoue que je pédale sérieusement, je ne trouve rien de bien convainquant, mes connaissances en VBA et SQL sont plus que limitées.
Encore un grand merci
blux
Messages postés
26531
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
16 décembre 2024
3 317
5 janv. 2010 à 17:09
5 janv. 2010 à 17:09
Le mieux n'est pas de faire comme ça, mais de faire à l'envers, je m'explique :
Tu as une date d'inscription rattachée à chaque membre, il faut donc à chaque anniversaire imprimer une nouvelle carte, mais il y a un souci : imaginons qu'on ne passe pas de traitement tous les jours pour éditer les nouvelles cartes, celles qu'on a oubliées ne seront pas éditées.
Donc, l'astuce consiste à ne pas marquer la date de renouvellement, mais à mettre un top d'édition dans la base lorsque la carte est imprimée. ce top sera remis à zéro une fois l'an (à la première ouverture de la base, par exemple).
Ensuite, il te suffit de créer un bouton qui va sélectionner les adhérents qui ont un top à 0 et une date d'inscription inférieure à la date du jour, en ne testant bien sûr que le jour et le mois.
Tu as une date d'inscription rattachée à chaque membre, il faut donc à chaque anniversaire imprimer une nouvelle carte, mais il y a un souci : imaginons qu'on ne passe pas de traitement tous les jours pour éditer les nouvelles cartes, celles qu'on a oubliées ne seront pas éditées.
Donc, l'astuce consiste à ne pas marquer la date de renouvellement, mais à mettre un top d'édition dans la base lorsque la carte est imprimée. ce top sera remis à zéro une fois l'an (à la première ouverture de la base, par exemple).
Ensuite, il te suffit de créer un bouton qui va sélectionner les adhérents qui ont un top à 0 et une date d'inscription inférieure à la date du jour, en ne testant bien sûr que le jour et le mois.
Gibbs57
Messages postés
4
Date d'inscription
mardi 5 janvier 2010
Statut
Membre
Dernière intervention
6 janvier 2010
5 janv. 2010 à 18:05
5 janv. 2010 à 18:05
Desolé Blux mais je ne comprends pas, enfin si mais comment mettre ça en oeuvre. Si je savais déjà ce qu'est un top d'étidion, ça m'aiderait :o))))) (ha oui, j'avais prévenu que je suis nul, faut pas se plaindre ;o))) )
Purée à force de chercher je fini pas ne plus rien percuter du tout ...
Bonne soirée et merci ;o)
Purée à force de chercher je fini pas ne plus rien percuter du tout ...
Bonne soirée et merci ;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gibbs57
Messages postés
4
Date d'inscription
mardi 5 janvier 2010
Statut
Membre
Dernière intervention
6 janvier 2010
6 janv. 2010 à 07:04
6 janv. 2010 à 07:04
Bonjour Blux,
Bonjour tout le monde,
Alors voilà, le problème est résolu de la manière suivante :
Une requête pour afficher les membres arrivés à échéance :
SELECT TMembre.NumInscription, TMembre.DateRenouv, TMembre.Montant, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville, TMembre.CheckRenouv
FROM TMembre
WHERE (((TMembre.DateRenouv)<Date()));
Un formulaire lié à cette requête qui s'affiche à l'ouverture de la base de données.
L'utilisateur modifie la date de renouvellement et coche la case "CheckRenouv" dans ce formulaire - Mise à jour du formulaire dans l'évènement AFTERUPDATE du champ CheckRenouv.
Une nouvelle requête pour imprimer mes cartes de membre:
SELECT TMembre.NumInscription, TMembre.DateRenouv, TMembre.Montant, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville, TMembre.CheckRenouv
FROM TMembre
WHERE (((TMembre.CheckRenouv)=-1));
Un état ImprimRenouv en mode aperçu basé sur cette requête.
Et sur la fermeture de cet état, remise du CheckRenouv à 0
DoCmd.RunSQL "UPDATE TMembre SET checkrenouv = 0;", 0
Et voilà une affaire qui roule. Bon, je n'ai certainement pas choisi le chemin le plus court mais ça fonctionne, c'est le principal.
Mille mercis Blux, tu m'as mis sur la route, il fallait simplement que mon neurone comprenne ;o)
Bonne journée et mes meilleurs voeux pour cette nouvelle année.
Bonjour tout le monde,
Alors voilà, le problème est résolu de la manière suivante :
Une requête pour afficher les membres arrivés à échéance :
SELECT TMembre.NumInscription, TMembre.DateRenouv, TMembre.Montant, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville, TMembre.CheckRenouv
FROM TMembre
WHERE (((TMembre.DateRenouv)<Date()));
Un formulaire lié à cette requête qui s'affiche à l'ouverture de la base de données.
L'utilisateur modifie la date de renouvellement et coche la case "CheckRenouv" dans ce formulaire - Mise à jour du formulaire dans l'évènement AFTERUPDATE du champ CheckRenouv.
Une nouvelle requête pour imprimer mes cartes de membre:
SELECT TMembre.NumInscription, TMembre.DateRenouv, TMembre.Montant, TMembre.NomMembre, TMembre.Prenom, TMembre.Adresse, TMembre.CP, TMembre.Ville, TMembre.CheckRenouv
FROM TMembre
WHERE (((TMembre.CheckRenouv)=-1));
Un état ImprimRenouv en mode aperçu basé sur cette requête.
Et sur la fermeture de cet état, remise du CheckRenouv à 0
DoCmd.RunSQL "UPDATE TMembre SET checkrenouv = 0;", 0
Et voilà une affaire qui roule. Bon, je n'ai certainement pas choisi le chemin le plus court mais ça fonctionne, c'est le principal.
Mille mercis Blux, tu m'as mis sur la route, il fallait simplement que mon neurone comprenne ;o)
Bonne journée et mes meilleurs voeux pour cette nouvelle année.