Input images ke Access dengan VB

Go to Core Coding VB
Coding sebagai berikut:
Dim conn As New ADODB.Connection
Dim strconnect As String
Dim gambarku As New ADODB.Stream

' Cara menyimpan gambar atau foto ke database Access dengan Visual Basic 6
' Baca tutorial lengkap di

Function OpenConn() As Boolean


On Error GoTo ErrHandler
strconnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db.mdb"
If conn.State = adStateOpen Then
conn.Close
Set conn = New ADODB.Connection
conn.Open (strconnect)
OpenConn = True
Else
conn.Open (strconnect)
OpenConn = True
End If
Exit Function
ErrHandler:
OpenConn = False
MsgBox "Koneksi tidak bisa dibuka, pastikan databasenya ada dan tidak sedang dibuka oleh aplikasi lain", vbExclamation, "Koneksi Error"
End Function

Private Sub Command1_Click()
' Langsung simpan gambar
If Text1 = "" Then MsgBox "Isi nama dulu": Exit Sub
Dim sumber, Path As String
CommonDialog1.DialogTitle = "Pilih Gambar"
CommonDialog1.Filter = "Picture (*.Jpg; *.Jpeg; *.Bmp; *.Gif)|*.jpg; *.jpeg; *.bmp; *.gif"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
sumber = CommonDialog1.FileName
Image1.Picture = LoadPicture(sumber)
With Adodc1.Recordset
.AddNew
.Fields.Item(1).Value = Text1
Set gambarku = New ADODB.Stream
gambarku.Type = adTypeBinary
gambarku.Open
gambarku.LoadFromFile CommonDialog1.FileName
.Fields.Item(2).Value = gambarku.Read
.Update
End With
MsgBox "Data ditambahkan'"
Image1.Picture = LoadPicture("")
End If
End Sub

Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
' Kita mau tampilkan data ke Text1 dan Image1
On Error GoTo ErrHandler
With Adodc1.Recordset
' Nilai Text1
Text1 = .Fields.Item(1).Value
' menggunakan ADODB.Stream karena gambarnya dari database
Set gambarku = New ADODB.Stream
gambarku.Type = adTypeBinary
gambarku.Open
gambarku.Write .Fields.Item(2).Value
' simpan temporary gambar ke file
gambarku.SaveToFile App.Path & "\Temp", adSaveCreateOverWrite
' temporary gambar yang disimpan ke file tadi di tampilkan ke Image1
Image1.Picture = LoadPicture(App.Path & "\Temp")
' hapus temporary gambar
Kill App.Path & "\Temp"
End With
Exit Sub
ErrHandler:
' kalau gambar kosong di database kita buat kosong juga untuk Image1
If Err.Number = "3001" Then Image1.Picture = LoadPicture(""): Exit Sub
End Sub

Private Sub Form_Load()
If Not OpenConn Then End
Adodc1.ConnectionString = strconnect
Adodc1.RecordSource = "SELECT * FROM tb_foto"
Adodc1.Refresh
DataGrid1.AllowUpdate = False
Set DataGrid1.DataSource = Adodc1
End Sub

-----
Interfacing:

Komentar

  1. mas, saya mau mengambil gambar yang didatabase untuk ditampilkan di crystal report, trus saya pilih oleoject mas, knapa ya format untuk gambar bitmap tidak muncul mas, mohon solusinya mas...

    BalasHapus

Posting Komentar

Postingan Populer