Академический Документы
Профессиональный Документы
Культура Документы
Coding4ever’s Blog
Just coding… coding… and coding… because coding should be fun :)
RSS
Search
Navigate…
Home
Archives
Gudang Software
Source Code
Aplikasi Gratis
Disini saya tidak akan menjelaskan bagaimana melakukan koneksi ke database access, intinya aplikasi Anda sudah siap menjalankan
perintah SELECT, INSERT, UPDATE, dan DELETE. Jika Anda masih kesulitan bisa dilihat disini.
Untuk kasus disini kita akan menyimpan data mahasiswa dengan tiga field saja, lihat gambar berikut :
Khusus untuk field foto tipe yang dipilih adalah OLE Object, kita langsung aja copy paste kode berikut di module :
1 Option Explicit
2
3 Public Const CHUNK_SIZE As Long = 16384
4
5 Dim rsImage As ADODB.Recordset
6
7 Dim i As Long
8 Dim lsize As Long
9 Dim iChunks As Long
10 Dim nFragmentOffset As Long
11 Dim lchunks As Long
12
13 Dim nHandle As Integer
14 Dim varChunk() As Byte
15
16 Public Function fileExists(ByVal strNamaFile As String) As Boolean
17 If Not (Len(strNamaFile) > 0) Then fileExists = False: Exit Function
18
19 If Dir$(strNamaFile, vbNormal) = "" Then
20 fileExists = False
21 Else
22 fileExists = True
23 End If
24 End Function
25
26 Public Sub closeRecordset(ByVal vRs As ADODB.Recordset)
27 On Error Resume Next
28
29 If Not (vRs Is Nothing) Then
30 If vRs.State = adStateOpen Then
31 vRs.Close
32 Set vRs = Nothing
33 End If
34 End If
35 End Sub
36
37 Public Function addImageToDB(ByVal query As String, ByVal imageName As String, ByVal imageField As String) As Boolean
38 On Error GoTo errHandle
39
40 Set rsImage = New ADODB.Recordset
41 rsImage.Open query, conn, adOpenKeyset, adLockOptimistic
42 If Not rsImage.EOF Then
coding4ever.net/blog/2009/12/30/menyimpan-dan-menampilkan-foto-di-ms-access/ 1/6
3/6/2020 Menyimpan Dan Menampilkan Foto Di Ms Access - Coding4ever’s Blog
43 nHandle = FreeFile
44 Open imageName For Binary Access Read As nHandle
45 lsize = LOF(nHandle)
46 If nHandle = 0 Then Close nHandle
47
48 lchunks = lsize / CHUNK_SIZE
49 nFragmentOffset = lsize Mod CHUNK_SIZE
50
51 ReDim varChunk(nFragmentOffset)
52 Get nHandle, , varChunk()
53 rsImage(imageField).AppendChunk varChunk()
54
55 ReDim varChunk(CHUNK_SIZE)
56 For i = 1 To lchunks
57 Get nHandle, , varChunk()
58 rsImage(imageField).AppendChunk varChunk()
59 DoEvents
60 Next
61 rsImage.Update
62 End If
63 Call closeRecordset(rsImage)
64
65 addImageToDB = True
66
67 Exit Function
68 errHandle:
69 addImageToDB = False
70 End Function
71
72 Public Function getImageFromDB(ByVal query As String) As IPictureDisp
73 Dim sFile As String
74
75 On Error GoTo errHandle
76
77 Set rsImage = New ADODB.Recordset
78 rsImage.Open query, conn, adOpenForwardOnly, adLockReadOnly
79 If Not rsImage.EOF Then
80 If Not IsNull(rsImage(0).Value) Then
81 nHandle = FreeFile
82
83 sFile = App.Path & "\output.bin"
84 If fileExists(sFile) Then Kill sFile
85 DoEvents
86
87 Open sFile For Binary Access Write As nHandle
88
89 lsize = rsImage(0).ActualSize
90 iChunks = lsize \ CHUNK_SIZE
91 nFragmentOffset = lsize Mod CHUNK_SIZE
92
93 varChunk() = rsImage(0).GetChunk(nFragmentOffset)
94 Put nHandle, , varChunk()
95 For i = 1 To iChunks
96 ReDim varChunk(CHUNK_SIZE) As Byte
97
98 varChunk() = rsImage(0).GetChunk(CHUNK_SIZE)
99 Put nHandle, , varChunk()
100 DoEvents
101 Next
102 Close nHandle
103
104 Set getImageFromDB = LoadPicture(sFile, , vbLPColor)
105
106 Else
107 Set getImageFromDB = Nothing
108 End If
109
110 Else
111 Set getImageFromDB = Nothing
112 End If
113 Call closeRecordset(rsImage)
114
115 Exit Function
116 errHandle:
117 Set getImageFromDB = Nothing
118 End Function
coding4ever.net/blog/2009/12/30/menyimpan-dan-menampilkan-foto-di-ms-access/ 2/6
3/6/2020 Menyimpan Dan Menampilkan Foto Di Ms Access - Coding4ever’s Blog
8 If Not addImageToDB(strSql, txtLokasiFoto.Text, "foto") Then MsgBox "Foto mahasiswa gagal disimpan !"
9 End If
10 End Sub
11
12 Private Sub cmdTampil_Click()
13 strSql = "SELECT foto FROM mhs WHERE nim = '" & txtNIM.Text & "'"
14 Set picMhs.Picture = getImageFromDB(strSql)
15 End Sub
Selamat mencoba :)
Tentang Penulis
Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC,
Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database,
Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu
luang insya Alloh akan terus berbagi pengalaman di blog ini :)
« Menambahkan menu baru di system menu Membuat laporan dalam format Ms Excel »
Comments
LOG IN WITH
OR SIGN UP WITH DISQUS ?
Name
Tentang Penulis
coding4ever.net/blog/2009/12/30/menyimpan-dan-menampilkan-foto-di-ms-access/ 3/6
3/6/2020 Menyimpan Dan Menampilkan Foto Di Ms Access - Coding4ever’s Blog
Software developer yang berasal dari Riau, tepatnya di Negeri Seribu Parit dan saat ini berdomisili di Yogyakarta.
Saat ini mengajar di salah satu perguruan tinggi swasta (PTS) di Yogyakarta dan bekerja sebagai staf IT di PTS yang sama sebagai senior
software developer.
Fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Di waktu
luang insya Alloh akan terus berbagi pengalaman di blog ini.
Jika Anda merasakan manfaat posting di blog ini dan ingin ikut berkontribusi, Anda bisa
Contacts
Recent Posts
Menyimpan Konfigurasi Aplikasi Secara Terpusat Menggunakan Consul Key-Value Store Bagian #2
Solusi Mengakses Database Lokal (IP Private) Secara Online
Menyimpan Konfigurasi Aplikasi Secara Terpusat Menggunakan Consul Key-Value Store Bagian #1
Membuat Jaringan VPN Menggunakan SoftEther VPN Bagian #1
GitLab CI Untuk .NET Developer Bagian #2
GitLab CI Untuk .NET Developer Bagian #1
Membuat Service SMS Gateway Untuk Engine Gammu
OpenRetail - Open Source Project for Retail Business
Membuat Log Aplikasi Menggunakan Log4Net
Manajemen Perubahan Struktur Database Menggunakan Liquibase
Categories
Tag Cloud
.net remoting(9) active report(4) android(1) aplikasi(4) autoupdater.net(1) build events(3) consul(2) continuous integration(9)
crashreporter.net(1) crystal reports .net(4) dapper .net(7) database(3) entity framework(9) firebird(12) freeware(8) gitlab ci(2) inno
setup(6) jaringan(1) jenkins(5) liquibase(1) logger(1) mysql(10) nsis(2) nuget(5) repository pattern(2) service discovery(2) signalr(3)
sms gateway(5) software testing(5) source control(1) sql server(1) sql server 2000(1) sqlite(3) tools installer(8) uncategorized(8) unit of
work pattern(1) version control(1) visual basic(74) visual basic .net(11) visual c#(49) visual studio .net(3) vpn(1) wcf(4)
websocket(1) winsock(6)
GitHub Repos
demo-cqrs2
NETBackgroundWorkerWrapperVB6
dicoding-android-developer-expert
demo-websocket-signalr
Demo Solusi Mengakses Database Lokal (IP Private) Secara Online Bagian #1
WhatsappVB6Client
demo-cqrs
Contoh implementasi CQRS dan Repository Patterns untuk pembuatan Web API
demo-cqrs1
ContohStrukturProjectWinFormMVC
SimpleBotWhatApp
snakebite
coding4ever.net/blog/2009/12/30/menyimpan-dan-menampilkan-foto-di-ms-access/ 5/6
3/6/2020 Menyimpan Dan Menampilkan Foto Di Ms Access - Coding4ever’s Blog
Ini adalah contoh aplikasi billing menggunakan bahasa pemrograman VB 6
QRCodeVB6
demo-microservice
Contoh microservice yang sudah menggunakan API Gateway dan Message Broker untuk komunikasi antar microservicenya.
demo-ocelot-microservice
coding4ever.net/blog/2009/12/30/menyimpan-dan-menampilkan-foto-di-ms-access/ 6/6