Pak Azhar, mungkin datawindow anda bisa menggunakan query kaya ini.
datawindow query
Select TRANS.NIP
, TRANS.FieldA
, TRANS.FieldB
, TRANS.FieldC
, TRANS.FieldD
>From TRANS
, PEGAWAI
, BIDANG
Where TRANS.NIP = PEGAWAI.NIP
And PEGAWAI.ID_Bidang = BIDANG.ID_Bidang
And TRANS.NIP Like :NIP_Parm
And BIDANG.ID_Bidang Like :Bidang_Parm
And BIDANG.ID_Departemen Like :Dept_Parm
Saya asumsikan anda sudah punya interface untuk mengatur hak akses pegawai.
Pd query di atas ada 3 parameter, yaitu NIP_Parm, Bidang_Parm, dan Dept_Parm.
1. NIP_Parm
- Kalo hak akses hanya boleh mengakses data milik seorang pegawai saja,
maka NIP_Parm diisi dengan NIP pegawai tersebut.
- Kalo hak akses boleh mengakses data semua pegawai, maka NIP_Parm diisi
dengan '%'.
2. Bidang_Parm
- Kalo hak akses hanya boleh mengakses data milik pegawai di bidangnya
saja, maka Bidang_Parm diisi dengan ID_Bidang pegawai tersebut.
- Kalo hak akses boleh mengakses data semua Bidang, maka Bidang_Parm diisi
dengan '%'.
3. Dept_Parm
- Kalo hak akses hanya boleh mengakses data milik pegawai di departemennya
saja, maka Dept_Parm diisi dengan ID_Departemen pegawai tersebut.
- Kalo hak akses boleh mengakses data semua Departemen, maka Dept_Parm
diisi dengan '%'.
Notes :
- '%' adalah nilai parameter yang digunakan untuk melihat seluruh data
berdasarkan kolom yang diinginkan dan menggunakan operator LIKE.
- Penggunaan parameter2 tersebut semua bisa dikombinasi sesuai hak akses
yang ditentukan.
Semoga membantu.
Regards,
Eric Lawardi