Généralement il n'est pas conseillé de stock directement des images dans la base de donnée.
Il faut donc stocker la référence relative de ses images. Ce bout de code est donc une
des exemple pour ce cas.
Les donnés Textuel stockées dans une base de donné Access et Les images dans un répertoire.
Source / Exemple :
Public RS As Recordset
Private Sub cmdEdit_Click()
RMode = "Modifier"
frmEdit.Show
End Sub
Private Sub cmdNew_Click()
RMode = "Ajout"
frmEdit.Show Modal
End Sub
Private Sub Form_Load()
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\images.mdb;"
Set RS = New Recordset
RS.Open "tDescription", db, adOpenStatic, adLockOptimistic
txtDescription.Text = RS.Fields(1).Value
While RS.EOF = False
istName.AddItem RS.Fields(0).Value
RS.MoveNext
Wend
RS.MoveFirst
On Error GoTo Erreur 'Gestion de fichier manquant
picPhoto.Picture = LoadPicture(App.Path & "\ph\" & RS.Fields(0).Value & ".jpg")
Exit Sub
Erreur:
ErrFile 'Appel de la procedure gerant les fichier manquant
End Sub
Private Sub istName_Click()
RS.MoveFirst
For i = 1 To istName.ListIndex
RS.MoveNext
Next i
txtDescription.Text = RS.Fields(1).Value
On Error GoTo Erreur 'Gestion de fichier manquant
picPhoto.Picture = LoadPicture(App.Path & "\ph\" & istName.Text & ".jpg")
Exit Sub
Erreur:
ErrFile 'Appel de la procedure gerant les fichier manquant
End Sub
Private Sub ErrFile()
picPhoto.Picture = LoadPicture(App.Path & "\ph\" & "error.jpg")
End Sub
'Formulaire d'ajout
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdInsert_Click()
dialogFile.Filter = "Fichier JPG" & Chr$(0) & "*.jpg"
dialogFile.ShowOpen
lblChemin.Caption = dialogFile.FileName
picPhoto.Picture = LoadPicture(dialogFile.FileName)
End Sub
Private Sub cmdOk_Click()
On Error GoTo Erreur
Select Case RMode
Case "Ajout"
'Ajout des données
'=================
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\images.mdb;"
db.Execute "INSERT INTO tDescription (Nom, Description) VALUES('" & txtNom.Text & "' , '" & txtDescription.Text & "')"
FileCopy dialogFile.FileName, App.Path & "\ph\" & txtNom.Text & ".jpg"
Case "Modifier"
Case Else
Unload Me
End Select
Exit Sub
Erreur:
MsgBox Err.Description
End Sub
Private Sub Form_Load()
Me.Caption = RMode
End Sub
Conclusion :
Juste pour Rebutant
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.