» » Menampilkan Photo Pada Database

Menampilkan Photo Pada Database

Penulis By on 07 July 2014 | No comments

Pernah suatu hari saya diberi sebuah masukan oleh beberapa rekan kerja mengenai sebuah database siswa yang saya buat dengan excel tidak lengkap lantaran tanpa disertai photo dari siswa itu sendiri. Awalnya saya berpikir hal itu tidak mungkin dilakukan, terlebih jika memakai Aplikasi Excel – karena aplikasi ini hanya dibuat untuk mengentry database saja.

Pertanyaan sekaligus permintaan tersebut membuat saya tertantang untuk mencoba serta mencari tahu tentang apakah Excel bisa melakukan ini…. Dari yang saya dapat dari googling, akhirnya saya mendapat beberapa module dan kode VBA untuk menginsert gambar dengan menggunakan bantuan macro. Kemudian, saya menemui kendala lagi – bagaimana jika ini digunakan dalam database yang memiliki banyak data.

Setelah beberapa hari berikutnya saya mencoba untuk bereksperimen dan memodifikasi serta menambahkan beberapa Kode serta module yang saya dapatkan dari internet tersebut agar bisa digunakan dalam database yang saya miliki.

Dan, sekarang saya share kepada anda yang barangkali sedang mencari cara bagaimana menampilkan gambar foto ke dalam database excel, dari hasil tutorial ini akan menghasilkan sebuah database yang terlihat seperti gambar berikut :

Memulai Mengetry Database
Sebagai latihan dalam tutorial ini, masukkan database seperti berikut dan letakkan di Sheet1 :
 

Menggunakan Fungsi VLOOKUP
Fungsi ini dibutuhkan untuk memanggil data dalam database Masukkan formula VLOOKUP berikut di sel F2
=VLOOKUP(E2;A2:B8;2;0)
Untuk sementara hasil yang didapatkan dari formula ini adalah #N/A hal ini disebabkan tidak adanya sebuah nilai yang dijadikan pedoman, jika anda ingin menghilangkan pesan error bisa anda tambahkan fungsi IFERROR dalam serangkaian kode diatas.
Design Bingkai Photo
Bukan hanya aplikasi sekelas Corel atau Adobe saja yang bisa digunakan untuk design, excel-pun juga bisa…
Berikut langkah membuat desain sederhana  :
  1. Aktifkan dan pilih Menu Tab Developer jika belum klik disini untuk melihat cara menampilkannya
  2. Buat 2 buah Image dengan cara klik Insert > Image (ActiveX Control)
  1. Untuk Image1 (biarkan (name)nya asli seperti itu saja)
Kemudian klik kanan dan pilih properties
 
 
pada bagian PictureSizeMode pilih 3 - fmPictureSizeModeZoom
Artinya, gambar yang akan kita insert nanti akan dimaksimalkan ukurannya sesuai dengan ukuran frame dari Image1.
  1. Untuk Image2 (biarkan juga (name) seperti aslinya)
Klik klik kanan Image2 dan pilih properties
 
 
pada bagian Picture (None) anda klik tanda (…) untuk mencari gambar yang akan ditempelkan di Image2.
Kemudian pada bagian Visible rubah menjadi False Gambar ini nantinya akan digunakan jika data belum atau tidak memiliki Photo, dan Image2 ini kita sembunyikan (Visible=False) karena hanya sebagai acuan saja dan bukan sebagai gambar utama.

Saya harap sampai dengan langkah ini, anda bisa mengikutinya..
Menambahkan Tombol Untuk Mencari dan Mengambil Gambar
Masih dalam menu Tab Developer, Tambahkan 2 buah tombol di lembar kerja anda antara lain :
  • Command Button (ActiveX Control)
  1. klik menu Insert > Command Button (ActiveX Control)
  2. letakkan di lembar kerja
  3. jika anda ingin me-rename tombol ini klik kanan > properties Pada bagian Caption ubah nama sesuai dengan yang anda inginkan
  • Spin Button (ActiveX Control)
  1. klik menu Insert > Spin Button (ActiveX Control)
  2. letakkan di lembar kerja

Desain sudah selesai, sekarang tinggal memasukkan kode untuk beberapa tombol yang sudah kita buat
Memasang Kode untuk Mengambil Gambar
Sebelum anda memasukkan kode-kode untuk masing-masing tombol, pastikan icon DESIGN MODE yang terdapat pada Tab Developer dalam keadaan aktif (menyala) sehingga ketika klik ganda objek control – maka akan langsung menuju jendela Microsoft Visual Basic
Berikut kode yang harus anda pasang:
  • Klik ganda CommandButton1 (atau sesuai dengan nama yang anda ketikkan pada langkah sebelumnya)
On Error Resume Next
Dim Filter As String, Title As String, FileX As String
Dim SourceFile, DestinationFile

X.SetFocus
Filter = "JPG Image Files Only(*.jpg),*.jpg,"
Title = "Silahkan Pilih Logo" FileX = Application.GetOpenFilename(Filter, , Title)
NamaFile = Range("F2")

Sheets("sheets1").Image1.Picture = LoadPicture(FileX)
Image1.Picture = LoadPicture(FileX)

DestinationFile = ActiveWorkbook.Path & "\Photo\" & NamaFile & ".jpg"
FileCopy FileX, DestinationFile

Keterangan:
Filter = "JPG Image Files … : adalah gambar yang diperbolehkan untuk di masukkan ke dalam database
NamaFile = Range(“F2") : adalah nama dari file gambar yang nantinya akan tersimpan dalam komputer anda, nama file ini berdasarkan dari data yang tertulis di sel F2
\Photo\ : adalah nama folder tempat menyimpan file gambar, dengan kata lain anda WAJIB membuat sebuah folder dengan nama Photo ditempat anda menyimpan hasil kerjaan excel ini.

Tutup atau minimize jendela Microsoft Visual Basic untuk kembali ke jendela Microsoft Excel
  • klik ganda SpinButton1
On Error GoTo GbKosong
SpinButton1.Min = 1
SpinButton1.Max = 7
Range("E2") = SpinButton1

Application.ScreenUpdating = False
NamaData = Range("F2")
Files = ActiveWorkbook.Path & "\Photo\" & NamaData & ".jpg" '
Image1.Picture = LoadPicture(Files)
Application.ScreenUpdating = True

Exit Sub
GbKosong:
Image1.Picture = Image2.Picture

Keterangan :
SpinButton1.Min = Data minimal dari database yang di baca
SpinButton1.Max = Data tertinggi dari sebuah database, dalam contoh di atas nilai tertinggi adalah 7
Finishing
Langkah akhir dari semua pekerjaan adalah dengan melakukan proses menyimpan. Untuk penyimpanan file ini gunakan excel dengan type Macro enabled.
Baca Juga Artikel Terkait Lainnya