ROTINA VB6 EM VB.NET
Olá a todos....
Em VB6 eu tinha uma função na qual eu passava como parâmetro um formulário e dentro da função eu tratava os objetos existentes no formulário, ou seja, eu recebia o nome do form em uma varÃavel e com a variável, que representava o form original eu conseguia trabalhar... agora estou reescrevendo essa função no VB.NET e dá erro pq diz que os objetos não existem na variável, o que de certa forma é verdade porque eles só vão existem em tempo de execução, não de projeto.
A função é controle de usuário, ou seja, ela verifica os direitos do usuário ao carregar cada form e desabilita os objetos que ele não tem acesso, como botão salvar, excluir, etc..
Função VB6
Public Function Acesso(fEntidade As Form, lGroup As Boolean) As Boolean
Acesso = False
If Not lUserTipo Then
Dim rEntidade As New ADODB.Recordset
If lGroup Then
SetRecordSet rEntidade, [Ô]SELECT Entidades.Nome, Entidades.ID_Entidade, Permissões.Manutenção, Permissões.Excluir, Permissões.Consultar FROM Entidades, Permissões WHERE Entidades.ID_Entidade = Permissões.ID_Entidade AND Entidades.Nome = [ô][Ô] & fEntidade.Name & [Ô][ô] AND Permissões.ID_GrupoUsuário = [Ô] & nGrupoUser
Else
SetRecordSet rEntidade, [Ô]SELECT Entidades.Nome, Entidades.ID_Entidade, Permissões.Manutenção, Permissões.Excluir, Permissões.Consultar FROM Entidades, Permissões WHERE Entidades.ID_Entidade = Permissões.ID_Entidade AND Entidades.Nome = [ô][Ô] & fEntidade.Name & [Ô][ô] AND Permissões.ID_Usuário = [Ô] & nUsuário
End If
If nDataSet(rEntidade) = 0 Then
MsgBox [Ô]Você não possui Acesso a Este Módulo do Sistema![Ô], vbExclamation, [Ô]Controle de Acesso[Ô]
Acesso = False
Unload fEntidade
Else
If Not rEntidade!Consultar Then
MsgBox [Ô]Você não possui Acesso a Este Módulo do Sistema![Ô], vbExclamation, [Ô]Controle de Acesso[Ô]
Acesso = False
Unload fEntidade
Else
Acesso = True
If fEntidade.TlbGeral.Tag = 1 Or fEntidade.TlbGeral.Tag = 7 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Excluir
ElseIf fEntidade.TlbGeral.Tag = 2 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 3 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 4 Or fEntidade.TlbGeral.Tag = 8 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 5 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 6 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 9 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(4).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(5).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 10 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 11 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(4).Enabled = rEntidade!Manutenção
End If
End If
End If
Else
Acesso = True
End If
End Function
Função VB.NET 2010
Public Sub PermissãoUsuário(ByVal Formulário As Form)
If nTipoUsuário = 1 Then
Formulário.MdiParent = Master
Formulário.Show()
Else
Dim drEntidade As SqlDataReader
Dim drPrivilégios As SqlDataReader
drEntidade = RoCreateSQLReader([Ô]SELECT * FROM Entidades WHERE Nome =[ô][Ô] & Formulário.Name & [Ô][ô][Ô])
If Not drEntidade.Read Then
MsgBox([Ô]O Item [Ô] & Formulário.Text & [Ô] não está definido no Sistema! Entre em contato com [Ô] & sDesigner, vbCritical, [Ô]Controle de Acesso[Ô])
Else
drPrivilégios = RoCreateSQLReader([Ô]SELECT * FROM Permissões WHERE ID_Entidade = [Ô] & drEntidade!ID_Entidade & [Ô] AND ID_Usuário = [Ô] & nUsuário)
If Not drPrivilégios.Read Then
MsgBox([Ô]O Gerenciador do Sistema não lhe dá acesso a este módulo do sistema.[Ô], vbInformation, [Ô]Controle de Usuário[Ô])
Else
Formulário.MdiParent = Master
Formulário.Show()
Select Case Formulário.GrpControle.tag
Case 1
Formulário.btnnovo.enabled = drPrivilégios!Manutenção
Formulário.btnnsalvar.enabled = drPrivilégios!Manutenção
Formulário.btnexcluir.enabled = drPrivilégios!Excluir
Formulário.btnpesquisar.enabled = drPrivilégios!Consultar
Formulário.btnimprimir.enabled = drPrivilégios!Consultar
End Select
End If
End If
End If
End Sub
Em VB6 eu tinha uma função na qual eu passava como parâmetro um formulário e dentro da função eu tratava os objetos existentes no formulário, ou seja, eu recebia o nome do form em uma varÃavel e com a variável, que representava o form original eu conseguia trabalhar... agora estou reescrevendo essa função no VB.NET e dá erro pq diz que os objetos não existem na variável, o que de certa forma é verdade porque eles só vão existem em tempo de execução, não de projeto.
A função é controle de usuário, ou seja, ela verifica os direitos do usuário ao carregar cada form e desabilita os objetos que ele não tem acesso, como botão salvar, excluir, etc..
Função VB6
Public Function Acesso(fEntidade As Form, lGroup As Boolean) As Boolean
Acesso = False
If Not lUserTipo Then
Dim rEntidade As New ADODB.Recordset
If lGroup Then
SetRecordSet rEntidade, [Ô]SELECT Entidades.Nome, Entidades.ID_Entidade, Permissões.Manutenção, Permissões.Excluir, Permissões.Consultar FROM Entidades, Permissões WHERE Entidades.ID_Entidade = Permissões.ID_Entidade AND Entidades.Nome = [ô][Ô] & fEntidade.Name & [Ô][ô] AND Permissões.ID_GrupoUsuário = [Ô] & nGrupoUser
Else
SetRecordSet rEntidade, [Ô]SELECT Entidades.Nome, Entidades.ID_Entidade, Permissões.Manutenção, Permissões.Excluir, Permissões.Consultar FROM Entidades, Permissões WHERE Entidades.ID_Entidade = Permissões.ID_Entidade AND Entidades.Nome = [ô][Ô] & fEntidade.Name & [Ô][ô] AND Permissões.ID_Usuário = [Ô] & nUsuário
End If
If nDataSet(rEntidade) = 0 Then
MsgBox [Ô]Você não possui Acesso a Este Módulo do Sistema![Ô], vbExclamation, [Ô]Controle de Acesso[Ô]
Acesso = False
Unload fEntidade
Else
If Not rEntidade!Consultar Then
MsgBox [Ô]Você não possui Acesso a Este Módulo do Sistema![Ô], vbExclamation, [Ô]Controle de Acesso[Ô]
Acesso = False
Unload fEntidade
Else
Acesso = True
If fEntidade.TlbGeral.Tag = 1 Or fEntidade.TlbGeral.Tag = 7 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Excluir
ElseIf fEntidade.TlbGeral.Tag = 2 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 3 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 4 Or fEntidade.TlbGeral.Tag = 8 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 5 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 6 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 9 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(4).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(5).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 10 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
ElseIf fEntidade.TlbGeral.Tag = 11 Then
fEntidade.TlbGeral.Buttons(1).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(2).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(3).Enabled = rEntidade!Manutenção
fEntidade.TlbGeral.Buttons(4).Enabled = rEntidade!Manutenção
End If
End If
End If
Else
Acesso = True
End If
End Function
Função VB.NET 2010
Public Sub PermissãoUsuário(ByVal Formulário As Form)
If nTipoUsuário = 1 Then
Formulário.MdiParent = Master
Formulário.Show()
Else
Dim drEntidade As SqlDataReader
Dim drPrivilégios As SqlDataReader
drEntidade = RoCreateSQLReader([Ô]SELECT * FROM Entidades WHERE Nome =[ô][Ô] & Formulário.Name & [Ô][ô][Ô])
If Not drEntidade.Read Then
MsgBox([Ô]O Item [Ô] & Formulário.Text & [Ô] não está definido no Sistema! Entre em contato com [Ô] & sDesigner, vbCritical, [Ô]Controle de Acesso[Ô])
Else
drPrivilégios = RoCreateSQLReader([Ô]SELECT * FROM Permissões WHERE ID_Entidade = [Ô] & drEntidade!ID_Entidade & [Ô] AND ID_Usuário = [Ô] & nUsuário)
If Not drPrivilégios.Read Then
MsgBox([Ô]O Gerenciador do Sistema não lhe dá acesso a este módulo do sistema.[Ô], vbInformation, [Ô]Controle de Usuário[Ô])
Else
Formulário.MdiParent = Master
Formulário.Show()
Select Case Formulário.GrpControle.tag
Case 1
Formulário.btnnovo.enabled = drPrivilégios!Manutenção
Formulário.btnnsalvar.enabled = drPrivilégios!Manutenção
Formulário.btnexcluir.enabled = drPrivilégios!Excluir
Formulário.btnpesquisar.enabled = drPrivilégios!Consultar
Formulário.btnimprimir.enabled = drPrivilégios!Consultar
End Select
End If
End If
End If
End Sub
Amigão vais ter de mudar muita coisa por ai, A conexao que em vez de Recordset use Ado.NET, vb.net nao trabalha com array de controles.
Vai mudando ai e diz os erros que for dando !
Vai mudando ai e diz os erros que for dando !
Tópico encerrado , respostas não são mais permitidas