
Авторизация открывает форму в зависимости от прав пользователя. Этот пример я вырезал из проекта SERVICE .
procedure frmLogin_bLoginOk_OnClick (Sender: TObject; var Cancel: boolean);
var
s,t,r: string;
sStatus: string;
begin
// Запрос SQL для проверки пользователя и пароля
s := VarToStr(SQLExecute('SELECT count(id) FROM users WHERE (id = ' + IntToStr(frmLogin.cbStatus.dbItemID) + ') AND (password = ''' + frmLogin.ePassword.Text + ''');'));
// если SQL-запрос нашел логин и пароль
if (s<>'0') AND (s<>'') then
begin
//скрыть форму авторизации
frmLogin.Hide;
// SQL-запрос прав пользователя
sStatus := SQLExecute('SELECT id_userStatus FROM users WHERE id='+IntToStr(frmLogin.cbStatus.dbItemID));
// если права пользователя * то открыть *
if sStatus = '1' then frmAdmin.Show else //администратор
if sStatus = '2' then frmMasterWork.Show else //мастер
if sStatus = '3' then frmServiceCen.Show ; //менеджер
end else MessageBox('Пароль неверен','Ошибка подключения ', MB_OK+MB_ICONSTOP);
end;