Bonjour à tous!
Je me sert beaucoup de la FAQ et de tous les msg postés pour m'aider dans l'avancement de mon projet access (et j'essaye de donner des conseils quand j'ai trouvé qqchose d'intéressant!!), mais là je bloque...alors je vous soumet mon probleme en espérant que vous pourrez m'aider...
J'ai une base de données ACCESS 2003 dans laquelle j'ai un formulaire qui va chercher le chemin de 10 images (photo1 à photo10) et stocke ce chemin relatif dans une table (Tuto ouvrir fichier). Puis avec un bouton je fais afficher l'image (encore un bon tuto!!) du genre :
Me.imgPhoto1.Picture = CurrentProject.Path & "\" & Photo1 , où photo1 est le chemin de la photo du genre "Photos\2006\Canon123.jpeg".
Cela marche très bien, la base de données reste de taille acceptable vu que seulement le chemin des photos est stocké.
Mais mon boss qui as la base sur son ordi du bureau veux transferer une partie de la base sur son laptop. Jai donc fais un formulaire de transfert (lier les tables, puis supprimer - trouvé sur la FAQ).
Mais là les photos ne s'affichent plus.....Pourtant le dossier "Photos\2006" est également copié dans le même répertoire que la base; et il se passe le même problème si je copie/colle la base manuellement....
En ouvrant la table des photos de la base de donnée copiée je vois l'enregistrement de chaque photos: le chemin est conservé mais il y a apparition de sigles bizarres; exemple:
Photo1 : Photos\2006\Canon123.jpeg
En effacant manuellement les , la photo se réaffiche dans mon formulaire.
En fait les apparaissent dans ma table originelle...mais les photos s'affichent...
Alors deux questions :
- Pourquoi cela arrive-t-il ?
- Comment l'éviter OU comment supprimer par le code tous les intempestifs AVANT ou APRES un déplacement de la base?
Merci d'avance de votre aide !
Code pour chercher le chemin de l'image1 et l'afficher:
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 Private Sub cmdPhoto1_Click() Dim strLink As String On Error Resume Next strLink = OuvrirUnFichier(Me.Hwnd, _ "Sélection de la 1ère photo pour l'évaluation en cours", _ 1) If Len(strLink) > 0 Then Photo1 = Right(strLink, Len(strLink) - Len(CurrentProject.Path)) DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 Me.imgPhoto1.Picture = CurrentProject.Path & "\" & Photo1 Me.txtPhoto1.Visible = False End If Err.Clear End Sub
Ma base est compactée automatiquement à la fermeture je vais tester si cela peut influer....
Partager