Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2007, 09h08   #1
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Par défaut Gestion de photo

Bonjour à tous,

J'ai des petits soucis avec ma base de données .
- D'une part, je ne sais pas si mon MCD est correct ou pas
- d'autre part, même si j'ai regardé le super Tuto de Caféine sur la gestion des photos, ça n'a pas marché, j'ai pas réussi peut être à l'adapter.

Est ce qu'il y a une autre manière de gérer les photos sous access que je pourrais faire ?

En effet, je veux ajouter des nouvelles machines sur une base avec leur photo que j'irai chercher dans un dossier externe à la base

Chaque machine aurait une, deux ou aucune photo !
Une machine peut avoir une ou plusieurs révisions.
Dans une révision, je dois pouvoir saisir le nombre d'heures passé sur la machine et les marchandises que l'on a déposé. Le fait de mettre le nombre d'heures permettrait par la suite de calculer le prix de reviens d'une machine grâce à un taux horaire qui sera affecté.


J'aurais voulu que mon prix d'achat soit codifié ( par exemple : AA3000AA00 si la machine a été achetée à 3000 € )


J'ai jamais essayé de faire une gestion de photo sur une base de données et à vrai dire, je suis un peu embêtée par mon patron qui veut absolument que je termine ce projet avant la fin de mon stage !

Je vous mets la base de données.

Merci d'avance pour vos aides
Fichiers attachés
Type de fichier : rar suivi produit.rar (20,0 Ko, 8 affichages)
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 10h26   #2
Membre du Club
 
Inscription : mars 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 47
Points : 44
Points : 44
Bonjour,

En regardant les relations de ta base, plusieurs choses me semblent sources de problèmes.

Déjà je te conseil fortement de reprendre dans chaque zone, le nom ou une partie du nom de la table auquel la zone appartient, pour faciliter l'identification de l'information que ta zone représente.

Ensuite, concernant le lien entre la tblMachine et la tblLivraison, si je comprend bien la tblLivraison représente toutes les livraisons de machines que vous faites. Donc une livraison concerne 1 et 1 seule machine, et une machine peut être livrée X fois. Dans ca cas, je ne vois pas l'intérêt de reprendre le Numéro de livraison dans la tblMachines. C'est le contraire qui doit etre fait : un NumeroMachineLivraison dans la tblLivraison qui sert de lien avec le NumeroMachine (de la tblMachine).

D'ailleurs, c est bien comme ca que tu as fait avec la tblReviser (L'identifiant de la machine se trouve dans la tblReviser)

Cependant, je ne comprend pas bien l'intérêt de la tblReviser. elle ne contiens que le taux horaire. si ce taux est différent à chaque révision même pour une même machine, pourquoi ne pas tout simplement le mettre dans la tblRevision ?

Entre parenthèse, même problème dans la relation entre tblMachine et tblRevision qu'entre tblMachine et tblLivraison, il faut reprendre le NumeroMachine (de la tblMachine) dans la tblRevision (NumeroMachineRevision par exemple) et supprimer le NoReviz de la tblMachine.
Mig21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 10h52   #3
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Merci pour ton aide Mig21

Alors l'histoire avec la table Livraison :

En effet, les livraisons ont un libellé et un prix mais ca ne concerne pas toutes les machines et un meme type de libellé peut être utilisé par une ou plusieurs machines (si le prix n'est pas différent)

Je pensais que le taux horaire changait à chaque de temps en temps, je ne voyais pas les choses comme toi mais je vais la mettre dans la table Revision..

Sinon, aurais-tu d'autre proposition pour mes tables ? (avec les modifications que tu m'as apportée)

tblMachine

NoMachine
NomMachine
....


tblLivraison
NoLivraisonMach
pxLivraisonMach
LibelLivraisonMach
NoMachine

tblRevision
NoRevisionMach
NbHeurRevisionMach
TxHoraireRevisionMach
MarchandisesRevisionMach
NoMachine
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 11h37   #4
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Dans le tuto de Caféine, j'ai repris son code source
Mais, j'ai toujours le message d'erreur qui me dit que l'emplacement du fichier n'a pas été trouvé

J'ai changé le :

Code :
Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg"
Par :
Code :
"C:\Documents and Settings\Administrateur\Mes documents\....\images\blank.jpg"
Quelqu'un pour me dire où se trouve l'erreur svp ?
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 11h51   #5
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 934
Points : 9 934
Envoyer un message via Skype™ à Domi2
Bonjour,

Tu as également enlevé

[IMG]CurrentProject.Path[/IMG]

qui renvoie le répertoire dans lequel est installé ta base ?

Tu devrais avoir

Code :
Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\....\images\blank.jpg"
Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 15h05   #6
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
j'ai toujours pas réussi à enlever le problème de code...
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 15h29   #7
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 934
Points : 9 934
Envoyer un message via Skype™ à Domi2
Re,

Tu peux poster la totalité du code que tu utilises...

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h21   #8
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Salut,
je te poste complètement le projet si tu as le temps de regarder je serais bien contente..

Merci par avance..
Fichiers attachés
Type de fichier : rar suivi produit.rar (147,2 Ko, 6 affichages)
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h56   #9
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 934
Points : 9 934
Envoyer un message via Skype™ à Domi2
Ben navré, mais je ne vois ni formulaire, ni code (à part le module1 qui contient la fonction OpenFile).

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 17h01   #10
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
AH BON ??

Pourtant ils sont bien dedans, je ne comprend pas là
Je suis complètement déconnectée !!

Tant pis, je te poste ci-dessous les codes de mon formulaires d'ajout machine :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
Option Compare Database
 
Private Sub Commande48_Click()
On Error GoTo Err_Commande48_Click
 
 
    DoCmd.GoToRecord , , acNewRec
 
Exit_Commande48_Click:
    Exit Sub
 
Err_Commande48_Click:
    MsgBox Err.Description
    Resume Exit_Commande48_Click
 
End Sub
Private Sub Commande54_Click()
On Error GoTo Err_Commande54_Click
 
 
    DoCmd.Close
 
Exit_Commande54_Click:
    Exit Sub
 
Err_Commande54_Click:
    MsgBox Err.Description
    Resume Exit_Commande54_Click
 
End Sub
Private Sub Commande55_Click()
On Error GoTo Err_Commande55_Click
 
 
    DoCmd.Quit
 
Exit_Commande55_Click:
    Exit Sub
 
Err_Commande55_Click:
    MsgBox Err.Description
    Resume Exit_Commande55_Click
 
End Sub
 
Private Sub Commande56_Click()
' Bouton d'ajout - modification de photo
Dim strLink As String
 
' Gestion des erreurs
On Error GoTo Catch01
 
' récupération du chemin physique de la photo
'  par la boite de dialogue
strLink = OuvrirUnFichier(Me.Hwnd, _
                         "Sélectionner une photo pour la machine " & Me.NomMach, _
                         1)
 
' si la boite renvoie une adresse non nulle
If Len(strLink) > 0 Then
    ' tentative d'affichage de la photo
    Me.imgPhoto.Picture = strLink
    Me.Photo = strLink
End If
 
DisplayPhoto
Exit Sub
 
Catch01:
Select Case Err.Number
    Case 2114
        'Cas d'un type de fichier photo non supporté ...
        '  on sort de la procédure
        MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
        Exit Sub
    Case 2220
        'Cas d'un emplacement non valide du fichier image
        MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
                Me.Photo, vbCritical + vbOKOnly, "Application Photos"
        Exit Sub
    Case Else
        ' tout autre cas d'erreur
        MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
End Select
Err.Clear
 
 
End Sub
 
Private Sub Form_Current()
' L'événement Activation (Current) se produit lorsque le focus passe à un enregistrement
'  donné pour en faire l'enregistrement en cours, ou lorsque le formulaire est
'  Actualisé ou en Actualisation.
 
' si le nom du salarié est non vide : on visualise un enregistrement
'  sinon cela indique que nous sommes sur un enregistrement vierge, donc en cours de saisie.
'  Me.Caption : gère le titre du formulaire.
If Len(Me.NomMach) > 0 Then
    Me.Caption = "Détails pour le salarié : " & Me.NoMach & " - " & Me.NomMach
Else
    Me.Caption = "Saisie d'une nouvelle machine"
End If
 
' Gestion des erreurs
On Error GoTo Catch02
 
' si la photo n'est pas définie, on affiche la photo blank.jpg
' CurrentProject.Path : est le chemin de l'application
If Len(Me.Photo) > 0 Then
    Me.imgPhoto.Picture = Me.Photo
Else
    Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\Zilfana\images\blank.jpg"
End If
 
DisplayPhoto
 
Exit Sub
 
Catch02:
Select Case Err.Number
    Case 2114
        'Cas d'un type de fichier photo non supporté ...
        MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
        Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\Zilfana\images\blank.jpg"
        Me.Photo = vbNullString
    Case 2220
        'Cas d'un emplacement non valide du fichier image
        MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
                Me.Photo, vbCritical + vbOKOnly, "Application Photos"
        Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\Zilfana\images\blank.jpg"
        Me.Photo = vbNullString
    Case Else
        ' tout autre cas d'erreur
        MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
End Select
Err.Clear
 
End Sub
Sub DisplayPhoto()
' Traitement en fonction de la taille de l'image
 
