Enregistrement d'une image au base de donnée Access

fdaly007 Messages postés 19 Date d'inscription dimanche 23 septembre 2007 Statut Membre Dernière intervention 18 septembre 2009 - 6 nov. 2008 à 13:44
NISANDSYSTEMS Messages postés 146 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 13 décembre 2014 - 6 nov. 2008 à 18:30
Salut à tous
mon probleme est que je veut enregistrer une image à la base de donnée access.
j'ai effectuer la chargement de l'image mais l'enregistrement pas encore je veut un code qui permet l'enregistrement de cet image.
g declarer l'image à la base comme "Objet OLE" et voici mon code :
....
....
RS!VoiImg=picContain.Picture
....
mais ça ne marche pas.

merci d'avence

1 réponse

NISANDSYSTEMS Messages postés 146 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 13 décembre 2014
6 nov. 2008 à 18:30
Bonsoir.

Option Explicit

Dim dbname As String
Dim ConnStr As String
Dim Sql As String
Dim dbConn As New ADODB.Connection
Dim dbRec As New ADODB.Recordset
Dim dbCmd As New ADODB.Command
Dim dataBytes() As Byte

Private Sub ImageBrowseTo_Click()
On Error Resume next

With CommonDialog
    .Filter = "Jpeg Files(*.jpeg)|*.jpeg|Jpg Files(*.jpg)|*.jpg" & _
    "|Gif Files(*.gif)|*.gif|Bitmap Files(*.bmp)|*.bmp|All Supported Files|*.jpeg;*.jpg;*.gif;*.bmp"
    .CancelError = True
    .ShowOpen
   
    If .FileName <> "" Then
        Me.MousePointer = vbHourglass
       
        txtImageFilename.Text = .FileName
       
        ReDim dataBytes(FileLen(.FileName))
        Open .FileName For Binary As #1
            Get #1, , dataBytes
        Close #1
       
        Me.MousePointer = vbDefault
    End If
End With

End Sub

Private Sub CmdUpdate_Click()
  On Error GoTo hell

    Me.MousePointer = vbHourglass

    dbname = App.Path & "\MasterDB.mdb"
    ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbname & _
    ";Persist Security Info=False"

    Set dbConn = New ADODB.Connection
    dbConn.ConnectionString = ConnStr
    dbConn.Open

    Sql = "SELECT * FROM tbl_Images"
    Set dbRec = New ADODB.Recordset
    dbRec.Open Sql, dbConn, adOpenStatic, adLockOptimistic

    dbRec.AddNew
    dbRec.Fields("ImageName").Value = txtImageName.Text
    dbRec.Fields("ImageFile").AppendChunk dataBytes
    dbRec.Update
    dbRec.UpdateBatch adAffectAllChapters

    dbRec.Close
    dbConn.Close

    Me.MousePointer = vbDefault

    MsgBox "Enregistrement effectué.", vbInformation + vbOKOnly, "Add New Record"

End Sub

Voilà ce petit bout de code qui m'a bien servi.

@+
Philippe.
0
Rejoignez-nous