ac

Pengguna Microsoft Excel pasti sudah familiar dengan formula Vlookup seperti di bawah ini:

vlookup

Formulanya: =vlookup(lookup_value; table_array; col_index_num; [range_lookup]

Cara membacanya: cari <lookup_value> di area <table_array> pada urutan ke <col_index_num> dari kolom paling kiri dalam area <table_array> tersebut; apabila <range_lookup> diisi false, maka pencariannya exact, dan apabila diisi true berarti excel akan mencari data yang mendekati <lookup_value> apabila <lookup_value> tidak ditemukan di kolom paling kiri dalam area <table_array>. Panjang ya.

Di Microsoft Access, fungsi yang serupa dengan vlookup adalah dlookup. Bedanya, dlookup nggak bisa digunakan di table (calculate). Di query bisa, di form bisa.

Formulanya: DLookUp(“[nama kolom yang ingin dihasilkan]”;”nama table yang berisi data tersebut”;”[kolom ID di table tersebut]=” & [kolom ID di query/form yang sedang kita buat dlookupnya]). Perhatikan tanda “” dan [].

Catatan: jika bagian yang dibold ini formatnya text, maka perlu ditambahkan “‘”& sebelum bagian yang dibold dan ditambahkan &”‘” sesudahnya sehingga bagian yang dibold diapit oleh tanda ‘ ‘.

dlookup3

Supaya gampang ingetnya, saya akan menggunakan nama2 pada fungsi vlookup Excel dalam formula dlookup Access:

DlookUp(“[nama kolom tujuan yang direfer oleh col_index_num]”;”nama table yang direfer oleh col_index_num”;[nama kolom paling kiri yang direfer oleh col_index_num]=”& [lookup_value])

Query biasa vs formula dlookup

Query biasa (membuat relationship) hanya menghasilkan data yang terdapat pada semua table yang di-query. Query dengan formula dlookup menampilkan seluruh data. Simak contoh berikut ini!

Misalnya ada tiga tabel: Data Induk, RekapNilai, dan Absensi.

Tabel Data Induk berisi Nomor Induk (NIM) a.n. Temi, Niko dan Udin. Tabel RekapNilai berisi nilai ujian Temi dan Udin saja, karena Niko tidak masuk ujian. Tabel Absensi hanya berisi jumlah kehadiran Temi saja, karena data Udin dan Niko tidak tersedia.

tbl

Dengan query biasa, hanya data Temi yang dihasilkan. Ini karena query-biasa mencari data yang terdapat dalam semua tabel yang dihubungkan. Data Temi ada di ketiga Tabel, sedangkan data Niko dan Udin tidak, sehingga query biasa akan menghasilkan data Temi saja. Berikut ini contohnya:

tbld

qry2

qh

Bagaimana hasil formula dlookup?

Dengan formula dlookup, kita akan mendapatkan data Temi, Niko dan Udin. Apabila data tidak tersedia, maka akan ditampilkan kosong. Berikut ini contohnya:

dl

Untuk me-lookup nilai, pada baris Field diisi sebagai berikut:

LookupNilai: DLookUp(“[Nilai]”;”RekapNilai”;”[NIM_ujian]=” & “‘” & [NIM] & “‘”)

Untuk me-lookup absensi, pada baris Field diisi sebagai berikut:

LookupAbsen: DLookUp(“[Jml_hadir]”;”Absensi”;”[Nim_abs]=” & “‘” & [NIM] & “‘”)

r

Kapan kita membutuhkan formula dlookup dalam query kita?

Kita membutuhkannya dalam kondisi di mana kita membutuhkan seluruh data yang tersedia. Dalam contoh di atas, misalnya kita akan menghitung nilai akhir mahasiswa dengan rumus Nilai Akhir = (80% x Nilai Ujian) + (20% x Jumlah Kehadiran). Dengan formula dlookup, kita dapat menghitung Nilai Akhir seluruh mahasiswa. Berbeda halnya dengan query biasa, di mana hanya Nilai Akhir Temi yang dihasilkan.

Berikut ini contohnya:

Kita menambahkan kolomo Nilai Akhir dengan rumus (0,8*[LookupNilai])+(0,2*[LookupAbsen])

nz

Sebagai tambahan, kolom LookupNilai kita modif dulu dengan formula Nz(Dlookup …dst),0) agar menghasilkan angka 0 apabila data tidak tersedia. Dengan demikian, kolom Lookup Nilai kita ubah menjadi LookupNilai: Nz(DLookUp(“[Nilai]”;”RekapNilai”;”[NIM_ujian]=” & “‘” & [NIM] & “‘”);0) dan kolom LookupAbsen kita ubah menjadi LookupAbsen: Nz(DLookUp(“[Jml_hadir]”;”Absensi”;”[Nim_abs]=” & “‘” & [NIM] & “‘”);0).

Hasilnya:

df

Semoga bermanfaat.

Catatan: kalau kamu bingung, pelajari dulu apa itu Table, Relationship dan Query di Google lalu lakukan percobaan-percobaan random di Microsoft Access.