Bonjour à tous
L'erreur 3061 apparait avec ce code d'automation Outlook sur une requête filtre qui fonctionne parfaitement dans l'interface, apparemment il n'y a pas d'erreur de noms de champs, je ne comprends donc pas pourquoi ça ne marche pas :
La requête source est la suivante :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 Public Function ExportActionsOutlook() Dim rst As DAO.Recordset Dim db As DAO.Database Set db = CurrentDb Set rst = CurrentDb.OpenRecordset("RqExportActionsOutlook") Debug.Print rst ' Enregistrer d'abord pour s'assurer que les champs requis sont remplis. DoCmd.RunCommand acCmdSaveRecord On Error GoTo AjoutAction_Err 'Vérifie qu'il existe des actions à exporter If rst.RecordCount = 0 Then MsgBox "Il n'y a aucune action à exporter vers Outlook", vbOKOnly, "Transfert annulé" Exit Function End If rst.MoveFirst Do While Not rst.EOF ' Ajouter un nouveau rendez-vous. Dim outobj As New Outlook.Application Dim outappt As Outlook.AppointmentItem Set outobj = CreateObject("outlook.application") Set outappt = outobj.CreateItem(olAppointmentItem) With outappt .Start = rst!HoraireDebut .Duration = Nz(rst!DuréeAction) .Subject = rst!Contact & " " & rst![Vendeur/Intervenant] .Body = Nz(rst!NotesAction) .Location = Nz(rst!LieuAction) .ReminderMinutesBeforeStart = Nz(rst!MinutesRappel) .ReminderSet = Nz(rst!RappelAction) ' Définir l'indicateur AjoutéàOutlook, enregistrer, afficher un message. rst.Update "ajoutéàoutlook", -1 .Save End With 'Boucle rst.MoveNext Loop ' Libérer la variable objet Outlook. Set outobj = Nothing Set rst = Nothing Set outappt = Nothing MsgBox " Actions ajoutées à Outlook ! " Exit Function AjoutAction_Err: MsgBox " Erreur " & err.Number & Chr(10) & err.Description Exit Function End Function
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T_RendezVous.HoraireDebut, T_RendezVous.NumContact, T_RendezVous.NotesAction, T_RendezVous.LieuAction, T_RendezVous.RappelAction, T_RendezVous.MinutesRappel, T_RendezVous.AjoutéàOutlook, T_RendezVous.DuréeAction, RqContacts.Contact, [Vendeurs et Intervenants].[Vendeur/Intervenant] FROM RqContacts INNER JOIN ([Vendeurs et Intervenants] INNER JOIN T_RendezVous ON [Vendeurs et Intervenants].IdVendeurIntervenant = T_RendezVous.IdIntervenant) ON RqContacts.NumContact = T_RendezVous.NumContact WHERE (((T_RendezVous.NumGrpAction)=[Formulaires]![Groupes Actions]![NumGrpAction])) ORDER BY T_RendezVous.HoraireDebut DESC;
Partager