Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23/08/2008, 15:06
Avatar de epa2
epa2
 
Fecha de Ingreso: abril-2002
Ubicación: Málaga
Mensajes: 1.475
Antigüedad: 22 años
Puntos: 9
Respuesta: Access: ¿Cómo puedo crear in ID al iniciar Access?

Hola de nuevo, he estado este tiempo trasteando codigo, la verdad es que tengo dificultad, siempre me peleé con los números y sobre todo con la lógica,, ando cortillo, je je...

me ha servido de mucha utilidad los ejemplos que citas.... aunque en un principio no tenía pensado poner un panel de control de administrador en la entrada con contraseña y usuarios, al final me he inclinado por ello.

Ya lo implanté en mi pequeña base de datos,con el siguiente código....

Option Compare Database
Dim QuienAccede As Integer

Private Sub CmdAcceder_Click()
On Error GoTo Err_CmdAcceder_Click

Dim stDocName As String
Dim stLinkCriteria As String
Dim auxContraseña As String


'Comprobamos que hay datos en las cajas d etexto
If Nz(Me.TxtUsuario.Value, "") = "" Then
MsgBox "Seleccione un nombre de usuario de la lista para acceder",
vbInformation, "ATENCION"
Me.TxtUsuario.SetFocus
ElseIf Nz(Me.TxtContraseña.Value, "") = "" Then
MsgBox "Introduzca la contraseña del usuario seleccionado",
vbInformation, "ATENCION"
Me.TxtContraseña.SetFocus
Else
If Not IsNull(DLookup("Contraseña", "usuarios", "Idusuario=" &
Me![TxtUsuario] & " ")) Then
auxContraseña = DLookup("Contraseña", "usuarios", "Idusuario="
& Me![TxtUsuario] & " ")



End If

If auxContraseña <> Me.TxtContraseña.Value Then
MsgBox "La contraseña introducida es incorrecta" & vbCrLf &
"Por favor, introduzca otra", vbExclamation, _
"INTRODUCCIÓN INCORRECTA"
Me.TxtContraseña.Value = ""
Me.TxtContraseña.SetFocus
Else
'**entrada como usuario
stDocName = "INDEX"
'stLinkCriteria = "[Idusuario]=" & Me![TxtUsuario] & ""
'MsgBox stLinkCriteria & "Puede entrar, ahora habria
que abrir tu formulario"

DoCmd.OpenForm stDocName, , , stLinkCriteria 'Abrimos
el formulario correspondiente
DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
End If
End If

=============
Hasta aquí bien,,, pero aún sigo con la duda inicial, y es que me gustaría capturar el NOMBRE del que entray meterlo en una variable pública para ir jugando con ese valor durante toda la base de datos (llamar a la variable pública en consultas, en informes, etc)

La estructura de la tabla desde la que se chequea el acceso es la siguiente...


He visto que en el código se chequea la contraseña y se mete el valor en la
variable auxContraseña en esta linea...

If Not IsNull(DLookup("Contraseña", "usuarios", "Idusuario=" & Me![TxtUsuario]
& " ")) Then
auxContraseña = DLookup("Contraseña", "usuarios", "Idusuario="
& Me![TxtUsuario] & " ")

la duda es la siguiente...
¿Cómo podría tambien atrapar el nombre del usuario en la tabla y asignarla a
la variable pública que está en el modulo?
Public users As String

Gracias por la ayuda que me estais prestando.

un saludo.
__________________

***Aprendiz de todo y maestro de nada***