Le grenier Access

Aller au contenu | Aller au menu | Aller à la recherche

Formulaires - Images

Fil des billets - Fil des commentaires

jeudi 18 février 2010

Banque d'images : compléter la liste d'images

On continue la série Gérer une banque d'images sur Access (cliquez ici pour consulter la liste des articles de cette saga, bientôt autant d'épisodes que dans les Feux de l'Amour, une référence !).

Dans l'article Alimenter une banque d'images automatiquement, je donnais un bout de code qui recense les images d'un dossier et stocke leur chemin dans une table Access. Mais ce code VBA recense systématiquement tout le dossier à chaque fois. En d'autres termes, si vous lancez le programme 2 fois sur le même dossier, vous obtenez 2 fois la même liste d'images dans la table.

Dans cet article, vous trouverez une version améliorée : cette fois, le programme n'indexe les images qu'une seule fois dans le dossier (en se basant uniquement sur le nom du fichier Image et le chemin du dossier). A la fin de la procédure, il signale le nombre d'images recensées, et éventuellement le nombre de doublons ignorés.

Lire la suite...

lundi 16 novembre 2009

Banque d'images : supprimer une image

Dans la série "Gérer une banque d'images sur Access", voici une question posée par un visiteur du blog : Comment supprimer une image à l'aide d'un bouton ?

 

Info
En fait, la technique n'est pas limitée à la suppression des images uniquement. Elle peut servir à chaque fois que vous avez besoin d'un bouton ou d'une icône qui sert à supprimer l'enregistrement en cours.

Lire la suite...

dimanche 15 novembre 2009

Banque d'images : charger une image unique

Voici un nouvel article qui complète la saga "Gérer une banque d'images sous Access" (cliquez ici pour les épisodes précédents !). Un lecteur a souhaité savoir comment intégrer une seule image à la fois dans la banque d'images, plutôt que toutes les images d'un dossier. Voici une façon de faire...

Lire la suite...

mardi 16 juin 2009

Gérer une banque d'images : bases de données à télécharger

On continue la saga "Gérer une banque d'images sous Access" ! Dans cet article, pas de nouveauté particulière, je fais juste un point sur la liste des articles du blog à consulter pour monter votre banque d'images... Et à la demande de certains visiteurs, vous trouverez en fin d'article les bases de données exemples, à télécharger.

La saga !

Si vous arrivez directement de Google et que vous avez manqué les épisodes précédents, voici les articles à lire pour monter votre banque d'images. Dans l'ordre :

  1. Gérer une banque d'images dans Access.
  2. Alimenter une banque d'images automatiquement.
  3. Ajouter un sélecteur de dossier à la banque d'images.

Les bases de données Access

Et pour tester directement des exemples complets, voici 2 bases de données à télécharger, selon votre version d'Access :
Chaque base contient :
  • la table qui sert à stocker les chemins des images ;
  • le formulaire d'affichage ;
  • 2 exemples d'états ;
  • un module pour les fonctions de gestion de fichiers ;
  • un module pour la gestion des images.
Attention
  • Les bases sont compactées au format Zip. Vous devez les décompacter au préalable pour les utiliser (consultez cet autre article pour plus de détails).
  • Pensez aussi à vérifier les références dans votre projet VBE. Pour que le sélecteur de dossier fonctionne, il faut que la bibliothèque Microsoft Office x.y Object Library soit cochée (x.y dépendant de votre version d'Office). A priori, cette partie ne fonctionnera qu'à partir d'Access 2002.

mercredi 29 avril 2009

Ajouter un sélecteur de dossier à la banque d'images

Cet article continue la série sur les banques d'images dans Access. On en était resté à l'alimentation automatique de la banque d'images à l'aide d'un bout de code VBA. Mais à ce stade, il faut encore donner le nom du dossier dans le code, ce qui n'est pas souple pour l'utilisateur.

Pour cet épisode, on va faire un cross-over :-) entre la série sur les banques d'images et celle sur la gestion des fichiers. Notamment cet article qui détaille comment afficher un sélecteur de dossier dans Access. L'idée étant de permettre à l'utilisateur de sélectionner le dossier d'images qui l'intéresse, et de déclencher l'indexation du dossier ensuite, automatiquement.

 

Lire la suite...

lundi 6 avril 2009

Alimenter une banque d'images automatiquement

