Comment récupérer le path total d'un objet enregistré dans un champ de type "piè

Résolu
hyunikel Messages postés 16 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 5 novembre 2009 - 26 déc. 2008 à 08:15
hyunikel Messages postés 16 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 5 novembre 2009 - 27 déc. 2008 à 04:21
Bonjour tout le monde,

Je développe depuis des jours une application de gestion d'une école en Java Netbeans 6.1 et avec MS Access 2007.

J'ai créé la base de données dont une table est composée d'un champ de type "pièce jointe" ainsi que d'autres champs.

J'ai pu coder en Java des instructions permettant de sauvegarder, dans ce champ de type "pièce jointe", les photos d'identité des élèves à partir du disque dur.

Mais le problème que mon application doit aussi pouvoir récupérer la path ou le chemain physique de chaque photo sur le disque dur, au moment où je désire afficher les informations relatives à chaque élève. Car il est seulement possible de récupérer le nom de la photo mais pas son path, lorsqu'on écrit la requête "SELECT photo FROM nomTable;"

Je n'arrive pas à savoir comment récupérer le path ou bien le chemin physique total d'une photo (ou bien d'un objet en général) enregistrée dans un champ de type "pièce jointe" d'une table MS Access 2007?

J'ai cherché par tout sur le net sans aucun résultat...
S"il vous plait, quelqu'un a une idée comment résoudre ce problème?
Merci..

5 réponses

hyunikel Messages postés 16 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 5 novembre 2009
27 déc. 2008 à 04:21
Merci Rorix83, ton idée m'a inspiré d'une meilleure solution.

En fait, j'ai tout fouillé dans la documentation Access 2007 et je n'ai trouvé aucune indication qui montre s'il est possible d'ajouter une pièce jointe à la base Access à travers une requête SQL, à moins qu'on ouvre la base.accdb et qu'on aille directement directement au champ pour l'ajouter manuellement et non pas à travers un code d'un langage de programmation.

Ce que j'ai fait est le suivant:
J'ai enlevé le champ de type pièce jointe de la table de ma base et je l'ai remplacé par deux autres de type texte; un pour le nom et le type de la photo, et le deuxième est pour stocker son path entier.
Bien sur avec quelques modifications au niveau du code, le tour a été joué.

Encore une fois merci pour toi de votre aide Rorix83, et bon weekend.
3
Rorix83 Messages postés 18 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 26 décembre 2008
26 déc. 2008 à 10:04
Je ne connais pas MS Access, néanmoins j'ai travaillé avec d'autres SGBD.

Une solution possible serait d'enregistrer toutes tes photos dans le même dossier.
(tu peux concaténer la valeur renvoyée par la fonction time() au nom de ta photo).

Pour le Path, tu aura a définir une constante qui sera le chemin du dossier choisi.
0
hyunikel Messages postés 16 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 5 novembre 2009
26 déc. 2008 à 10:48
Merci Rorix83 de m'avoir répondu à mon sujet.

Bon, pour le path, j'ai déjà définit une constante de type chaine de caractères que j'ai stocké le path (que j'ai choisi) dedans. Mais, le problème c'est qu'avec cette solution, l'utilisateur ne sera pas libre de choisir le path où il veut stocker ses photos sur son disque dur.
J'aime bien savoir comment peut-on récupérer le path de toute photo du moment où l'on accède à son champ dans la base (Microsoft Access) avec la requête SELECT. Car comme j'ai dis au dessus, la requête SELECT pour un champ de "pièce jointe" ne permet de renvoyer que le nom de l'objet du même type, mais pas tout son path.

Merci
0
Rorix83 Messages postés 18 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 26 décembre 2008
26 déc. 2008 à 18:41
En stockant le path dans un nouvel attribut?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hyunikel Messages postés 16 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 5 novembre 2009
26 déc. 2008 à 21:42
Merci,

Je vais essayer ton idée Rorix83, mais, à propos de la fonction time() que tu m'as proposé une solution avec. Je ne l'ai jamais utilisée cette fonction. Je ne connais pas son rôle. C'est pour cela que je n'ai pas compris ce que tu m'as proposé.

Merci bien Rorix83
0
Rejoignez-nous