Visual Basic - Usuarios

Life is soft - evento anual de software empresarial
 
Vista:

Usuarios

Publicado por Jorge (33 intervenciones) el 14/10/2008 16:24:19
Hola a todos!! hay alguna forma facil de controlar lo que le habilito a un usuario y lo que no en una aplicacion hecha en VB6, teniendo una base de datos con los usuarios y claves?.
Por ejemplo en una aplicacion tengo x botones o menus y algunos quiero habilitar para ciertos usuarios y para otros no.
Muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Usuarios

Publicado por Pedro Luis (878 intervenciones) el 14/10/2008 18:17:41
Se supone que después de indentificar al usuario se leen sus privilegios que pueden ser
Administrador=1 o Si (Según gustos)
Modificar=0 o No
Listar=0 o No
y después en el activate del formulario principal

Private Sub Form_Activate()
If Administrador = 1 Then
mProyectos.Visible = True
mTareas.Visible = True
mCompactar.Visible = True
mAñoNuevo.Visible = True
mUsuarios.Visible = True
mConectados.Visible = True
End If
MousePointer = 0
End Sub

Se supone que en origen están a False
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usuarios

Publicado por pacopaz (173 intervenciones) el 14/10/2008 18:38:55
Suposición:

La tabla de privilegios se llama 'privilegios' y tiene estos campos, por lo menos
Nombre tipo char
Habilitado tipo boolean
Usuario tipo char

Tendrías que usar los Tag de los componentes (es una propiedad en donde puedes poner cualquier valor o dejarlo en blanco). La utilización que yo le he dado es justamente esta. Defino un número con 0's a la izquierda. La primera parte es para la pantalla a la que se refiere (001, 002, 003) y los últimos 3 son para el número de componente (incluidas las opciones de menú). Con esto, tienes un tag, por ejemplo '015005'
Luego, en la tabla de privilegios, en el campo 'Nombre' pones estos Tags y habilitas en el segundo campo, para el usuario del tercer campo.
Así, lo único que tienes que recorrer son los componentes de la forma cada que la activas, de esta manera:

Dim con As Connection
Dim cmd As Command
Dim rst As Recordset
Dim i As Integer

con = New Connection
cmd = New Command
con.Open
cmd.ActiveConnection = con
cmd.CommandText = "select Nombre, Habilitado from privilegios where usuario = '" & Usuario & "'"
rst = cmd.Execute
rst.MoveFirst
While Not rst.EOF
For Each Control In Me.Controls
If Control.Tag = CStr(rst(0)) Then
Control.Visible = CBool(rst(1))
End If
Next Control
rst.MoveNext
Wend

Te doy el ejemplo general. Lo que hagas para hacerlo más exacto es implementación tuya.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usuarios

Publicado por Jorge (33 intervenciones) el 14/10/2008 23:50:31
Muchas gracias pacopaz ahora mismo lo pruebo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar