Gambar Database MS Access: Bagaimana Menanganinya dengan Benar?

Basis data akses Microsoft tidak pernah benar-benar dirancang untuk menangani gambar dengan cara yang sama seperti yang dilakukan aplikasi Office lainnya dan mungkin itu dianggap sebagai renungan.

Versi yang berbeda menyebabkan tantangan yang berbeda dan versi terbaru (2016) masih memiliki masalah yang terkadang berakhir dengan gambar yang tidak terlihat pada formulir dan laporan tersebut. Ini semakin rumit dengan memiliki Access 2016 versi 32-bit (16.0.4229.1024) dan mungkin bukan versi 64-bit yang diinstal tetapi itu mungkin bukan alasan yang cukup baik untuk menggunakan versi 64-bit sama sekali (kecuali tentu saja gambar adalah milik Anda!).

Di Access, gambar akan muncul dengan benar tetapi beberapa tidak. Gambar asli yang digunakan aplikasi ini adalah format file BMP dan terus muncul dengan benar, namun, jenis grafik lain seperti format GIF, JPG, dan PNG mungkin berakhir sebagai non-starter kosong!

Satu hal yang dapat Anda periksa adalah Format Penyimpanan Properti Gambar database ketika gambar ditambahkan ke formulir atau laporan. Ini dapat ditemukan di bawah pengaturan ‘Opsi Akses’ untuk Saat Ini
Ada dua pilihan yaitu:

Jika gambar ditambahkan saat opsi di atas diatur ke opsi kedua (Konversi), grafik non-BMP tidak muncul di versi 2016.

Pendekatan yang disarankan di sini untuk gambar yang tidak terlihat adalah dengan memeriksa opsi di atas dan memilih yang lebih lama (versi kedua) untuk melihat apakah ada perbedaan.

Saya akan merekomendasikan untuk benar-benar menghapus dan memasukkan kembali gambar itu lagi, menyimpan dan menjalankan formulir atau laporan. Ulangi langkah yang sama lagi tetapi pilih dengan opsi pertama (dan itu harus benar-benar menjadi opsi ini di dunia yang ideal).
Masih mengalami masalah?

Seperti versi Microsoft Access sebelumnya, ada teknik lain yang tersedia untuk menangani file gambar dalam formulir, laporan, serta tabel:

Simpan gambar dalam bidang OLE dan gunakan bingkai objek terikat untuk menampilkan gambar.
Simpan jalur ke gambar dalam bidang teks, menggunakan kontrol gambar untuk menampilkan gambar.
Simpan gambar sebagai bitmap objek besar biner (BLOB) di bidang OLE, ekstrak gambar bila diperlukan dan gunakan kontrol gambar untuk menampilkan gambar.

Sekali lagi, tidak ada metode di atas yang sempurna tetapi opsi pertama mungkin yang paling mudah untuk ditambahkan tetapi bisa menjadi yang paling bermasalah juga karena tidak semua orang ingin menggunakan OLE karena ukuran file yang membengkak dan alokasi memori yang digunakannya, aplikasi MS Paint lama untuk membuat dan menyimpan gambar dan kesalahan pemrosesan sisi server saat menampilkan gambar seperti itu benar-benar tidak membantu.

Teknik kedua umumnya dianggap sebagai pilihan yang lebih disukai dan juga cukup mudah untuk diterapkan. Untuk tabel, jalur ke gambar disimpan dalam bidang teks dan gambar ditampilkan menggunakan objek kontrol gambar standar ke formulir atau laporan. Namun, sedikit kode VBA diperlukan untuk mengatur properti “gambar” kontrol gambar ke jalur yang disimpan dan menjaga ukuran database ke minimum, meningkatkan kinerja keseluruhan aplikasi MS Access Anda.

Kode VBA perlu memanggil nama objek seperti misalnya kontrol gambar bernama Anda yang disebut ‘MyImageCtrl’, dan salah satu propertinya disebut ‘Gambar’ dan kemudian mengaturnya ke jalur lengkap string (teks) seperti (hanya contoh):

Tapi itu bukan solusi sempurna baik meninggalkannya dan akan membutuhkan lebih banyak kode VBA untuk menangani banyak catatan yang mungkin memiliki gambar individual juga (tidak tercakup dalam blog ini) meninggalkan dengan opsi terakhir menjadi yang paling sulit untuk diselesaikan karena juga memerlukan kode VBA dan memiliki keuntungan menyimpan gambar di dalam basis data, artinya perlindungan kata sandi dimungkinkan dan juga menghindari file kembung yang disebutkan pertama kali. Ini akan membutuhkan penggunaan DAO atau ADO untuk mengumpulkan file gambar dan membacanya ke bidang OLE (dan tidak tercakup di sini di blog ini – harap lakukan penelitian lebih lanjut tentang ini).

Jadi, gambar mungkin tidak cocok dan aplikasi berbasis web yang database akses Microsoft juga dapat menggunakan mungkin keseimbangan dan solusi yang baik.