> comment peux je placer si la quantité > 0 dû et après 30 jours de date de facture
ajouter >0 à la colonne d'amountdue et <> OÙ (((AmountDue) >0) ET ((DateDue)<> e (), - 30)))
)
Pour envoyer l'email. vous pourriez courir le code toutes les fois que vous ouvrez la base de données, quand vous ouvrez une forme spécifique, quand vous cliquez un bouton ou même l'appelez d'un macro et employez une tâche programmée de l'envoyer à un instant spécifique. Dépend de la façon dont vous voulez le faire.
Pour le code. voici un exemple simple. modifiant une partie du code d'autres ont signalé. Coller ces deux fonctions dans un module dans votre base de données et éditer la fonction « YourSavedQueryName » changeant de SendReport au nom réel de votre question et «
[email protected] » à votre email address aussi bien que toute autre chose (tel que des noms de champ) ces a besoin changé. Appeler alors la fonction de SendReport de partout où vous voudriez (comme dessus un clic de bouton ou d'un macro) envoyer le rapport.
Fonction publique OutlookSend (MailUser de ByVal comme corde, ByVal MsgSubject comme corde, ByVal msgbody comme corde) comme booléen
Faible appOutLook comme Outlook.Application
Faible MailOutLook comme Outlook.MailItem
Sur l'erreur ErrHandler GoTo
Sinon "" d'IsNull (MailUser) et <> de MailUser alors
Placer l'appOutLook = le CreateObject (« Outlook.Application
»)
Placer MailOutLook = appOutLook.CreateItem (l'olMailItem
)
Destinataire = MailUser
Avec MailOutLook
. À = destinataire
. Sujet = MsgSubject
. Corps = msgbody
.DeleteAfterSubmit = vrai 'ceci laisserait des perspectives envoyer la note sans la stocker dans votre casier envoyé
. Envoyer
Finir avec
Placer MailOutLook = rien
Placer l'appOutLook = rien
Finir si 'pas IsNull (MailUser)
ExitHere :
Sortir la fonction
ErrHandler :
Choisir le cas Err.Number
Affaire 0
Résumé ExitHere
Cas autrement
MsgBox « erreur » et Err.Number et « (" et Err.Description et ") dans OutlookSend »
Extrémité choisie
Fonction de fin
Fonction publique SendReport ()
Faible MyMsgBody, MySubject, MyMailAddress comme corde
Faible ItemCount comme nombre entier
Sur l'erreur ErrHandler GoTo
Si DCount (« * », « YourSavedQueryName ») > 0 puis
Faibles dbs comme base de données, rst comme DAO.Recordset
Placer les dbs = le CurrentDb
Placer le rst = le dbs.OpenRecordset (« YourSavedQueryName
»)
rst.MoveFirst
ItemCount = 0
Faire jusqu'à rst.EOF
item1 = rst ! AmountDue
item2 = rst ! WorkOrder
item3 = rst ! [Date de facture]
MyMsgBody = MyMsgBody et item1 et vbTab et item2 et vbTab et item3 et vbCrLf
ItemCount = ItemCount + 1
rst.MoveNext
Boucle
rst. Fin
MyMailAddress = «
[email protected] »
MySubject = « rapport dû de factures : » Et ItemCount et « articles »
Sinon le "" d'IsNull (MyMsgBody) et <> de MyMsgBody rouissent alors = OutlookSend (MyMailAddress,
MySubject, MyMsgBody)
Finir si
ExitHere :
Sortir la fonction
ErrHandler :
Choisir le cas Err.Number
Affaire 0
Résumé ExitHere
Cas autrement
MsgBox « erreur » et Err.Number et « (" et Err.Description et ") dans SendReport »
Extrémité choisie
Fonction de fin