Cet article fait suite à l'article Gérer une banque d'images, dans lequel vous avez pu voir comment stocker une liste d'images dans une table, pour l'afficher ensuite dynamiquement sur un formulaire ou sur un état. Mais pourquoi alimenter la table manuellement, alors qu'on peut le faire à l'aide d'un peu de VBA ?

Lire la suite...

mardi 24 février 2009

Gif animé

Comment intégrer une image Gif animée dans un formulaire Access, dans un formulaire Visual Basic, ou même dans un UserForm (Word, Excel...) ?

Lire la suite...

vendredi 20 février 2009

Gérer une banque d'images dans Access

Comment gérer une banque d'images dans Access ?

On pourrait penser que le type de champ Liaison OLE ou Objet OLE est approprié pour gérer des images dans Access, puisqu'il agit comme "container générique" pour le texte, l'image, le son... Le problème est que le stockage d'images dans une base de données va considérablement augmenter la taille de la base.

L'idée est donc de placer les images dans un dossier spécifique du disque dur, et de faire référence à ce dossier depuis Access.

Info
Cet article est une mise à jour de celui publié dans l'ancien "grenier" du site self-access.com. Avec quelques améliorations de détail. Le tout fonctionne sur toutes les versions actuelles d'Access (au moins depuis le 97 !).

Lire la suite...

lundi 21 avril 2008

Symboles graphiques dans Access

Excel propose une barre d'outils Dessin qui permet de dessiner des bulles, des étoiles, des traits, des connecteurs, etc. Est-ce qu'Access peut faire la même chose ?

Non. Mais il est tout à fait possible de récupérer les dessins faits dans Excel et de les placer sur des formulaires ou des états Access. Ils deviennent dans ce cas des images simples. Pour cela, faites un simple copier/coller :

  1. Dans Excel, sélectionnez le ou les objets devant être transférés dans Access.
  2. Cliquez sur l'icône Copier.
  3. Basculez dans Access (sur un formulaire ou un état ouvert en mode Création).
  4. Cliquez sur l'icône Coller. C'est tout !
Pour que le dessin s'intègre mieux au formulaire ou à l'état, vous ajouterez en général 2 étapes :
  1. Le dessin étant sélectionné (dans Access), cliquez sur l'icône Couleur d'arrière plan/remplissage, et choisissez Transparent.
  2. Cliquez sur l'icône Couleur de bordure/trait, et choisissez également Transparent.
A noter que la conversion du dessin en image bitmap est assez grossière. Passez par un logiciel dédié pour une meilleure transformation.

lundi 3 septembre 2007

Logo de démarrage... sans BMP

J'ai vu qu'il était possible de définir un logo de démarrage avec une image BMP (voir cet article). Mais peut-on faire autrement ?

Ben... voui. Voici une autre manière, qui demande un peu plus de mise en place :

  1. Construisez un formulaire standard (nommons-le frm Logo).
  2. Placez une image (ou tout autre chose !) sur ce formulaire.
  3. Réglez toutes les propriétés qui sont de trop : j'enlève les barres de défilement, le sélecteur, les boutons de déplacement, notamment. Je paramètre également le style de bordure. Vous pouvez également régler la propriété Auto-centrer sur Oui (le formulaire s'affichera au milieu de l'écran, exactement).
  4. Faites en sorte que ce formulaire soit le formulaire de démarrage (dans le menu Outils / Démarrage).

Et si je veux que ce formulaire se ferme automatiquement ?

  1. Ouvrez le formulaire en mode Création.
  2. Faites apparaître les propriétés du formulaire.
  3. Réglez la propriété Intervalle minuterie sur une durée quelconque (par exemple : 1000 millisecondes).
  4. Cliquez sur les points de suspension à droite de l'événement Minuterie, et choisissez Générateur de code.
  5. Aménagez l'événement pour qu'il ressemble à ça :
Private Sub Form_Timer()
  DoCmd.Close
End Sub

Et si je veux un formulaire de démarrage en plus du logo ?

Access ne prend en charge qu'un seul formulaire de démarrage. Si le formulaire frm Logo ci-dessus fait office de formulaire de démarrage (dans Outils / Démarrage), vous ne pouvez pas afficher un frm Clients, par exemple. Mais il suffit d'aménager le code VB ci-dessus :

Private Sub Form_Timer()
  ' Fermer le formulaire en cours (logo)
  DoCmd.Close

  ' Ouvrir le formulaire Clients
  DoCmd.OpenForm "frm Clients"
End Sub

Et hop !