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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Gérer l'adresse des images


Sujet :

VBA Access

  1. #1
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut Gérer l'adresse des images
    Bonjour à tous,
    J'utilise Access 2000.
    Dans une application, j'ai de nombreux états et formulaires avec des logos.
    Si j'intègre les images, la taille de la DB devient très importante.
    Pour réduire la taille, j'inscris
    - dans la propriété "picture" : le chemin de l'image (même répertoire que ma DB)
    - dans la propriété "TypeImage" : 'Attaché'.

    Inconvénient: si la DB et les images changent de répertoire (par exemple sur une clé USB), les adresses dans la propriété "picture" deviennent caduques.
    J'ai tenté de libeller l'adresse en codant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ParentDirectory(currentDb.Name) & "\MonImage.bmp"
    mais sans succès.

    Quelqu'un a-t-il une piste ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  2. #2
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonsoir,

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Photo.Picture = CurrentProject.Path & "\Photos\" & "MaPhoto1.jpg"
    Les photos étant stockèes dans un sous-répertoire au niveau de l'application appelé "Photos".

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    merci
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Re,

    Si cela répond à ton besoin, n'oublie pas de tagger "Résolu"...

    Sinon, on continue...

    Bon dév !

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Voici la solution que j’ai adoptée pour les formulaires et les états contenant des images.
    - les fichiers images sont logés dans un sous-répertoire du répertoire de l’application (\Images)
    - pour chaque contrôle ou objet contenant une image « attachée », le nom du fichier image (ex : logo.bmp) est inscrit dans la propriété « remarque »
    - dans l’évènement « ouverture » d’un formulaire, on appelle une Sub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CheminDesImages(acForm, Me.Name)
    - dans l’évènement « ouverture » d’un état, on appelle une Sub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CheminDesImages(acReport, Me.Name)
    - un module contient la Sub :

    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
    Public Sub CheminDesImages(TypeObjet, Nom)
    On Error GoTo GestionErreurs
    Dim Ctrl As Control
    Select Case TypeObjet
    Case acForm     'pour les formulaires
      'l'image du formulaire
      If Forms(Nom).PictureType = 1 And Forms(Nom).Tag Like "*.*" Then
          Forms(Nom).Picture = CurrentProject.Path & "\Images\" & Forms(Nom).Tag
      End If
      ' l'image des contrôles du formulaire (image, bouton, ...)
      For Each Ctrl In Forms(Nom)
         If Ctrl.PictureType = 1 And Ctrl.Tag Like "*.*" Then
          Ctrl.Picture = CurrentProject.Path & "\Images\" & Ctrl.Tag
         End If
      Next Ctrl
    Case acReport     'pour les états
      ' l'image des contrôles
      For Each Ctrl In Reports(Nom)
         If Ctrl.PictureType = 1 And Ctrl.Tag Like "*.*" Then
          Ctrl.Picture = CurrentProject.Path & "\Images\" & Ctrl.Tag
         End If
      Next Ctrl
    End Select
    Fin:
    Exit Sub
    GestionErreurs:
    Select Case Err.Number
    Case 438   'la propriété picture n'existe pas pour ce contrôle
    Resume Next
    End Select
    End Sub
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gérer l'organisation des images?
    Par samplaid dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 20/04/2010, 15h38
  2. Réponses: 3
    Dernier message: 05/06/2008, 16h30
  3. [MySQL] conseils pour gérer des images avec mysql
    Par briiice dans le forum Administration
    Réponses: 9
    Dernier message: 04/01/2006, 09h52
  4. [EasyPHP] Problème d'include de fichier et adresse des images
    Par doudou34 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 02/11/2005, 21h46
  5. Recuper adresse des images
    Par bolo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/10/2005, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo