|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Pour commencer, merci à tous les contributeurs de ce site car j'y ai trouvé une multitude d'informations qui m'ont permis d'avancer rapidement et efficacement dans mes projets.
Cela dit, je suis beaucoup plus doué pour la conception graphique (ergonomie, importation de BMP créés avec FIreworks pour les transformer en boutons, etc.) J'ai donc un problème de programmation concernant l'envoi d'emails depuis un formulaire basé sur une requête. J'ai lu les FAQ VBA concernant la fonction "sendobject" et réalisé sans succès de multiples essais. Ma base est de conception très simple: Une table "Installateurs" qui contient mes techniciens dans toute la France (Nom, prénom, adresse, téléphone, adresse email, départements couverts) Une autre "Interventions"contient les interventions (Nom du client, adresse, Code postal, tel, etc) J'attribue une ou des missions à un technicien en fonction de sa position géographique (j'ai réussi à extraire le département du code postal "Interventions" et je le compare aux département couverts par les techniciens. Cela m'a permis de créer une liste "combo" qui ne contient que les techniciens disponibles pour attribuer l'intervention au bon technicien. Pour les "Pros" ce n'est pas un exploit mais pour moi cela a été une victoire ! En synthèse : 1. Enregistrement des missions (classeur xls) au travers d'un formulaire en mode feuille de données (ajout) 2. Attribution de la mission au travers d'un formulaire "attribution" (avec ma combo, yes !) 3. Affichage des missions attribuées au travers d'un formulaire "missions_attribuee_du_jour" qui contient: réf du client (nom, adresse, tel, etc.) et le nom du technicien Je souhaite envoyer l'email au technicien choisi sans avoir a renseigner son adresse (déjà présente dans la table "Installateurs" J'ai essayé ceci (ma modification est en rouge) en créant un nouveau module (nommé module1) afin que le code recherche l'adresse email du technicien dans le formulaire: Code :
J'ai compris que ce sujet avait déjà été traité (mon exemple trouvé sur ce site inclut même les pièces jointes) mais j'y travaille depuis samedi matin sans trouver la solution. Si un connaisseur a le temps et la gentillesse de m'expliquer simplement la méthode ou d'écrire le code (je comprend mieux avec un code concret) je le remercie d'avance. Cordialement, ZZdriver |
||
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Merci d'avoir rectifié l'Intitulé et d'avoir placé ma demande dans la bonne section.
Avec mes excuses. Cordialement, |
|
|
00
|
|
|
#3 | ||||||
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Bonjour,
ce n'est pas tout à fait correct. ta procédure de CreateEmail semble correcte, si ce n'est l'initialisation du destinataire qui est farfelue. le principe de cette procédure est qu'elle doit être appelée avec des paramètres, paramêtres qui seront utilisés dans la procédure elle-même. les paramêtres sont visible dans la déclaration de la procédure : Code :
parm 2 : subjet : titre de ton email parm 3 : body : le texte proprement dit parm 4 : Attach : un éventuel attachement Donc, 1) dans ta procédure de CreateEmail, je remplacerais ceci Code :
oEmail.To = "SelectForm missions_attribuee_du_jour,Installateurs,email" 2) L'appel à cette procédure est à revoir complètement Je ne comprend pas l'utilité de ceci Code :
Appelons les - Dest pour recipient - Titre pour subject - Corps pour body - Fichier pour attach Code :
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
||||||
|
|
10
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Bonjour Godzestla, et merci pour ta réponse rapide,
Le point 2 était fait pour "activer" le module au chargement du formulaire (j'ai lu, je ne sais plus où, que c'était nécessaire, à priori, non) J'ai modifié le module (Recipient) En revanche, en ce qui concerne la procédure "bouton" Et je changerai le code du bouton de la manière suivante, en supposant que à la fois Recipient, Subject, Body et Attach sont des objets de ton formulaire. Appelons les - Dest pour recipient - Titre pour subject - Corps pour body - Fichier pour attach Code :
Private Sub mailauto_Click() CreateEmail( Me![Dest],= email) email étant le nom du champ contenant l'adresse email dans le formulaire. J'ai la réponse: erreur comilation, attendu = Quand j'utilise : CreateEmail(Me![Dest],=email) J'ai la réponse:erreur comilation, attendu "expression" J'ai remplacé "=" par "Comme" et par "as" sans plus de succès. Il est évident que VBA ne se trompe pas et que l'âne c'est bien moi mais je commence à avoir de "serious nervous breakdown"...... Si tu peux m'éclairer de ta lumière... Cordialement, ZZdriver |
||
|
|
00
|
|
|
#5 | |||||
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Citation:
, mais surtout tu n'as pas lu ou compris ce que je t'ai écrit.Et puis, il faut utiliser les balises codes pour la lisibilité (voir rêgles du forum). je te proposais : Code :
Code :
je ne sais pas de quel langage tu t'inspires, mais les = qqchose n'ont pas leur place dans ce contexte.
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|||||
|
|
00
|
|
|
#6 | ||||||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
Effectivement, je n'avais pas compris ....
Pour avancer "pas à pas" et du fait que l'objet et le corp de l'email ne sont pas dans le formulaire (je vais le faire avec un champ largeur 0 pour le rendre présent mais invisible) J'ai essayé ceci (uniquement l'adresse E mail du destinataire): Code :
"Erreur de compilation : Argument non facultatif" J'ai pensé que le Module attendait les autres informations. J'ai indiqué des champs présents dans le formulaire (même s'ils n'ont rien à voir) avec cette commande : Code :
J'ai ensuite entré uniquement "CreateEmail" et suivi l'aide à la syntaxe qui s'inscrit. J'ai utilisé ce code (sans Me!) puisque non proposé dans l'aide: Code :
"Erreur de compilation:Type défini par l'utilisateur non défini" Avec Code :
Et Surligné en bleu Dans mes références (outils ---références) J'ai bien: Visual Basic For Applications Microsoft Access 12.0 Object Library OLE Automation Microsoft Access 12.0 Access database Engine Object Library Microsoft Visual Basic For Applications Extensibility 5.3 Je me lance peut être dans une programmation trop compliquée pour moi mais j'ai toujours eu envie d'apprendre. Je sais que je pose probablement des questions très basiques et ennuyeuses. Cela dit, je suis pret à partager mes connaissances (ce que je fait régulièrement) sur l'animation vectoriel (Flash) ou sur ce que j'ai composé en PHP (Prestashop) Dans tous les cas, merci pour tes réponses précédentes et pour la suivante si tu en as le temps. PS: c'est vrai que le message est plus "propre" avec les balises...
|
||||||||
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Chercheur de bonheur Inscription : août 2007 Messages : 2 255 ![]() |
Euuuuuuuuuh, on ne va jamais en sortir ainsi, car l'informatique ce n'est pas merlin l'enchanteur ni les comptes de l'alchimiste.
il y a des rêgles à suivre, une syntaxe à respecter, tout comme une prise électrique danoise ne peut recevoir une fiche de cable életrique aux normes US. Alors, je crois qu'il est temps que tu fonce un peu dans la FAQ, dans les tutos et que tu planches un peu sur les bases d'accès car essayer tout et n'importe quoi dans tous les sens, cela ne te mènera nulle-part à part à remplir le forum de tes nombreux essais divers qui ne peuvent qu'aboutir qu'à une conclusion unique : Chaque langage a ses rêgles. ne pas les respecter c'est échouer dans la communication, avec l'interlocuteur où la machine. ![]() Maintenant, si tu as besoin de faire ce genre de tests, pas de soucis, mais il vaut mieux que tu essuies les plâtres seuls, jusqu'à t'apercevoir qu'en finalité c'est la machine qui dicte ses rêgles et pas le contraire. Qu'en dis tu ?
__________________
(\ _ /) Cordialement G@dz (='.'=) (")-(") Vous avez des neurones. Sollicitez-les. ![]() . Si vous êtes aidé, pensez à Voter.
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 5 ![]() |
J'en dis que je te remercie pour le temps que tu as m'as accordé.
Que tes conseils m'ont permis d'avancer même si je n'ai pas encore obtenu le résultat recherché. Qu'effectivement, je vais aller sur les FAQ pour m'inspirer des codes inscrits dans les exemples pour comprendre (même si c'est très partiellement) la syntaxe utilisée. Malheureusement, je ne dispose pas en ce moment d'assez de temps pour me former plus en profondeur, mais ce sera fait car, même à 50ans, je suis toujours très avide de connaissance, surtout lorsque l'application est directe, c'est toujours pour moi une forme de petite victoire. Pour conclure, merci encore pour ton aide. Je te souhaite une excellente fin de journée. Cordialement, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com