List des images avec base de données et repertoir d'image

Description

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

Codes Sources

A voir également

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.