Buenas noches estoy tratando de restringir el acceso a los ítem de menús de mi aplicación en visual Basic 2013 de acuerdo al nivel de acceso del usuario.Tengo 3 tablas
mn_USUARIOS - con los siguientes campos y valores
nCOD_USU - nCOD_NIV
1 Administrador
2 Vendedor
3 Almacenero
Etc…
mn_MENUS_ITEMS - con los siguientes campos y valores
nCOD_ITM – cNOM_ITM
1 Productos
2 Categorias
3 SubCategorias
4 Marcas
Etc….
mn_MENUS_PRIVILEGIOS - con los siguientes campos y valores (en el campo nTIE_RES, 1 los ítems de menú son enable=true y 0 en los ítems de menú enable=false)
nCOD_NIV – nCOD_ITM – nTIE_RES
1 1 1
1 2 1
1 3 1
2 1 0
2 2 0
2 3 0
en esta tabla se guarda el acceso al Ítem de menú de acuerdo al Nivel de acceso
Con el siguiente código solo he logrado que en el Select case “PRODUCTOS” se deshabilite de acuerdo al nivel de usuario.
Private Sub Privilegios()
Dim clsComunes As New clsComunes
Dim ds As New DataSet
Dim dsp As New DataSet
cSQL = "Select men.cNOM_ITM , acc.nTIE_RES From mn_MENUS_PRIVILEGIOS acc "
cSQL = cSQL & " Left Join mn_MENUS_ITEMS men On acc.nCOD_ITM = men.nCOD_ITM "
cSQL = cSQL & " Where "
cSQL = cSQL & " acc.nCOD_NIV = " & gCODNIV & " "
dsp = clsComunes.EjecutaConsulta(cSQL)
If dsp.Tables(0).Rows.Count > 0 Then
Select Case Trim(dsp.Tables(0).Rows(0).Item("cNOM_ITM"))
Case "PRODUCTOS"
Me.ProductosToolStripMenuItem.Enabled =dsp.Tables(0).Rows(0).Item("nTIE_RES")
Case "CATEGORIA"
Me.CategoriasToolStripMenuItem.Enabled = dsp.Tables(0).Rows(0).Item("nTIE_RES")
Case "SUBCATEGORIAS"
Me.MarcasToolStripMenuItem.Enabled = dsp.Tables(0).Rows(0).Item("nTIE_RES")
End Select
End If
End Sub
Agradezco su ayuda, gracias.