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

Kirim email ke