se tens uma parte para cada tipo de utilizador
no formprimcipal
depois de inserires utilizador e pass, vais ter de fazer um select a tabela de utilizadores, para entrares no form que desejas.
do tipo a tabela de utilizadores hade ter nome_utilizador, pass,tipo_de utilizador, como campos obrigatórios
do tipo no evento form load do form principal onde fazes login ,fazes uma ligação deste tipo
variavies globais
Código:
Dim ligacao, strsql As String
Dim sda As SqlDataAdapter
Dim ds As DataSet
nota: esta ligação esta para uma bd em sql server
vai fazer um select na tabela dos utilizadores do tipo de urilizador onde esse utilizador tem o nome pertencente a caixa de texto respectiva, e pass igualmente.
se a tua bd for em access a string que vem a seguir a variavel ligação altera , mas não me lembro como.
Código:
ligacao = "data source=(local);initial catalog=Pedidos;" & _
"integrated security=SSPI;persist security info=True"
'faz a respectiva seleccção a base de dados
strsql = "SELECT Tipo_Utilizador FROM Tab_Utilizadores" & _
" where tab_utilizadores.[nome utilizador] = '" & Me.Txtbox_user.Text & _
"' and tab_utilizadores.[senha utilizador] = '" Me.txtbox_pass.Text & "'"
'cria um data adapter
sda = New SqlDataAdapter(strsql, ligacao)
ds = New DataSet()
sda.Fill(ds)
sda.Dispose()
este code vais por no evento click do botão do form principal
neste caso tens dois formularios um para cada utilizador que estão a ser xamados nos if respectivos,
Código:
Dim row As DataRow
Dim table As DataTable
Dim cont As Integer
'rerediciona a pagina respectiva a cada user
table = ds.Tables.Item(0)
cont = table.Rows.Count
' testa se existe , caso verdade (cont=1)- passa ao proximo if e entra na sessão respectiva
' caso falso - dá uma mensagem de erro a dizer que utilizador não existe
If cont = 1 Then
row = table.Rows.Item(0)
' testa que tipod e utilizador entra na sessão
If row("Tipo_Utilizador") = "Admin" Then
form_administrador.show
Else
If row("Tipo_Utilizador") = "Normal" Then
form_utilizador.show
End If
Else
Me.lbl_Erro.Visible = True
Me.lbl_Erro.Text = "Nome de UTilizador ou password Invalidos"
Me.Txtbox_user.Text = ""
Me.txtbox_pass.Text = ""
Me.Txtbox_user.Focus()
End If
no caso de so teres 2 formularios , um como principal(login) e outro para tdos os utilizadores
em cada if chamas o mesmo form neste caso o de utilizador.
e depois pões enable ou disable cada um dos botões ou menus referentes a esse form, para cada tipo de utilizador em especifico
ex: form_utilizador.show ' aqui sempre igual em qq tipo de utilizador
form_utilizador.botao_x.enable=true ou false conforme o tipo de util
nota : quando queres anular ou permiir um objecto (botão ou opção de menu)
de outro form que chamas atraves de um primeiro, tens sempre de charam
esse form.nome_objecto(botão|menu|etc).(enable|visible|etc)
como visto abaixo :
Código:
If cont = 1 Then
row = table.Rows.Item(0)
' testa que tipod e utilizador entra na sessão
If row("Tipo_Utilizador") = "Admin" Then
form_utilizador.show
form_utilizador.botao_admin.enable=true
Else
If row("Tipo_Utilizador") = "Normal" Then
form_utilizador.show
form_utilizador.botao_admin.enable=false
End If
Else
Me.lbl_Erro.Visible = True
Me.lbl_Erro.Text = "Nome de UTilizador ou password Invalidos"
Me.Txtbox_user.Text = ""
Me.txtbox_pass.Text = ""
Me.Txtbox_user.Focus()
End If
espero que esta dica ajude