' regarde si la hauteur de l'image dépasse celle du controle Picture
If Me.imgPhoto.ImageHeight > Me.imgPhoto.Height Then
    ' met le controle en mode zoom
    Me.imgPhoto.SizeMode = 3
Else
    ' met le contrôle en mode respect de la taille originale
    Me.imgPhoto.SizeMode = 0
End If
 
' si la largeur dépasse et qu'on est en mode taille réelle ...
If (Me.imgPhoto.ImageWidth > Me.imgPhoto.Width) And (Me.imgPhoto.SizeMode) = 0 Then
    ' on met en mode zoom
    Me.imgPhoto.SizeMode = 3
End If
 
End Sub
 
Private Sub Commande57_Click()
' Bouton de commande d'effacement de la photo
 
' supprime l'adresse de la photo
Me.Photo = vbNullString
 
' affiche l'image blank.jpg
Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\Zilfana\images\blank.jpg"
 
' redimensionne la photo
DisplayPhoto
 
End Sub
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 17h05   #11
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
J'espère que tu verras cette fois-ci le projet..
Fichiers attachés
Type de fichier : rar Suivi Produit.rar (128,5 Ko, 12 affichages)
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 20h12   #12
Membre du Club
 
Inscription : mars 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 47
Points : 44
Points : 44
Dans l'appli que tu as mis sur le forum, le fichier que tu cherches est blank.jpg, et les 2 images qui sont dans le repertoire \Zilfana\images\ sont blank.gif et blank2.jpg => probleme


Et tu n'as pas modifier les tables et leurs relations comme je te l'avais conseillé.

Un conseil : lors de la création des champs d'une table, il existe la propriété "légende" qui sera reprise automatiquement dans le label associé à un champ quand tu l'inseres dans un formulaire. Ca evitera des titres de champs relativement incompréhensibles pour l'utilisateur
Mig21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 09h04   #13
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 934
Points : 9 934
Envoyer un message via Skype™ à Domi2
Bonjour,

Effectivement, comme mentionné par Mig21, c'est le chemin des photos qui n'est pas correct, et non pas le code.

Un autre conseil. Pour des raisons de portabilité de ton application, dans le répertoire ou tu l'installes, tu crées un dossier Images dans lequel tu places ta photo par défaut et dans le code, tu remplaces

Code :
Me.imgPhoto.Picture = "C:\Documents and Settings\Administrateur\Mes documents\Zilfana\images\blank.jpg"
par

Code :
Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank2.jpg"
Ceci car il m'étonnerait que "Zilfana" soit un nom de répertoire valide sur tous les postes de travail.

Ainsi, tu n'auras pas à modifier le code de ton appli machine par machine.

Domi2

P.-S. Je n'ai pas regardé le reste de l'application.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 09h13   #14
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Merci à vous 2,

En effet Mig21, le souci c'est que la livraison n'est pas faite pour une et une seule machine
Elle peut être faite pour 1 ou plusieurs Machine
et la machine peut n'avoir 1 et 1 seule Livraison
Sinon j'ai bien modifié comme tu me l'as conseillée, les tables tblRevision avec les noms de champs qui correspondraient à cette table et la Table Reviser (que j'ai supprimé).

Et DOMI, lorsque j'ai changé le code par celui que tu m'as proposée, un message d'erreur comme celui-ci apparaît :

Citation:
Le fichier n'a pas pu être trouvé à l'emplacement indiqué
Je fais OK

et l'erreur 2220

Citation:
Microsoft ne peut pas ouvrir le fichier "Vrai"

Auriez-vous des explications pour ces messages ?

Merci
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 09h17   #15
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 233
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 233
Points : 9 934
Points : 9 934
Envoyer un message via Skype™ à Domi2
Tu as bien créé un sous-répertoire images dans le dossier qui héberge ton appli ? Et placé ton image dedans ?

De plus, le code doit se changer à 3 endroits.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 11h49   #16
Futur Membre du Club
 
Inscription : mai 2007
Messages : 73
Détails du profil
Informations personnelles :
Âge : 23

Informations forums :
Inscription : mai 2007
Messages : 73
Points : 17
Points : 17
Merci beaucoup, tous les problèmes sont résolus

En fait, j'avais un premier formulaire qui était basé sur une requête
Lorsque je lançais la recherche, limage s'actualisait pas automatiquement avec la machine

C'était simplement le fait, que je n'ai pas mis le code sur le formulaire de visu de la machine justement.

Un copier/coller a suffi pour tout résoudre. et j'avais bien changé sur les 3 endroits du code

Merci de nouveaux
Zilfi63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h46.


 
 
 
 
Partenaires

Hébergement Web