Variable global

Hola buen día tengo un gran problema en el programador de access 2007 la cosa esta así tengo una tabla en la que tengo los campos usuario, clave y tipo. Después tengo un formulario en el que te pide el usuario y la clave en este tengo este código:
Option Compare Database
Option Explicit
Public tipodeusuario As String
Private Sub Comando4_Click()
Dim algo As String
Dim db As Database
Dim SqLline As String
Dim Result As Object
If Usuario = " " Or Contrasena = " " Then
    algo = MsgBox("Porfavor, complete todos los campos", 16, "Omision")
Else
SqLline = "select* from usuarios where Usuario = '" & Usuario & "'and Password = '" & Contrasena & "';"
Set db = CurrentDb()
Set Result = db.OpenRecordset(SqLline)
If Result.EOF And Result.BOF Then
    algo = MsgBox("El nombre de usuario o contraseña son incorrectos", 16, "Discrepancia")
Else
tipodeusuario = Result.tipo
DoCmd.OpenForm "Historial de servicios"
DoCmd.OpenForm "Acceso inicial"
DoCmd.Close
End If
Result.Close
db.Close
Set Result = Nothing
Set db = Nothing
End If
End Sub
despues que el usuario1 ingresa su clave le abre el formulario 1, pero no me respeta la sesion del usuario 1 en el formulario 1, he estado investigando y se supone que debo crear un modulo con una variable global y posterior a esto tengo que poner en cada formulario la variable pero no se como porfavor te pido auxilio, te estare agradecido infinitamente.
Jorge

1 Respuesta

Respuesta
Tu trabajas con access, y es bastante diferente de Vb, pero para agregar un modulo, en el menu file, debe haber una opción New, allí le dices Module, aquí defines una variable global con public variable as tipo, luego esta variable la referencias o la usas, o llamas como lo entiendas desde los formularios.
Antes que nada te agradezco por contestar pero mi problema es el siguiente como habrás notado en el código menciono esta parte:
Else
tipodeusuario = Result.tipo
DoCmd.OpenForm "Historial de servicios"
DoCmd.OpenForm "Acceso inicial"
DoCmd.Close
End If
Result.Close
db.Close
Tipo de usuario he aquí el problema cuando el usuario ingresa su contraseña le abre el form 1 pero en este form ya no me respeta al usuario y me sigue reconociendo como administrador lo que quiero saber es como escribir la variable global en el modulo
el nombre de mi variable global es tipodeusuario,
yo tengo el modulo así:
Option Explicit
Public tipodeusuario As String
No se si este bien o le falte algo antes o algo después pero espero me puedas apoyar ya que no encuentro la respuesta
Tipodeusuario=valor, en donde lo vas a colocar en los sitios en donde se cambie este dato
Nuevamente te agradezco me sigas apoyando mira es aquí donde me pierdo ya que al ya haber ingresado el usuario y la contraseña me abre el form 1 aquí es en donde voy a utilizar esta variable de "tipodeusuario" para que mediante un select case yo pueda asignar privilegios a cada usuario que inicie sesión el ejemplo que yo tengo es el siguiente:
En el formulario 1
Select case tipodeusuario
 
Case "ventas"
Comando321.visible=false
Case "compras"
comando321.visible=true
comando323.enabled=false
End select
... Y así por cada tipo de usuario (aclaro que el tipo de usuario esta en la tabla donde se encuentra lo del usuario y la clave y el tipo; la que menciono al principio de la pregunta)
Pero al insertar este código en el form 1 no me sirve. Sospecho que el error esta en el modulo, pero espero me sigas apoyando con esto es el ultimo paso que me hace falta.
De cualquier forma te agradezco me pongas atención. Saludos.
Jorge t.
No entendí esto ultimo
En formulario de login lo llenas para que en el resto de los formularios existan los datos
Otra vez yo, disculpa mi insistencia pero mira ya puse lo que me dijiste en mi modulo.
Option Compare Database
Option Explicit
Public tipodeusuario As String
tipodeusuario = valor
Pero no se si en esta ultima linea vaya escrito de esta forma o habrá forma de hacer mención donde se encuentra tipodeusuario
en el form1 puse un cuadro de texto donde me pongo el usuario actual anterior a esto me ponía admin pero ya con este código me pone #¿Nombre?.
Bueno espero me puedas apoyar.
Gracias
¿Mi código en el formulario de login esta bien verdad=?
¿En el formulario 1 que tendría que escribir en el código? Para que me respete el usuario
Me podrías apoyar. Por favor :D
¿Cuál código en el formulario de login?
Es el código del primer form donde valida que el usuario y la contraseña sean correctos. desde ahi mencione el tipodevariable=result. Tipo pero ya no se como declarar esta como publica quiero saber la forma en que debe escribirse el código en el modulo
public nombrevariable as tipodato

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas