Fr:Créer une Table et un Formulaire pour Stocker des Images

From NeoWiki

Jump to: navigation, search
Cet article fait partie de la série de tutoriels Base Aller et Retour.

Supposons que l'ornithologue veuille aussi enregistrer des images de certains oiseaux dans cette base de données. C'est une possibilité incluse dans Base en utilisant le type de champ d'Image [LONGVARBINARY]. Cet article explique comment faire cela.

Il faut toutefois remarquer qu'enregistrer de grandes images ou un grand nombre d'images dans un fichier odb peut beaucoup augmenter la taille du fichier et créer des problèmes. Une autre approche consiste à enregistrer les emplacements des fichiers d'images dans la base de données. Cependant, cette technique sort du cadre de ce tutoriel - au moins pour le moment.

Contents

[edit] Créer une nouvelle table

  1. Dans la fenêtre principale du document, cliquez sur l'icône Tables dans la colonne de gauche.
  2. Double cliquez sur l'icône Créer une table en mode Ébauche dans la section Tâches.
  3. Dans la fenêtre Ébauche de table, créez les champs suivants :
    ImageID - Integer - Autovaleur : Oui; Expression d'auto-increment : IDENTITY
    DatePhoto- Date - Saisie requise : Oui; Exemple de format : comme vous voulez, je recommande JJ/MM/AAAA.
    Oiseau- Text [VARCHAR] - Saisie requise : Oui
    Mâle - Oui/Non [BOOLEAN]] - Valeur par défaut : Non (cela évite les problèmes avec la valeur VIDE)
    Femelle - Oui/Non [BOOLEAN]] - Valeur par défaut : Non
    Jeune - Oui/Non [BOOLEAN]] - Valeur par défaut : Non
    Image - Image [LONGVARBINARY] - Saisie requise : Oui
    SortiePhotoID - Integer - Autovaleur : Non; Saisie requise : Non
    LienAuFichier - Text [VARCHAR_IGNORECASE] - Saisie requise : Non; Longueur : 500
    Note: Le champ LienAuFichier est inclus dans l'hypothèse que le tutoriel permettra finalement de changer une entrée de champ en un hyperlien cliquable.
  4. Vous pouvez aussi entrer des descriptions de champs, si vous voulez.
  5. Faites un clic droit ou Ctrl-clic sur la cellule vide à gauche du champ ImageID. Choisissez Clé primaire dans le menu contextuel .
  6. Cliquez sur le bouton Enregistrer dans la barre d'outils (représentant un disque dur) ou pressez les touches Cmd-S. Nommez la table PhotosOiseaux.
  7. Fermez la fenêtre Ébauche de table.

Note: Contrairement aux autres types de champ, les images ne peuvent pas être ajoutées directement à une table. Les images peuvent seulement être incorporées à l'aide d'un formulaire.

[edit] Établir les relations

  1. Dans la fenêtre principale du document, Tables devrait être encore sélectionnée dans la colonne de gauche. Si ce n'est pas le cas, cliquez sur cette icône.
  2. Allez dans le menu Outils et sélectionnez Relations.... La fenêtre Ébauche de relation s'ouvre.
  3. Cliquez sur le bouton Ajouter des tables dans la barre d'outils. (Le tableau bleu)
  4. Dans la fenêtre Ajouter des tables, sélectionnez PhotosOiseaux et cliquez sur Ajouter.
  5. Fermez la fenêtre Ajouter des tables.
  6. Redimensionnez la petite fenêtre PhotosOiseaux afin d'afficher tous les champs.
  7. Glissez le curseur depuis le champ SortiePhotoID de la table PhotosOiseaux jusqu'au champ SortiesID de la table Sorties.
  8. Glissez le curseur depuis le champ NomAnglais de la table Oiseaux jusqu'au champ Oiseau de la table PhotosOiseaux.
  9. Vous pouvez déplacer les fenêtres des tables de sorte que les lignes soient plus faciles à voir.
  10. Cliquez sur le bouton Enregistrer et fermez la fenêtre Ébauche de relation.

[edit] Créer le formulaire d'entrée de données

Pour créer ce formulaire, nous appellerons l'assistant directement depuis la table. Nous procédons ainsi dans le seul but d'exposer cette technique. Le formulaire peut aussi être créé en mode ébauche. (En fait, nous aurons besoin d'éditer le formulaire afin de l'utiliser pour ajouter des images à la base de données).

  1. Dans la fenêtre principale du document, Tables devrait être encore sélectionnée dans la colonne de gauche. Si ce n'est pas le cas, cliquez sur cette icône.
  2. Faites un clic droit ou Ctrl-clic sur la table PhotosOiseaux et choisissez Assistant Formulaire dans le menu contextuel.
  3. Dans la zone Champs disponibles de la fenêtre Assistant Formulaire, cliquez sur le bouton >> pour déplacer tous les champs dans la zone Champs du formulaire.
  4. Cliquez sur Suivant>.
  5. Dans la zone Sous-formulaire, ne changez rien. Cliquez simplement sur le bouton Suivant>.
  6. Dans la section Positionner les contrôles sur le formulaire, choisissez une disposition. j'ai choisi Blocs - Étiquettes en haut, l'option la plus à droite.
  7. Cliquez sur Suivant>.
  8. Conservez les réglages de la section Sélectionner le mode de saisie des données tels qu'ils sont. (Le formulaire doit afficher toutes les données).
  9. Cliquez sur Suivant>.
  10. Dans la section Appliquer le style au formulaire, choisissez une couleur et un style de bordure.
  11. Cliquez sur Suivant>.
  12. Dans la section Nommer le formulaire, donnez un nom au formulaire Entrée des données de photos d'oiseaux et cliquez sur le bouton radio Modifier le formulaire.
  13. Cliquez sur Créer.

[edit] Ajouter un contrôle d'image

  1. Si vous avez cliqué sur le bouton Modifier le formulaire à la fin de la section précédente, ce formulaire s'ouvrira en mode conception. Sinon, ouvrez-le dans ce mode en faisant un clic droit ou Ctrl-clic sur son nom dans la fenêtre principale du document.
  2. Vous remarquerez qu'il n'y a pas de champ nommé Image, bien que la création d'un contrôle d'image ait été enregistrée par l'assistant. Il s'agit d'un bug connu d'OpenOffice.org. Heureusement ce contrôle peut être ajouté en mode conception.
  3. Vérifiez que la barre d'outils Conception de formulaire est affichée. Si ce n'est pas le cas, allez dans le menu Affichage, choisissez Barres d'outils… puis Conception de formulaire.
  4. Cliquez sur le bouton Navigateur de formulaires de la barre d'outils Conception de formulaire. La fenêtre Navigateur de formulaires s'ouvre.
  5. Cliquez sur MainForm (en anglais), dans la fenêtre Navigateur de formulaires. Vous verrez une liste de champs.
    Remarquez qu'utiliser le navigateur de formulaires est un moyen de voir rapidement quels types de contrôles vous avez dans le formulaire. Vous pouvez modifier les types de contrôles et les propriétés en faisant un clic droit ou Ctrl-clic sur un champ de la liste du navigateur.
  6. Cliquez sur le bouton Ajouter un champ de la barre d'outils. Il représente un tableau bleu clair avec une cellule d'un bleu plus foncé et avec un signe plus dans le coin supérieur droit. La fenêtre Ajout de champ : s'ouvre et affiche une liste de champs. Notez que cette fenêtre n'apparait que si vous avez sélectionné le formulaire principal dans la fenêtre du Navigation de formulaire.
  7. Glissez le champ Image depuis la fenêtre Ajouter un champ dans le formulaire et placez-le où vous voulez.
  8. Ajustez la taille du champ comme vous voulez. Vous pouvez être obligé de dissocier l'étiquette et le contrôle d'image. Pour cela, allez dans le menu Format, choisissez Groupe puis Dissocier.
  9. Ajustez la disposition des champs, étiquettes etc. comme vous voulez. (Vous remarquerez, par exemple, que la couleur et la police de l'étiquette du champ Image ne coincident pas avec celles crées par l'assistant).
  10. Vous pouvez souhaiter remplacer le champ de texte Oiseau par une boîte combinée liée au champ NomAnglais dans la table Oiseaux. Voir Utiliser une Boîte Combinée dans un Formulaire.
  11. Enregistrez vos modifications en cliquant sur le bouton Enregistrer de la barre d'outils ou en pressant les touches Cmd-S.

[edit] Entrer les données

Il est maintenant temps de tester ce formulaire.

  1. Cliquez sur le bouton (Dés)activer le mode conception pour quitter le mode conception et entrer des données.
  2. Pour tester les données, entrez les images d'oiseaux ci-dessous avec les indications correspondantes dans le formulaire.
    Pour copier les images sur votre ordinateur, il suffit de les gilisser/déposer depuis cette page sur le bureau. Ces images font moins de 30Ko; Elles ont été prises par l'auteur de l'article oiginal (c'est la version anglaise de cette page) et peuvent être utilisées librement à des fins non commerciales.
  3. Pour entrer une image dans le formulaire, faites double clic sur le champ d'image vide et, dans la fenêtre de sélection de fichiers qi apparait, naviguez jusqu'au fichier, sélectionnez-le et cliquez sur le bouton Ouvrir

[edit] Données de test

    1. Oiseau : House Finch
      Image:HouseFinch.JPG
      Date: 01/01/1900
      SortiesID: 0
      Mâle
    2. Oiseau : Rose-breasted Grosbeak
      Image:RBGrosbeak.jpg
      Date: 13/05/1900
      SortiesID: laissez vide
      Mâle

[edit] Notes

  • Une fois que vous aurez importé une image dans le formulaire, elle sera probablement visible en mode conception, même si ce n'est pas le cas pour les données des autres champs. Cela n'affecte ni la conception ni l'utilisation du formulaire.
  • Vous ne pouvez pas insérer d'images dans une table, seulement dans un formulaire.
  • Comme il a été dit plus haut, conserver un grand nombre d'images, ou même quelques images de grande taille, peut provoquer de l'instabilité. Si des images sont nécessaires dans une base de données, efforcez-vous de diminuer le plus possible la taille des fichiers. J'ai utilisé ImageWell (gratuit) pour redimensionner rapidement les photos pour cet article. D'autres logiciels peuvent, sans aucun doute, faire tout aussi bien.
  • Si vous voulez ajouter des emplacements maintenant, vous pouvez consulter les trois scripts de Joe Weaks (en anglais) pour obtenir l'url d'un fichier. Pour plus d'informations, voir ce fil de discussion dans le forum Accordance
    Utiliser une fenêtre de choix de fichier
    Une application droplet
    Un plug-in Quicksilver


Cet article dans d'autres langues : English
Personal tools