Visites

   visiteurs

   visiteurs en ligne

Sujet n°295 Comment Gerer les insertions d'Images Pieces jointes par requete
    par Rudolf le 19/11/2009 : 23:02

Bonjour,

je cherche déséspérément de l'aide pour mon problème:

j'ai une table (cartes) avec un lien Image piece Jointe (Pic), j'arrive à changer le nom du fichier par

UPDATE Cartes SET Cartes.Pic.Value.FileName= 'MonNouveauPic.gif'

Mais je n'arrive pas à recharger les données automatiquement du FileData.

Connaissez vous un moyen de le faire?

merci d'avance

Rudolf


Réponse n° 1 par 3Stone le 21/11/2009 : 14:24
Bonjour,

Je ne peux que te conseiller de ne pas utiliser cette méthode.
La seule bonne manière de gérer des images en gardant toutes les libertés et en restant léger pour la base est très bien décrite ici.

Cordialement,
Pierre(3stone)

Réponse n° 2 par Rudolf le 21/11/2009 : 18:40
Merci Pierre,
le soucis est que j'ai une base existante avec 14000 image. La place et la rapidité d'accès n'a pas trop d'importance.
De plus je veux pouvoir avoir la souplesse de prendre un fichier qui contient toutes les images (sinon, il faut galèrer à aller chercher les images qui sont mises en base dans plein de répertoires).
C'est quand même étonnant qu'il n'y ait pas de solution triviale! En SQL c'est tout simple( du coup c'est peut etre la solution, abandonner access, passer la conversion et utiliser SQL)... mais bon...

Réponse n° 3 par 3Stone le 21/11/2009 : 22:18
Bonjour,


Dixit...
C'est quand même étonnant qu'il n'y ait pas de solution triviale!


Elle existe peut-être, mais je n'ai actuellement pas ce qu'il faut sous la main pour vérifer cela...

Cordialement,
Pierre(3stone)

Réponse n° 4 par Rudolf le 22/11/2009 : 15:25
Bonjour,
c'est un sujet qui semble avoir fait couler bcp de pixels. en tout cas, je n'ai pas trouvé de reponse dans les forums americains. je me demande s'il est possible d'acceder à la routine qui ouvre la boite de dialogue pour le chargement de la piece jointe... ca pourrait aussi etre une solution en automatisant le click.
Réponse n° 5 par 3Stone le 23/11/2009 : 15:57
Bonjour,

Les fichiers joints sont une "nouveauté" de Access 2007. Et, en admettant que cela fonctionne parfaitement, je préfère et n'utiliserai malgré tout que la méthode du répertoire externe wink

On crée un répertoire, disons "Base_Image" dans lequel on place la base et le répertoire source de toutes les images.
Lorsque l'on doit transmettre cette base, on transmet simplement le répertoire "Base_image" sans se préocuper de l'endroit ou ce répertoire sera placé.

Dans la base, un simple Application.CurrentProject.path & "\Images\" me donne automatiquement le bon chemin d'accès à mes images. Dans la table, je ne sauve que le nom de l'image!

Cela me donne toutes les libertés que je souhaites... et aucun risque de perte en cas de corruption de la base wink

Si les images originales sont dispersées sur le disque dur, une simple fonction exécutée lors de la sélection de l'image fera une copie vers le répertoire "images" et sauve son nom dans la table. Ainsi, je reste maitre du jeu.

Cordialement,
Pierre(3stone)

Réponse n° 6 par Rudolf le 23/11/2009 : 17:27
Bonjour Pierre, merci pour ce conseil.
Je dois eviter  de toucher à la Base (sans nouveau formulaire, sans nouveau champs), mais d'utiliser les formulaires de requetes existants, ou alors il y a plein de programme à modifier. Pour l'instant je peux tout de meme utiliser "MasterTable.Pic.Filename' et faire une interface, mais bon...
Existe t'il une requete comme dans SQL qui donne la liste des procedures stockées systeme  et des types systemes? (sq_procedures), (systables), systypes?

Réponse n° 7 par Rudolf le 23/11/2009 : 17:43
Je viens de trouver pour la table systeme, en furetant un peu :
SELECT name FROM MSysObjects
Réponse n° 8 par Rudolf le 23/11/2009 : 17:48
Et la table "MSysQueries" à l'air interessante!!!

DébutPrécédent [ 1 2 ] SuivantFin

[ Retour à la liste des sujets ]

Recherche



Préférences

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut