Khusus untuk pemasukan data gambar (ole object) tidak bisa menggunakan
query seperti "insert into ......."
jadi harus insert namanya dulu,
baru kita cari namanya.
 
contoh yg saya kasih, tidak ada proses "insert into... ", dianggap data namanya 
sudah
terisi, kita tinggal update saja (maaf lupa kasih tau kondisi data,kalau sudah 
dalam keadaan
isi).
 
makanya sebelum update ada perintah ini
 
    rs.Open "Select * from tblcustomer where nama = '" & strNama & _
    "'", cn, adOpenKeyset, adLockOptimistic
 
itu untuk mencari datanya, supaya posisi recordnya di posisi data tsb.
 
nah untuk masalah mas bagus,
 
Set rs = New Recordset
rs.Open "insert into tbldata values('Bayu'," + mstream.Read + ")", cn, 
adOpenKeyset, adLockOptimistic 
rs.Update
 
rs.Open nya diganti perintah "select .... where nama = 'Bayu'"
jgn di rs.Update dulu
 
trus
 
rs.Fields("photo").Value = mstream.Read
 
itu cara isi tipe data ole (gambar), tidak bisa pake query
makanya posisi recordnya harus di select dulu, jika hasil select dapet 2 row,
maka field gambarnya akan ter update dua-nya dengan data gambar yg sama,
makanya hati2 cara nyelectnya, kalo perlu di coba dulu, ude dapet 1 row atau 
tidak,
dlm hal ini key nya pake nama, emang ini resiko bisa dapet data kembar, tapi 
ini kan hanya 
contoh, yg bagus pake id / atau apa aja yg unik, jadi gak mungkin dapet lebih 
dari 1 row.
 
setelah itu baru di update
 
rs.update
 
muncul pesan error  ...Type mismatch ... karena dari penggunaan query itu, tipe 
data ole
tidak bisa di query.
 
kalo mau mengambil datanya juga jgn pake query (seperti yg gue kasih contohnya),
tapi pake 
 
rs.Fields("photo").Value
 
gitchuuuuuu ... 
 
moga bermanfaat ......
 


---------------------------------
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Bagus 
Wicaksono
Sent: Monday, July 09, 2007 4:41 PM
To: [email protected]
Subject: Re: FW: [indoprog-vb] Masih mengenai Simpan Gambar di Ms Accsess




Terimakasih ya mas Rudy atas penjelasan dan pencerahanya..

Oh iya mas, saya khan mencoba untuk insert data, dengan code berikut ini :
----------------------------------------------------------

Private Sub Memasukan_Data_Gambar(ByVal strNama As String)
Set cn = New Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
App.Path + "\data.mdb;Persist Security Info=False"
cn.Open

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile App.Path + "\test.jpg"

Set rs = New Recordset
rs.Open "insert into tbldata values('Bayu'," + mstream.Read + ")", cn, 
adOpenKeyset, adLockOptimistic 
rs.Update

rs.Close
cn.Close
End Sub
----------------------------------------------------------

TAPI, tampil pesan error... Type mismatch...

Solusinya bagaimana ya...

Skali lagi trimakasih ya..

NB : field 'Nama' -> Text
field 'Photo' -> OLE Object

Bagus

rudy chasan <[EMAIL PROTECTED]> wrote: 
dulu gue ude pernah posting, gue posting ulang deh.

1. buat form dengan satu tombol command,dan picture box.
2. copy dan paste coding dibawah ini di "(General)" deklarasi.
3. simpan dulu (buat folder untuk contoh aplikasi ini),supaya
app.path nya jalan
4. buat folder di dalam folder ini, "gambar" dan "hasil gambar"

5. buat database accessnya dengan struktur
field name | Data Type
nama | Text
photo | OLE Object
6. insert satu contoh datanya misal nama = coba, untuk field photo dikosongkan
7. siapkan satu contoh gambarnya misal namanya "test.jpg", 
tidak musti file jpg bisa semua file
8. trus jalanin deh

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim mstream As ADODB.Stream

Private Sub Command1_Click()

'berhubung proses ini dilakukan dengan perintah Update,
'maka sebelum meng update (proses yg digunakan untuk
'insert gambar adalah update bukan insert),
'field nama nya sudah harus terisi (melakukan insert data).

'kita misalkan namanya 'coba'

Memasukan_Data_Gambar "coba", App.Path & "\gambar\test.jpg"


'untuk membuktikan kalau sudah benar menyimpannya

Mengambil_Data_Gambar "coba", "coba.jpg", App.Path & "\hasil gambar\"

End Sub


Private Sub Memasukan_Data_Gambar(ByVal strNama As String, _
strFullPathPic As String)

Set cn = New ADODB.Connection

'struktur database test.mdb :
'field name | data type
'nama | Text
'photo | OLE Object

cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source= " & _
App.Path & "\test.mdb;Persist Security Info=True"

Set rs = New ADODB.Recordset

'harus dilakukan perintah select dulu, supaya posisi recordnya
'menuju ke data yg mau di update

rs.Open "Select * from tblcustomer where nama = '" & strNama & _
"'", cn, adOpenKeyset, adLockOptimistic

'menggunakan ADODB.Stream, makanya di references project
'di pilih "Microsoft ActiveX Data Objects 2.5 Object Library"

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open

'misal data gambarnya ada di folder aplikasi ini
'dan di sub folder gambar
'contoh App.Path & "\gambar\test.jpg"

mstream.LoadFromFile strFullPathPic
rs.Fields("photo").Value = mstream.Read
rs.Update

rs.Close
cn.Close

End Sub

Private Sub Mengambil_Data_Gambar(ByVal strNama As String, _
ByVal strNamaFileBaru As String, strFullPathTemp As String)

Set cn = New ADODB.Connection
cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source= " & _
App.Path & "\test.mdb;Persist Security Info=True"

Set rs = New ADODB.Recordset
rs.Open "Select * from tblcustomer where nama = '" & strNama & _
"'", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("photo").Value

'gambar dibuat di folder aplikasi di dalam
'sub folder "hasil gambar"
'contoh App.Path & "\hasil gambar\"
'gambar dari database musti di buat file gambarnya dulu
'baru bisa di tampilkan, nama file dan ext nya
'bebas (coba.jpg,coba.gif)
'makanya kita harus menyimpan info ext filenya,kalau tidak
'mau bisa kita hardcode sendiri (kan cuman untuk temporary doang)

mstream.SaveToFile strFullPathTemp & _
strNamaFileBaru, adSaveCreateOverWrite

'ini untuk melihat hasil dari database

Picture1.Picture = LoadPicture(strFullPathTemp & _
strNamaFileBaru)
Picture1.Refresh

rs.Close
cn.Close

End Sub




semoga bermanfaat .....


---------------------------------
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Bagus 
Wicaksono
Sent: Monday, July 09, 2007 11:37 AM
To: Indoprog
Subject: [indoprog-vb] Masih mengenai Simpan Gambar di Ms Accsess

Teman-teman dan Master-master vb saya mohoon benar bantuan dan pencerahannya, 
saya benar-benar lieer..

Saya diminta membuat data karyawan dikantor dengan menginputkan foto masing 
karyawan.. saya menggunakan VB 6, Ms Access

Gambar fotonya ingin saya simpan di databasenya saja, Saya mohon bantuan dan 
pencerahannya... 

Misalnya saya ada 1 form berisi : objek 
- Command (name: simpan)
- Command(name:tampil)
- Picture

berikut adalah source code untuk koneksi ke databasenya :
----------------------------------------------------------
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strsql As String
Dim mstream As ADODB.Stream

Sub koneksi()
Set cn = New Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source="+app.path+"\data.mdb;Persist Security Info=False"
cn.Open
End Sub

Sub rectabel(strsql As String)
Set rs = New Recordset
rs.CursorLocation = adUseClient
rs.Open strsql, con, adOpenKeyset, adLockOptimistic
End Sub
----------------------------------------------------------

Bagaimana untuk proses penyimpanan datanya ya..

Terimakasih banyak ya..

Bagus

---------------------------------
Fussy? Opinionated? Impossible to please? Perfect. Join Yahoo!'s user panel and 
lay it on us.

[Non-text portions of this message have been removed]

#ygrp-mlmsg { FONT-SIZE: small; FONT-FAMILY: 
arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE { }#ygrp-mlmsg SELECT { 
FONT: 99% arial,helvetica,clean,sans-serif}INPUT { FONT: 99% 
arial,helvetica,clean,sans-serif}TEXTAREA { FONT: 99% 
arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE { FONT: 100% monospace}CODE { 
FONT: 100% monospace}#ygrp-mlmsg { LINE-HEIGHT: 1.22em}#ygrp-text { 
FONT-FAMILY: Georgia}#ygrp-text P { MARGIN: 0px 0px 1em}#ygrp-tpmsgs { CLEAR: 
both; FONT-FAMILY: Arial}#ygrp-vitnav { FONT-SIZE: 77%; MARGIN: 0px; 
PADDING-TOP: 10px; FONT-FAMILY: Verdana}#ygrp-vitnav A { PADDING-RIGHT: 1px; 
PADDING-LEFT: 1px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar { CLEAR: 
both; MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap; TEXT-ALIGN: 
right}#ygrp-actbar .left { FLOAT: left; WHITE-SPACE: nowrap}..bld { 
FONT-WEIGHT: bold}#ygrp-grft { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; 
FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; FONT-FAMILY:
Verdana}#ygrp-ft { PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid; 
PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; 
FONT-FAMILY: verdana}#ygrp-mlmsg #logo { PADDING-BOTTOM: 10px}#ygrp-vital { 
PADDING-RIGHT: 0px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 
8px; PADDING-TOP: 2px; BACKGROUND-COLOR: #e0ecee}#ygrp-vital #vithd { 
FONT-WEIGHT: bold; FONT-SIZE: 77%; TEXT-TRANSFORM: uppercase; COLOR: #333; 
FONT-FAMILY: Verdana}#ygrp-vital UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; 
PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP: 0px}#ygrp-vital UL LI { 
CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid; BORDER-TOP: #e0ecee 1px solid; 
BORDER-LEFT: #e0ecee 1px solid; BORDER-BOTTOM: #e0ecee 1px solid; 
LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct { PADDING-RIGHT: 0.5em; 
FONT-WEIGHT: bold; FLOAT: right; WIDTH: 2em; COLOR: #ff7900; TEXT-ALIGN: 
right}#ygrp-vital UL LI .cat { FONT-WEIGHT: bold}#ygrp-vital A { 
TEXT-DECORATION: none}#ygrp-vital A:hover {
TEXT-DECORATION: underline}#ygrp-sponsor #hd { FONT-SIZE: 77%; COLOR: 
#999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px; PADDING-LEFT: 13px; 
MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; BACKGROUND-COLOR: 
#e0ecee}#ygrp-sponsor #ov UL { PADDING-RIGHT: 0px; PADDING-LEFT: 8px; 
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px}#ygrp-sponsor #ov LI { 
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 6px; 
PADDING-TOP: 6px; LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A { FONT-SIZE: 
130%; TEXT-DECORATION: none}#ygrp-sponsor #nc { PADDING-RIGHT: 8px; 
PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; 
BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad { PADDING-RIGHT: 0px; PADDING-LEFT: 
0px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 { 
FONT-WEIGHT: bold; FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%; 
FONT-FAMILY: Arial}#ygrp-sponsor .ad A { TEXT-DECORATION: none}#ygrp-sponsor 
.ad A:hover { TEXT-DECORATION:
underline}#ygrp-sponsor .ad P { MARGIN: 0px}o { FONT-SIZE: 0px}..MsoNormal { 
MARGIN: 0px}#ygrp-text TT { FONT-SIZE: 120%}BLOCKQUOTE { MARGIN: 0px 0px 0px 
4px}..replbq { }

---------------------------------
Sekarang dengan penyimpanan 1GB
http://id.mail.yahoo.com/

[Non-text portions of this message have been removed]





---------------------------------
Shape Yahoo! in your own image. Join our Network Research Panel today!

[Non-text portions of this message have been removed]



 #ygrp-mlmsg {  FONT-SIZE: small; FONT-FAMILY: 
arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE {     }#ygrp-mlmsg SELECT {  
 FONT: 99% arial,helvetica,clean,sans-serif}INPUT {      FONT: 99% 
arial,helvetica,clean,sans-serif}TEXTAREA {   FONT: 99% 
arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE {    FONT: 100% monospace}CODE 
{     FONT: 100% monospace}#ygrp-mlmsg  {     LINE-HEIGHT: 1.22em}#ygrp-text {  
      FONT-FAMILY: Georgia}#ygrp-text P {     MARGIN: 0px 0px 1em}#ygrp-tpmsgs 
{      CLEAR: both; FONT-FAMILY: Arial}#ygrp-vitnav {  FONT-SIZE: 77%; MARGIN: 
0px; PADDING-TOP: 10px; FONT-FAMILY: Verdana}#ygrp-vitnav A {   PADDING-RIGHT: 
1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar {    
 CLEAR: both; MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap; TEXT-ALIGN: 
right}#ygrp-actbar .left { FLOAT: left; WHITE-SPACE: nowrap}..bld {        
FONT-WEIGHT: bold}#ygrp-grft {  PADDING-RIGHT: 0px; PADDING-LEFT: 0px; 
FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; FONT-FAMILY:
 Verdana}#ygrp-ft {     PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid; 
PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; 
FONT-FAMILY: verdana}#ygrp-mlmsg #logo {      PADDING-BOTTOM: 10px}#ygrp-vital 
{      PADDING-RIGHT: 0px; PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; 
PADDING-BOTTOM: 8px; PADDING-TOP: 2px; BACKGROUND-COLOR: #e0ecee}#ygrp-vital 
#vithd {       FONT-WEIGHT: bold; FONT-SIZE: 77%; TEXT-TRANSFORM: uppercase; 
COLOR: #333; FONT-FAMILY: Verdana}#ygrp-vital UL {        PADDING-RIGHT: 0px; 
PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP: 
0px}#ygrp-vital UL LI {       CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid; 
BORDER-TOP: #e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid; BORDER-BOTTOM: 
#e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct {    
PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right; WIDTH: 2em; COLOR: 
#ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI .cat {   FONT-WEIGHT: 
bold}#ygrp-vital A {       TEXT-DECORATION: none}#ygrp-vital A:hover {
        TEXT-DECORATION: underline}#ygrp-sponsor #hd {  FONT-SIZE: 77%; COLOR: 
#999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px; PADDING-LEFT: 13px; 
MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; BACKGROUND-COLOR: 
#e0ecee}#ygrp-sponsor #ov UL {   PADDING-RIGHT: 0px; PADDING-LEFT: 8px; 
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px}#ygrp-sponsor #ov LI {       
 PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 6px; 
PADDING-TOP: 6px; LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A {  FONT-SIZE: 
130%; TEXT-DECORATION: none}#ygrp-sponsor #nc {      PADDING-RIGHT: 8px; 
PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; 
BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad {   PADDING-RIGHT: 0px; PADDING-LEFT: 
0px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 {   
FONT-WEIGHT: bold; FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%; 
FONT-FAMILY: Arial}#ygrp-sponsor .ad A { TEXT-DECORATION: none}#ygrp-sponsor 
.ad A:hover {       TEXT-DECORATION:
 underline}#ygrp-sponsor .ad P {        MARGIN: 0px}o { FONT-SIZE: 
0px}..MsoNormal {    MARGIN: 0px}#ygrp-text TT {     FONT-SIZE: 120%}BLOCKQUOTE 
{    MARGIN: 0px 0px 0px 4px}..replbq {      }
                
---------------------------------
Kunjungi halaman depan Yahoo! Indonesia yang baru!

[Non-text portions of this message have been removed]

Kirim email ke