Bonjour.
J'ai réalisé, pour une école, un logiciel de facturation en access, et je voudrais envoyer les factures par e-mail.
Chaque facture est un état (E_FACTURES_MATRIC), à générer et à ouvrir pour chaque élève de l'établissement, identifié par un matricule.
Voici le code envisagé :
Le programme m'indique : "Le champ [R_CALCUL_DES_MONTANTS_MATRIC].[MATRICINFO] peut désigner plusieurs tables listées dans la clause FROM de votre instruction SQL".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Dim stDocName as String Dim stDocNamedeux As String Dim stDocNametrois As String Dim rst as recordset Dim Identifiant as Integer Dim adresp as String Dim stCondition As String Dim message As String stDocName="E_FACTURES_MATRIC" stDocNamedeux="Rich Text Format" stDocNametrois="Note de frais scolaires" message="Veuillez trouver en pièce jointe etc." Set rst=CurrentDb.OpenRecordset("Select matriculei,mailr from T_MAIL") rst.MoveFirst Do Until rst.EOF Identifiant=rst!matriculei adresp=rst!mailr stCondition="[R_CALCUL_DES_MONTANTS_MATRIC].[MATRICINFO]=" & str(Identifiant) DoCmd.OpenReport "E_FACTURES_MATRIC", acVieuwNormal,,"[R_CALCUL_DES_MONTANTS_MATRIC].[MATRICINFO]" &"="& str(Identifiant) DoCmd.SendObject acReport, stDocName, stDocNamedeux,adresp,,,stDocNametrois,message DoCmd.Close acReport,stDocName rst.MoveNext Loop rst.Close Set rst=Nothing
Comment faire pour ne plus avoir ce message ?
Voici la requête R_CALCUL_DES_MONTANTS_MATRIC :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_COMMANDES.ACHETEUR_ID AS MATRICINFO,T_ELEVES.NOMDELELEV,T_ELEVES.PRENOMDELE,T_FRAIS.FR_ID,T_COMMANDES.QTE, T_FRAIS.FR_LIBEL, SUM (T_COMMANDES!QTE*T_FRAIS!PU) AS MONTANT FROM T_FRAIS INNER JOIN (T_ELEVES INNER JOIN T_COMMANDES ON T_ELEVES.MATRICULEI=T_COMMANDES.ACHETEUR_ID) ON T_FRAIS.FR_ID=T_COMMANDES.ARTICLE_ID GROUP BY T_COMMANDES.ACHETEUR_ID, T_ELEVES.NOMDELELEV, T_ELEVES.PRENOMDELE,T_FRAIS.FR_ID,T_COMMANDES.QTE,T_FRAIS.FR_LIBEL,T_ELEVES.ANNEE,T_ELEVES.CLASSE HAVING T_COMMANDES.ACHETEUR_ID=Identifiant;
Partager