IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ access 2007

logo
Sommaire > Pièces-jointes > Programmer le contrôle Pièce-jointe
        Comment changer de pièce jointe ?
        Comment connaitre la taille de la pièce-jointe sélectionnée ?
        Comment connaître les propriétés du fichier sélectionné ?
        Comment connaître le nombre de pièces-jointes affichées ?
        Comment exécuter une action lorsque l'utilisateur sélectionne une pièce-jointe ?
        Comment savoir si un contrôle est de type pièce-jointe ?
        Comment se positionner sur la dernière pièce jointe ?

rechercher
precedent    sommaire    suivant    telecharger


Comment changer de pièce jointe ?
auteur : Christophe Warin
Pour se déplacer dans un contrôle pièce jointe, il existe deux possibilités :

  • Programmer les méthodes de défilement Avant / Précédent
  • Atteindre le fichier par son numéro d'ordre
La première est obtenue grâce aux méthodes Forward et Back. La seconde, en fixant la propriété CurrentAttachment.

With Me.attPhotos
    'Première pièce jointe
    .CurrentAttachment = 0
    'Suivant
    .Forward
    'Précédent
    .Back
    'Troisième pièce jointe
    .CurrentAttachment = 2
End With
Comme vous pouvez le remarquer, la première pièce jointe porte le numéro d'ordre 0.


Comment connaitre la taille de la pièce-jointe sélectionnée ?
auteur : Christophe Warin
Le contrôle pièce-jointe (Attachment) ne propose pas de propriété retournant la taille du fichier. Le seul moyen disponible est d'interroger directement les données via un recordset. L'astuce consiste donc à sélectionner la même pièce-jointe dans le recordset et dans le contrôle Attachment. N'oublions pas que la propriété CurrentAttachment retourne le numéro de la pièce-jointe dans le contrôle.

Si oRst représente un champ de type pièce-jointe et AttPhotos un contrôle de type pièce-jointe, la syntaxe oRst.Move Me.attPhotos.CurrentAttachment permet à coup sûr de se positionner sur le bon fichier.

Un exemple d'utilisation :

Private Sub attPhotos_AttachmentCurrent()
Dim oRst As DAO.Recordset
'Accède au recordset du champ pièce jointe
Set oRst = Me.Recordset.Fields("Photos").Value
oRst.Move Me.attPhotos.CurrentAttachment
With oRst
    Me.txtNom = .Fields("FileName")
    Me.txtTaille = .Fields("FileData").FieldSize
    Me.txtType = .Fields("FileType")
End With
End Sub
Ici, il s'agit d'afficher les propriétés du fichier dans 3 zones de texte.


Comment connaître les propriétés du fichier sélectionné ?
auteur : Christophe Warin
Deux propriétés permettent de connaître le type et le nom de la pièce-jointe sélectionnée. Ces deux propriétés sont respectivement : FileType et FileName.


Comment connaître le nombre de pièces-jointes affichées ?
auteur : Christophe Warin
La propriété AttachmentCount du contrôle pièce-jointe retourne le nombre de fichiers de l'enregistrement courant.


Comment exécuter une action lorsque l'utilisateur sélectionne une pièce-jointe ?
auteur : Christophe Warin
Le contrôle pièces-jointes (Attachment) est assimilable à un formulaire. Il fournit des méthodes, et des événements relatifs aux enregistrements qu'il affiche.

Ainsi l'événement Sur la pièce-jointe activée se produit dès qu'une pièce-jointe est sélectionnée par l'utilisateur. En VBA, cet évènement est nommé AttachmentCurrent.


Comment savoir si un contrôle est de type pièce-jointe ?
auteur : Christophe Warin
Parfois, vous avez besoin de parcourir tous les contrôles d'un formulaire pour y appliquer un traitement en masse. Pour savoir si le contrôle est un contrôle pièce-jointe, il est possible d'utiliser ces deux procédés.

Dim oCtl As Control
For Each oCtl In Me.Controls
    If oCtl.ControlType = acAttachment Then
        'il s'agit d'un contrôle pièce jointe
    End If
Next
Ou

Dim oCtl As Control
For Each oCtl In Me.Controls
    If TypeOf oCtl Is Attachment Then
        'il s'agit d'un contrôle pièce jointe
    End If
Next

Comment se positionner sur la dernière pièce jointe ?
auteur : Christophe Warin
Pour se déplacer dans un contrôle Attachment, il est possible d'utiliser sa propriété CurrentAttachment. La dernière pièce jointe sera donc atteinte de la manière suivante :

With ControlAttachment
  .CurrentAttachment= .AttachmentCount - 1
End With

rechercher
precedent    sommaire    suivant    telecharger

Consultez les autres F.A.Q's


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.