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.
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 de Neckkito Nck
1