Independiente de que seas nuevo en el foro, por la pregunta, me imagino que ademas eres nuevo en todo lo que tiene que ver con programacion...
Para resolver tu problema, supondre lo siguiente:
a). Tienes conocimientos de la herramienta VB
. Tienes conocimientos de bases de datos, y por tanto de tablas y SQL
c). Tienes nociones basicas de seguridad de la informacion, y como opera un sistema de administracion de usuarios.
Por tanto, comencemos...
1). Deberas crear las siguientes tablas
Usuarios Campo TipoUsername T(10)
Password T(50)
Esta tabla contiene todos los usuarios y sus contraseñas
FuncionesCampo TipoID_Funcion T(20)
Descripcion_Funcion T(20)
Esta tabla contiene todas las funciones u opciones de menu de tu sistema
PermisosCampo TipoUsername T(10)
ID_Funcion T(20)
Tipo_Permiso T(1)
Esta tabla contiene las relaciones de los usuarios y sus permisos a acceder a los diferentes menus u opciones del sistema
El campo Tipo_Permiso, es de tipo caracter de largo 1, y sus posibles valores son...
S : Tiene permiso
N : No tiene permiso de accceso
Entonces, teniendo estas tablas definidas, deberas realizar los formularios correspondientes que te permitan administrar cada una de las tablas... supongo que podras con ello, ya que no es parte del problema que tienes.
Ahora, suponiendo que tenemos los datos en las tablas, vamos a ver como ver el tema de los permisos...
Supongamos que tu formulario principal, contiene los siguientes menus y submenus. Se indica el caption y nombre de las opciones.
Sistema mnuSistema
Cambio Password mnuCambioPassword
Cambio Usuario mnuCambioUsername
Salir mnuSalir
Mantencion mnuMantencion
Usuarios mnuMantUsuarios
Funciones mnuMantFunciones
Permisos mnuMantPermisos
Procesos mnuProcesos
Proceso 1 mnuProceso1
Proceso 2 mnuProceso2
Proceso 3 mnuProceso3
Al cargar la aplicacion, deberas incorporar un formulario que permita ingresar el username y contraseña de usuario.
El usuario al ingresar estos datos, y presionar "ACEPTAR", "OK", "INGRESAR" o cualquier tipo de leyenda que coloques en el caption del boton, deberas incorporar la siguiente funcionalidad.
xUsername=Ucase(Trim(txtUsername))
xPassword=Ucase(Trim(txtPassword))
SentenciaSQL="Select p.ID_Funcion, p.Tipo_Permiso
From Permisos p, Usuarios U
Where
P.Username = U.Username and
U.Username = '" & xUsername & "' and "
U.Password = '" & xPassword & "'"
Buscar registros usando SentenciaSQL
Si No Existen_Registros entonces
Mostrar Mensaje Indicando "Usuario No Reconocido"
Si NO
Mientras no sea fin de los registros
Selecciones en caso de Registro.ID_Funcion
caso "mnuSistema":
Si registro.Tipo_Permiso="W" entonces
mnuSistema.Enabled=TRUE
si no
mnuSistema.Enabled=FALSE
Fin Si
caso "mnuCambioPassword":
Si registro.Tipo_Permiso="W" entonces
mnuCambioPassword.Enabled=TRUE
si no
mnuCambioPassword.Enabled=FALSE
Fin Si
caso "mnuCambioUsername":
Si registro.Tipo_Permiso="W" entonces
mnuCambioUsername.Enabled=TRUE
si no
mnuCambioUsername.Enabled=FALSE
Fin Si
caso "mnuSalir":
Si registro.Tipo_Permiso="W" entonces
mnuSalir.Enabled=TRUE
si no
mnuSalir.Enabled=FALSE
Fin Si
caso "mnuMantencion":
Si registro.Tipo_Permiso="W" entonces
mnuMantencion.Enabled=TRUE
si no
mnuMantencion.Enabled=FALSE
Fin Si
caso "mnuMantUsuarios":
Si registro.Tipo_Permiso="W" entonces
mnuMantUsuarios.Enabled=TRUE
si no
mnuMantUsuarios.Enabled=FALSE
Fin Si
caso "mnuMantFunciones":
Si registro.Tipo_Permiso="W" entonces
mnuMantFunciones.Enabled=TRUE
si no
mnuMantFunciones.Enabled=FALSE
Fin Si
caso "mnuMantPermisos":
Si registro.Tipo_Permiso="W" entonces
mnuMantPermisos.Enabled=TRUE
si no
mnuMantPermisos.Enabled=FALSE
Fin Si
caso "mnuProcesos":
Si registro.Tipo_Permiso="W" entonces
mnuProcesos.Enabled=TRUE
si no
mnuProcesos.Enabled=FALSE
Fin Si
caso "mnuProceso1":
Si registro.Tipo_Permiso="W" entonces
mnuProceso1.Enabled=TRUE
si no
mnuProceso1.Enabled=FALSE
Fin Si
caso "mnuProceso2":
Si registro.Tipo_Permiso="W" entonces
mnuProceso2.Enabled=TRUE
si no
mnuProceso2.Enabled=FALSE
Fin Si
caso "mnuProceso3":
Si registro.Tipo_Permiso="W" entonces
mnuProceso3.Enabled=TRUE
si no
mnuProceso3.Enabled=FALSE
Fin Si
Fin Caso
Avanzar al siguiente registro
Fin Mientras
Fin Si
Esto es lo mas basico en terminos de administracion de permisos.... lo puedes complicar, aumentando el nivel de permisos, como por ejemplo, acceso, solo lectura, permiso para eliminar, etc.