Bonjour aux membres de ce forum.
J'aurais souhaité que l'un des membres m'apporte une aide face à ma situation d'échec actuelle.

J'envisage l'utilisation des propriétés et méthodes de l'objet Attachment (ie : pièces jointes) pour manipuler des informations concernant les pièces jointes d'une table, notamment afin de compter le nombre de pièces jointes pour un enregistrement donné et pour lister le nom de fichier de chaque pièce-jointe.
Je butte sur l'écriture appropriée pour affecter l'objet à la variable objet.
Les pièces jointes sont stockées dans un champ unique "ImageJointe" de la table "Appellations".
Il convient de noter qu'en passant par le formulaire ouvert lié à cette table, j'accède facilement aux informations (les propriétés et méthode de l'objet Attachement me sont facilement accessibles). Cependant je souhaiterais accéder aux informations sans passer par le formulaire ouvert.
Je vous communique le code tester en laissant volontairement présents mes balbutiements.
merci à vous.

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
Private Sub Commande46_Click()
 
Dim maBD As Database, maT As Recordset
Dim mesPJ As Attachment
 
Set maBD = CurrentDb
Set maT = maBD.OpenRecordset("Appellations")  'Recordset de type Table
 
'Set mesPJ = maT.Fields(8)              'Incompatibilité de type (Erreur 13)
Set mesPJ = maT.Fields("ImageJointe")   'Incompatibilité de type (Erreur 13)
 
maT.MoveFirst
 
'MsgBox maT.Fields(8).Name   'me donne bien le nom du champ soit "ImageJointe"
 
' ce champ est-il de type pièces-jointes ?
'If maT.Fields(8).Type = dbAttachment Then MsgBox "Ce champ est bien de type Pièces-Jointes"   'c'est OK
 
MsgBox mesPJ.AttachmentCount
 
 
'Set mesPJ = maT![ImageJointe]   ' non valide
 
'Set mesPJ = Me.ImagesJointes  'dans le formulaire, c'est OK
 
'Set mesPJ = maT.Fields("ImageJointe").Value  'dans la table, ce n'est pas fonctionnel
'Set mesPJ = maT.Fields("ImageJointe")        'dans la table, ce n'est pas fonctionnel
 
'MsgBox maT![Ordre]   ' c'est OK
 
 
'a partir du formulaire ouvert, l'accès se fait facilement :
 
'Set mesPJ = Me.ImagesJointes 
'MsgBox mesPJ.AttachmentCount  
'MsgBox mesPJ.fileName(0)
'MsgBox mesPJ.fileName(1)
'MsgBox mesPJ.fileName(2)
'MsgBox mesPJ.fileName(3)
 
'With maT
'
'.Index = "PrimaryKey"
'    .Seek "=", 1
' .Edit
'        maT![Image 1] = mesPJ.fileName(0)
'        maT![Image 2] = mesPJ.fileName(1)
'        maT![Image 3] = mesPJ.fileName(2)
'        maT![Image 4] = mesPJ.fileName(3)
'.Update
'.Close
'
'End With
 
MsgBox "Action terminée !"
 
Set maT = Nothing
Set maBD = Nothing
End Sub