 
			
				23/08/2008, 15:06
			
			
			     |  
        |     |    |    Fecha de Ingreso: abril-2002  Ubicación: Málaga  
						Mensajes: 1.475
					  Antigüedad: 23 años, 6 meses 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***           |