donc ma requete d'origine je la modifie et j essaie d'y rajouter le fait d'afficher pour un salarié et un employeur donnés tous les postes affectés au salarié non liés à l'entreprise de l'employeur
donc ma requete d'origine je la modifie et j essaie d'y rajouter le fait d'afficher pour un salarié et un employeur donnés tous les postes affectés au salarié non liés à l'entreprise de l'employeur
exactement
Si cette requête est la source du sous-formulaire, modifie la au niveau de la source du sous-formulaire. sinon modifie la requête preincipale
je viens de m’apercevoir que j'ai un soucis avec mon filtre dans le module d'envoi des pièce jointes aux entreprise.
j'ai applique le même code que pour le module d'envoi de mail aux salariés:
Lorsqu'un salarié est nommé sur 3 entreprises le pdf généré et envoyé a chaque entreprise ( exemple entreprise A ) contient 3 pages au lieu d'une, les 2 autres pages sont évidemment les info des deux autres entreprises (Exemple B et C).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ' Parcourir toute la liste While Not rst.EOF ' Le nom du fichier varie en fonction de la personne strFichierPDF = StringFormat(strFichier, _ Format(rst("NUM"), "000"), _ rst("EnsNom"), _ rst("EnsPrénom")) ' Construire le filtre strFiltre = "[EnsCode] = " & rst("EnsCode")
Cela rejoint mon problème précédent je pense quelle filtre ou tri appliqué je suis perdu
EDIT:
j'ai essayé de faire cela mais j'ai une erreur 13 incompatibilité de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 strFiltre = "[EnsCode] = " & rst("EnsCode") And "[num] = " & rst("num")
Reprend le problème à partir de ton état.
Il faut que, dans ton état (avant filtrage), apparaissent les informations exactes que tu veux faire apparaître.
Tu t'occuperas du problème dans le module d'envoi après, car il risque de disparaître si ta requête est correcte.
Oui c est ce que je me dit mais là je n' y arrive plus et cela doit être prêt lundi.
Il reste des petit détail mais ils sont bloquant pour la suite.
je n'arrive pas a voir comment faire dans ma requête pour trier en fonction de l entreprise et du salarié et surtout j'ai peur que cela modifie l'etat salarié qui lui est très bien et s'appuie sur la même requête.
Peux-tu nous communiquer le SQL de ta requête ?
Actuellement c est une requete simple qui selectionne des champ issue de 3 tables avec 2 jointures:
Ensuite avec cette requête je génère 2 états et un sous états
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Salaries.EnsCode, Salaries.ID, Salaries.EnsNom, Salaries.EnsPrénom, Salaries.PrioritéCode, Salaries.EnsDiscContrat, Salaries.EnsDisc1, Salaries.EnsEtabl1, Salaries.MailEtabl1, Salaries.EnsDisc2, Salaries.EnsEtabl2, Salaries.MailEtabl2, Salaries.EnsDisc3, Salaries.EnsEtabl3, Salaries.MailEtabl3, Salaries.EnsDisc4, Salaries.EnsEtabl4, Salaries.EnsTel1, Salaries.EnsTel2, CDE12maitest.DISC1, CDE12maitest.NUM, CDE12maitest.HOR1, CDE12maitest.ETAB, CDE12maitest.OBSERVATIONS, Etablissements.EtablTitrLongDir, Etablissements.EtablNomPrenDir, Etablissements.EtablMail FROM (Salaries INNER JOIN CDE12maitest ON Salaries.ID = CDE12maitest.[NOM PROPOSE]) INNER JOIN Etablissements ON CDE12maitest.ETAB = Etablissements.Etab;
Etat Salarié regrouper sur ID avec une mise en page et disposition des champs sur un document qui fait une page A4
Etat Entreprise non regroupé avec une mise en page et disposition des champs sur un document qui fait une page A4
sous état basique qui ressemble à l'état salarié regrouper sur ID avec 0 mise en page juste de l info brut et il est appeler dans une zone l'état entreprise afin de rappelle a l entreprise A que le salarié e st affecté également à B et C
EDIT :
La solution est dans le regroupement dans la requête ? j explore cette piste
Donc en fait, tu affiche pour chaque salariés toutes les entreprises pour qui il travaille (j'imagine que c'est le champ EnsEtabl1).
Pour un salarié, c'est effectivement le plus simple, car, pour un salarié donné, tu affiche l'ensemble des entreprises auxquels il est rattaché
Par contre pour une entreprise, il faut sélectionner l'ensemble des salariés qui travaillent pour elle, mais en affichant uniquement les autres entreprises pour lesquelles ces salariés travaillent.
Je pense que le plus simple serait de rajouter un filtre dans le sous-état pour ne sélectionner que les enregistrements dont l'entreprise est différente de celle figurant dans l'en-tête
En fait c est un peu plus complexe, il y a 3 tables une salarie et une entreprise et une de commission
Lors de la commission qui est la table cde12maitest un emploi qui est défini par un numéro unique (cde12maitest.num), est proposé par une entreprise (cde12maitest.ETAB) à un salarié (cde12maitest.NOM PROPOSE)
La première jointure se fait sur Salarie.ID et nom proposé cde12maitest.NOM PROPOSE afin de récupérer toutes les coordonnés du salarié.
La seconde se fait sur (cde12maitest.ETAB) et Etablisement.Etab afin de récupérer toutes les infos des entreprises.
A la fin de cette commission d'attribution une fois que nous avons entrer dans le champ (cde12maitest.NOM PROPOSE) les salariés la requete rassemble tout cela afin d'envoyer 2 documents:
Un document au salarié lui stipulant son ou ses nouveau postes le tout envoyer par mail.
Un document a l'entreprise lui stipulant que pour son poste identifié par son numéro (cde12maitest.num) un salarié lui à été affecté, avec dans ce document une variable si le salarié a d'autres postes il seront affiché.
Le tout envoyé par mail également.
Il reste un bug majeure lors de la génération du PDF pour l'envoi du document entreprise pour un salarié qui par exemple 3 postes, l'entreprise A reçoit un Pdf de 3 pages dont les pages destinées aux entreprises B et C.
Il reste une amélioration même si j'ai réussi par une bidouille a parvenir à mes fin. Faire en sorte que dans le document entreprise, toujours dans le cas ou le salarié à 3 postes, afficher dans le sous états qui rappel l’ensemble des postes uniquement les deux autres postes.
Actuellement les 3 sont affichés et par une bidouille de mise en forme conditionnelle je fait écrire en blanc sur fond blanc le poste évoquer dans l'état principal ce qui fait que sur le document au final on ne le voit pas
Pour reprendre ton message
ma requête affiche donc le résultat de la commission et mes états sont construit a partir de cette requête, comme je n'ai pas été claire dès le début cela ne permet pas de m'aider au mieux, en fait je génère des états en fonction d' un mouvement une sorte de mercato footballistiqueDonc en fait, tu affiche pour chaque salariés toutes les entreprises pour qui il travaille (j'imagine que c'est le champ EnsEtabl1).
Pour un salarié, c'est effectivement le plus simple, car, pour un salarié donné, tu affiche l'ensemble des entreprises auxquels il est rattaché
Par contre pour une entreprise, il faut sélectionner l'ensemble des salariés qui travaillent pour elle, mais en affichant uniquement les autres entreprises pour lesquelles ces salariés travaillent.
Je pense que le plus simple serait de rajouter un filtre dans le sous-état pour ne sélectionner que les enregistrements dont l'entreprise est différente de celle figurant dans l'en-tête
JE sait c est un peu tordu est ce que vous comprenez mieux la problématique ?
EDIT: Pour mon bug majeur puis je contourner le pb en disant d'imprimer que la 1ère page ? comment je peut mettre cela dans mon code VBA ?
C'est bon j'ai réussi a résoudre mon dernier bug majeur.
Dans mon code VBA qui envoi les PDF aux entreprises j'ai filtrer sur un autre champs unique à chaque enregistrement et cela permet bien de créer un pdf d'une page pour chaque entreprise.
Bonjour Gulian12,
Je viens de découvrir sur le site un tutoriel récent très bien fait qui traite en partie la gestion de publipostage et envois mails, ainsi que d'autres aspect important pour la mise en place de solutions professionnelles sous access. Voila, c'est ICI.
Merci beucoup dumas.blr pour toute ton aide
Grâce à toi j'ai pu améliorer la base de donnée existante que l'on m'avait transmit afin de faire gagner du temps à la personne s'occupant d'envoyer les documents. Cela a parfaitement fonctionner Mardi, nous avons découvert d'autres fonctionnalité intéressant à ajouter maic cela couvre 90-95 % de nos besoin pour le moment
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager