Problema al comparar dos cadenas de caracteres
Quiero comparar dos cadenas de caracteres de la siguiente forma:
Private Sub NombreUsuario_Exit(Cancel As Integer)
Dim UsuarioValido As Variant
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("Select TIP From tblpermis where TIP = '" & Forms![frmpermis]![NombreUsuario].Value & "'")
If Me.NombreUsuario.Text = "" Then
MsgBox " Por favor introduzca primero el nombre de usuario ", 48, " ¡ ATENCIÓN ! Campo obligatorio ", 50, 50
NombreUsuario.SetFocus
Else
UsuarioValido = StrComp(rst!TIP, Forms![frmpermis]![NombreUsuario].Value, 0)
If UsuarioValido = 0 Then
Exit Sub
Else
MsgBox "Nombre de Usuario no válido"
End if
End Sub
Pero algo no funciona, ya que cuando el nombre usuario es correcto no hay problema, sin embargo si el nombre de usuario no es correcto, el cursor se queda en el campo Nombre de Usuario y no aparece el mensaje de aviso. ¿Cuál es el fallo?
¿Acaso no se pueden comparar cadenas de caracteres diferentes con StrComp?
Private Sub NombreUsuario_Exit(Cancel As Integer)
Dim UsuarioValido As Variant
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("Select TIP From tblpermis where TIP = '" & Forms![frmpermis]![NombreUsuario].Value & "'")
If Me.NombreUsuario.Text = "" Then
MsgBox " Por favor introduzca primero el nombre de usuario ", 48, " ¡ ATENCIÓN ! Campo obligatorio ", 50, 50
NombreUsuario.SetFocus
Else
UsuarioValido = StrComp(rst!TIP, Forms![frmpermis]![NombreUsuario].Value, 0)
If UsuarioValido = 0 Then
Exit Sub
Else
MsgBox "Nombre de Usuario no válido"
End if
End Sub
Pero algo no funciona, ya que cuando el nombre usuario es correcto no hay problema, sin embargo si el nombre de usuario no es correcto, el cursor se queda en el campo Nombre de Usuario y no aparece el mensaje de aviso. ¿Cuál es el fallo?
¿Acaso no se pueden comparar cadenas de caracteres diferentes con StrComp?
1 respuesta
Respuesta de luis45ccs
1