2010-07-15 9 views
0

Je souhaite utiliser la macro '"commande send-object" pour envoyer quotidiennement les enregistrements d'un groupe de requêtes, mais je ne veux que l'envoyer donné email s'il y a des enregistrements dans la requête donnée. Si la requête ne génère aucun enregistrement, je ne souhaite pas que cet e-mail soit envoyé. Je sais comment accomplir ceci en employant un rapport d'accès en plaçant le "sur l'événement de no data", mais je préférerais que ma macro doenst exécute les rapports d'accès et court juste les requêtes, parce que produire les données dans le format reoprt utilise beaucoup de ressources sur mon ordinateur. s'il vous plaît noter que je ne connais pas VBA, donc je voudrais savoir si je peux atteindre mon objectif sans aucune programmation VB. merci beaucoup pour votre advicommande d'envoi-objet à ne pas envoyer si aucun enregistrement dans la requête

Répondre

1

Dans une macro, vous pouvez utiliser la colonne CONDITIONS pour tester une expression DCount() pour voir si les résultats sont> 0 et votre SendObject s'exécutera.

Pour ce faire, ouvrez votre Macro avec la ligne SendObject.

Dans le menu AFFICHER, sélectionnez CONDITIONS. Cela va ajouter une colonne à gauche.

Dans cette colonne, mettez quelque chose comme ceci:

DCount("*", "MyQuery", "[conditions that are being tested, if necessary]")>0 

Ceci est un DCount() pour voir combien enregistre les retours de la requête. Vous laissez le troisième argument (avec sa virgule principale) si votre requête est déjà correctement filtrée (par exemple, elle fait référence à un contrôle de formulaire en tant que critère). Si la requête renvoie 0, CONDITION renvoie FALSE et votre commande SendObject ne s'exécutera pas.

Vous devrez comprendre comment construire le DCount(), mais le fait est qu'en testant le nombre d'enregistrements affichés dans la requête, vous pouvez exécuter conditionnellement l'objet SendObject.

0

Malheureusement vous avez besoin de VBA pour accomplir ceci. Êtes-vous prêt à mettre du code?