Cómo Abrir/cerrar formulario según acceso "Permisos"

Apoyado con visual studio 2012 (visual basic), y sql server 2019 se diseñó una aplicación que anda muy bien. Estoy diseñando restricciones a Usuarios, desde una Tbl_UsuariosPermisos defino el nombre del Form y el Acceso (False, True), con su mantenimiento y todo bien. Ahora debo diseñar una Clase (Permiso), desde la cual al darle Click a abrir desde el FormInicio (MDI), en el evento cargar del FormArqueoCaja llamo a la clase Permiso, y me ejecuta todo bien, busco el IdUsuario, nombre de Formulario en la Tbl_UsuariosPermisos, y hasta en un mensaje me pasa los datos para corroborar... Ahora el tema es que si el bPermisoFor= False quiero cerrar el Formulario con el sNombreFormulario. Copio el código que uso para un apoyo. Gracias expertos.

 Public Sub Permiso(sNombreFormulario As String)     ' PERMISOS DE USUARIOS
        If CONNM.State = ConnectionState.Closed Then
            CONNM.Open()
        End If
        'On Error GoTo No_tienes_acceso
        Try
            Dim bPermisoFor As String
            Dim datos As New SqlDataAdapter("Select Acceso FROM Tbl_UsuariosPermisos WHERE IdUsuario= '" & nIdUsuario & "' AND NombreFormulario= '" & sNombreFormulario & "'", CONNM)  'Con un Si o No, en variable "bPermisoFor" tomamos una decisión.
            Dim ds As New DataSet()
            datos.Fill(ds)
            bPermisoFor = ds.Tables(0).Rows(0)("Acceso")
            MsgBox("IdUsuario: " & nIdUsuario & vbCrLf & "Formulario: " & sNombreFormulario & vbCrLf & "Acceso:" & bPermisoFor)
            If bPermisoFor = False Then 'Informamos al usuario y le cerramos el formulario.
                MsgBox("No tienes permiso para este formulario: " & sNombreFormulario, MsgBoxStyle.Information)
                '(Close.My.Forms, sNombreFormulario)AQUI ES DONDE NO SE COMO CERRAR EL FORM DESDE ESTE MODULO.
            End If
            Exit Sub
            'No_tienes_acceso:
            '        MsgBox("Lo siento, ha sucedido un error." & vbCrLf & " " & "¡Consulta con el Administrador", vbInformation, "Sistema le informa")
            '        Resume Next    'Logicamente si la variable es SI no hacemos nada y dejamos que el formulario siga abriéndose.
            If CONNM.State = ConnectionState.Open Then
                CONNM.Close()
            End If
        Catch ex As Exception
            MsgBox("Ocurrió error al cargar Form sFormulario:" & ex.Message, MsgBoxStyle.Critical, "ERROR TRY CATCH DANILO")
        End Try
    End Sub

Help, please!

1 Respuesta

Respuesta

Perdí la pista: Ignoro si eres el usuario al que ayudé con una Aplicación de Gestión de Hotel de la Posadita de Bolonia.

Tal como digo perdí la pista y si eres ese usuario, me comentas si la Aplicación funciona.

De no ser así, un saludo>> JTJ

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas