Saya bisa bantu untuk masalah di atas. Sebelumnya perkenalkan saya, programmer dr kota dingin Malang (skr tdk dingin lagi :P).
sistematika tabelnya adalah seperti dibawah ini. Saya sudah sering memakainya ketika menggunakan Delphi.
 
Table-table yang harus dibuat adalah :
- User
- Group
- Menu
- Otorisasi Menu
 
ini SQL Scriptnya :
 
Create Table user_group (
groupid integer not null primary key,
 ' bisa juga auto number(ms access) atau identity(1,1) untuk SQL Server, untuk Oracle dibuatkan sequence tersendiri u/ auto increment
group_name varchar(100),
description varchar(255)); ' bisa juga memo (ms access) atau Long untuk Oracle
 
Create Table users (
userid integer not null primary key,
username varchar(30) not null unique,
password varchar(30),
groupid integer,
constraint fk_group_user foreign key (groupid) references user_group (groupid));
 
Create Table menus (
menuid integer not null primary key,
caption varchar(100),
tool_tip varchar(255),
tag integer default 0,
image_index integer);
 
Create Table otorisasi (
groupid integer not null,
menuid integer not null,
visible char(1) default 'F',
enabled char(1) default 'F',
constraint PK_Otorisasi primary key (groupid,menuid),
constraint FK_menus foreign key (menuid) references menus (menuid),
constraint FK_group_menus foreign key (groupid) references user_group (groupid));
 
Kemudian untuk mengakses menu dengan user dan groupnya , buatlah view dengan query sebagai berikut:
 
Create View v_user_menus
as
select a.userid,a.username,a.groupid,c.*,a.visible,a.enabled
from users a, otorisasi b,menus c
where a.groupid=b.groupid and b.groupid=c.groupid
 
(Note. parse SQL diatas mungkin tidak berlaku bagi Database selain Oracle, coba sesuaikan dengan Database yang anda pakai)
 
untuk memanggil menu milik user dengan group tertentu anda tinggal memberikan parameter pada command Text  atau SQL Querynya.
Bila anda menggunakan ADO, maka gunakan ? untuk menambahkan parameter, contoh:
 
select * from v_user_menus where userid=?
atau ;
select * from v_user_menus where username=? 
 
Untuk sementara itu dulu yang bisa saya bantu, mengenai codingnya, menyusul ...
 
:)
Viva alumni INIXINDO


Wahana Programmer Groups Links

<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
    http://wahanaprogrammer.net

<*> Untuk menghubungi owner milis ini, kirim email ke:
    [EMAIL PROTECTED]

<*> Konsultasi pemrogramman bisa chat disini:
    Yahoo! Messenger: wahanaprogrammer




YAHOO! GROUPS LINKS




Kirim email ke