Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sandro Murillo

Navegar pelos objetos do Form vb.NET

Recommended Posts

Senhores, tenho um sistema em Access que está sendo migrado para vb.net. Já montei os MenuStrip e ToolStrip. Porém preciso liberar as funcionalidades conforme a acessibilidade dos usuários. Ao entrar no sistema, õ suauário inicializa sem acesso nenhum, ou seja, todos os controles visible=false. Após identificar o usuário, os controles são liberados. Veja abaixo como faço no Access :

 

 

Public Sub Acessibilidade(ByVal Frm As Form)
Dim oDao As ClasseDAO
Dim cnn As ADODB.Connection

Set rs = New ADODB.Recordset
Set oDao = New ClasseDAO
Set cnn = oDao.obtemConexao(MSDE_RENDA_VARIAVEL)



Dim Ctrl As Control

For Each Ctrl In Frm.Controls
	If Ctrl.Tag = "BarraMenu" Then
			   
			'Abilitar
			
			strSQL = "				  SELECT tbl_Processos.Index, "
			strSQL = strSQL & "				tbl_Processos.SubIndex, "
			strSQL = strSQL & "				tbl_Acessibilidade.CodigoUsuario, "
			strSQL = strSQL & "				tbl_Processos.Frm"
			strSQL = strSQL & "		   FROM tbl_Acessibilidade "
			strSQL = strSQL & "	 INNER JOIN tbl_Processos "
			strSQL = strSQL & "			 ON (tbl_Acessibilidade.Frm = tbl_Processos.Frm) "
			strSQL = strSQL & "			AND (tbl_Acessibilidade.KeyMae = tbl_Processos.KeyMAe) "
			strSQL = strSQL & "			AND (tbl_Acessibilidade.Key = tbl_Processos.Key)"
			strSQL = strSQL & "		  WHERE tbl_Acessibilidade.CodigoUsuario=" & Forms!frm_Login.txt_CodigoUsuario & ""
			strSQL = strSQL & "			AND tbl_Processos.Frm='" & Frm.Name & "'"
			strSQL = strSQL & ";"
			rs.CursorLocation = adUseClient
			rs.Open strSQL, cnn, , adLockOptimistic
		   If rs.EOF = False Then
		   Do While rs.EOF = False
			   If IsNull(rs!SubIndex) = True Then
				   Ctrl.Buttons(CDbl(rs!Index)).Visible = True
				Else
					Ctrl.Buttons(CDbl(rs!Index)).ButtonMenus(CDbl(rs!SubIndex)).Visible = True
				End If
			rs.MoveNext
			Loop
			End If
			rs.Close


End Sub

- Tabela Processo ( Quais são os processos do sistema )

 

*Index e SubIndex ( Identifica o Index do Controle em um Form Ex. Controle "1.0" , "1.1", "2.0" ...)

*Frm ( Identifica o Nome do Formulário que contém o processo )

*Key ( Nome do Controle do Processo ex.: "btMenuExtrato")

*KeyMae ( O Nome do Controle de Maior hierarquia Ex.: Key = "SmenuExtratoSelic" KeyMae="btMenuExtrato" O Estrato Selic está dentro do Menu Extrato )

 

 

 

 

- Tabela Acessibilidade ( Quais processos o usuário tem acesso )

 

 

Por Favor , como posso aplicar a mesma idéia no VB.NET ??

 

 

Grato,

 

Sandro Murillo

smurillod@terra.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sandro, Seja Bem Vindo ao Fórum iMasters, de uma olhada em nossas regras: Regras do Fórum iMasters

 

No vb.net será muito parecido, a grande diferença é que para executar sua query, você necessitará de Connection e um DataReader, pesquise sobre isso.

E para habilitar seus controles, você pode trabalhar com duas propriedades, Enabled e ReadOnly.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.