Mostrar usuario en un Lbl o TextBox

Quisiera hacerle una consulta sobre como mostrar en una etiqueta o caja de texto el nombre del usuario que entra a la base de datos no el usuario de windows.
Tengo lo siguiente dos tablas usysusuario y usysacceso.
Usysusuarios con los siguientes campos IdUsuario, Usuario, Contraseña, Tipo, Compañía y Foto.
El campo 'TIPO' lo tengo relacionado con la tabla usysacceso en esta tabla los siguientes campos IdTipo, Tipo.
Y en el formulario tengo lo siguiente:
Dos Cuadros combinados Cbo1 y Cbo2.
Cbo1 selecciono la compañía y en el Cbo2 el usuario que va a entrar.
Una caja de texto donde introduzco la contraseña se llama Txt1.
Txt3 o Lbl6 Pretendo que se muestre el usuario seleccionado pero me esta poniendo el Idusuario y no el nombre del usuario he estado cambiando de etiquetas a cajas de texto pero me pasa lo mismo.
Y en el Txt4 pretendo que se muestre el tipo de usuario que es usuario o administrador.
En el Botón de comando CmdEntrar tengo este código.
Private Sub CmdEntrar_Click()
On Error GoTo Err_CmdEntrar_Click
Dim Clave As String
'1._
If Nz(Me.Cbo1.Value, "") = "" Then
MsgBox "Seleccione el nombre de su compañia", vbInformation, "Aviso"
Else
'2._
If Nz(Me.Cbo2.Value, "") = "" Then
MsgBox "Escriba su nombre de usuario", vbInformation, "Aviso"
Else
'3._
If Nz(Me.Txt1.Value, "") = "" Then
MsgBox "Escriba su contraseña", vbInformation, "Aviso"
Else
'4._
If Nz(DLookup("Contraseña", "usysusuarios", "Idusuario=" & Me![Cbo2]), "") <> "" Then
Clave = DLookup("Contraseña", "usysusuarios", "Idusuario=" & Me![Cbo2])
End If
'5._
If Clave <> Me.Txt1.Value Then
If Intentos > 1 Then
Intentos = Intentos - 1
MsgBox "El usuario " & " o contraseña no son" & vbCrLf & "Correctos intentelo nuevamente le" & vbCrLf & " Quedan " & Intentos & " Intentos", vbCritical, "Error"
Me.Txt1.Value = ""
Me.Txt1.SetFocus
Else
'6._
MsgBox "Ha excedido el numero de intentos" & vbCrLf & "La aplicación sera cerrada", vbCritical, "Error"
DoCmd.Quit
End If
Else
'7._
If DLookup("Tipo", "usysusuarios", "IdUsuario=" & Me![Cbo2]) = 1 Then
MsgBox "El usuario " & "es administrador" & vbCrLf & "tiene todos los privilegios", vbQuestion, "Bienvenido"
Else
MsgBox "El usuario " & "no es administrador" & vbCrLf & "tiene acceso limitado", vbQuestion, "Bienvenido"
End If
End If
End If
End If
End If
Exit_CmdEntrar_Click:
Exit Sub
Err_CmdEntrar_Click:
MsgBox Err.Description
Resume Exit_CmdEntrar_Click
End Sub
Y en las propiedades del Cbo2 despues de actualizar lo siguiente:
Private Sub Cbo2_AfterUpdate()
Dim Rst As Recordset
Dim Db As Database
Cbo2.SetFocus
Set Db = CurrentDb
Set Rst = Db.OpenRecordset("usyslogueado")
With Rst
.AddNew
!Id = Cbo2
.Update
End With
Rst.Close
End Sub
Y en evento al cambiar del Cbo2 lo siguiente:
Private Sub Cbo2_Change()
On Error GoTo Err_Cbo2_Change
Me.Lbl6.Caption = Me.Cbo2
Exit_Cbo2_Change:
Exit Sub
Err_Cbo2_Change:
Resume Exit_Cbo2_Change
End Sub
Espero haberme explicado y espero me pueda ayudar.
Pido disculpas porque he formulado la pregunta antes pero no se si lo hice bien y ahora pues lo hago directamente hacia un experto.

1 respuesta

Respuesta
1
Voy a intentar darte una respuesta tocando lo mínimo el código que ya tienes creado. De hecho, si el código que tienes te funciona bien, sólo voy a tocar el del evento &quot;Al cambiar&quot; del combo 2.
Utilizaré cuadros de texto, y no etiquetas, y supondré que, según tu explicación, el txt3 será para mostrar el nombre de usuario y el txt4 será para mostrar el tipo de usuario.
También voy a suponer que el campo Tipo de la tabla usysusuarios te guarda un número, correspondiente con el IdTipo de usysacceso. Si no fuera así me lo comentas porque tendríamos que retocar el código.
Así pues modifica el código que tienes en ese evento por el siguiente:
...
Private Sub Cbo2_Change()
On Error GoTo Err_Cbo2_Change
Dim idUser as long
dim nomUser as string
dim idTipo as long
dim nomTipo as string
idUser=me.cbo2.value
nomUser=dlookup(&quot;[Usuario]&quot;, &quot;usysusuarios&quot;, &quot;[IdUsuario]=&quot; & idUser)
idTipo=dlookup(&quot;[Tipo]&quot;, &quot;usysusuarios&quot;, &quot;[IdUsuario]=&quot; & idUser)
nomTipo=dlookup(&quot;[Tipo]&quot;, &quot;usysacceso&quot;, &quot;[IdTipo]=&quot; & idTipo)
me.txt3.value=nomUser
me.txt4.value=nomTipo
Exit_Cbo2_Change:
Exit Sub
Err_Cbo2_Change:
Resume Exit_Cbo2_Change
End Sub
...
Ya me dirás qué tal te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas