|
Sujet n°282 |
Etat: 1 spool/regroupement + emailing fichier txt/regeroupement
par lviollet
le 22/10/2009 : 00:28 |
Bonjour,
je cherche un moyen de creer un spool par regroupement depuis un etat qui comporte des groupes.
En d'autre terme, j'ai un etat avec la liste des clients avec leurs commandes. Quand je lance l'etat j'obtient un fichier de spool pour l'ensemble des clients. J'aimerais avoir autant de fichier spool que de clients.
Puis, j'aimerais faire la meme chose avec un emailing ayant un fichier attache en text au format csv de l'etat par client. J'ai vu la methode pour faire le mail (articles.php?lng=fr&pg=89) mais il me manque la creation du fichier texte depuis un etat.
Merci de votre aide.
Laurent viollet |
Réponse n° 1 |
par 3Stone le 22/10/2009 : 01:42 |
Bonjour,
Pour faire un état par client, un peu de VBA est nécessaire
D'abord, créer une requête "LaRequete" qui te liste tous les clients pour lequels tu souhaites imprimer un état. Dans cette requête, il te faudra l'identifiant du client, disons "NoClient". Pour l'état, tu peux utiliser l'état "LeRapport" que tu as déjà réalisé.
Dans un formulaire, genre Menu général ou autre, tu crées un bouton avec le code (à adapter) suivant :
Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("LaRequete")
Do While Not rs.EOF DoCmd.OpenReport "LeRapport", acViewNormal, , "NoClient=" & rs!NoClient rs.MoveNext Loop
rs.Close db.Close Set rs = Nothing Set db = Nothing
Cela t'imprimera un état par client.
Pour le mailing, le principe est le même, mais au lieu d'imprimer l'état, tu le sauve par :
DoCmd.OutputTo acOutputReport, "LeReport", acFormatTXT, "Client" & rs.NoClient
puis, tu l'envoie avec la méthode pour envoi des émail... Ainsi, au fur et à mesure que tu crées les fichiers, ils sont envoyés par mail.
Cordialement, Pierre(3stone)
|
[ Retour à la liste des sujets ]
| Recherche
Préférences
1 membre
Connectés :
( personne )
|