Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Lotus Approach - verificar usuarios

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

verificar usuarios

Autor:fenix (97 intervenciones)
Fecha:03/03/2009 22:12:05
Saludos a Tod@s.
Espero me puedan ayuar.

Mi problema consiste en que al ingresar un usuario y validarlo. Si los datos son correctos
no envia mensaje y continua normal la ejecucion (hace lo que espero). Pero si los datos
no son correctos envia un mensaje y continua la ejecucion como que si el
error no ocurrio y deja disponibles todos los registros. Lo que quiero es que filtre los registros por usuario y si los datos son incorrectos, que no permita cambiar de formulario.
Tengo una tabla RIGHTS.dbf donde estan las claves

Este es mi codigo. (nota este codigo lo compie de este foro)

Sub acceso
CurrentWindow.FindAll '------- Todos los Registros
CurrentView.Body.UsuarioActual.Text = CurrentView.Body.NomUsuario.Text
VU = CurrentView.Body.UsuarioActual.Text
VC = CurrentView.Body.PSW.Text

If VU = "" Or VC = "" Then
If VU = "" Then
boxType = MB_OK+ MB_ICONEXCLAMATION
Respuesta = Messagebox (" INTRODUZCA USUARIO " , boxType, "AVISO")
CurrentView.Body.NomUsuario.SetFocus
Exit Sub
Else
boxType = MB_OK+ MB_ICONEXCLAMATION
Respuesta = Messagebox (" INTRODUZCA CODIGO " , boxType, "AVISO")
CurrentView.Body.PSW.SetFocus
Exit Sub
End If
End If

'*--------------------------------------------------------------------------
'Encriptar
VClargo = Len(VC)
For I = 1 To VClargo
Select Case I
Case 1
a1=Mid(CurrentView.Body.PSW.Text,i,1)
b1 = Ucase(Chr(Asc(a1)))
b1 = Chr(Asc(b1)-25)
Case 2
a2=Mid(CurrentView.Body.PSW.Text,i,1)
b2 = Ucase(Chr(Asc(a2)))
b2 = Chr(Asc(b2)-25)
Case 3
a3=Mid(CurrentView.Body.PSW.Text,i,1)
b3 = Ucase(Chr(Asc(a3)))
b3 = Chr(Asc(b3)-25)
Case 4
a4=Mid(CurrentView.Body.PSW.Text,i,1)
b4 = Ucase(Chr(Asc(a4)))
b4 = Chr(Asc(b4)-25)
Case 5
a5=Mid(CurrentView.Body.PSW.Text,i,1)
b5 = Ucase(Chr(Asc(a5)))
b5 = Chr(Asc(b5)-25)
Case 6
a6=Mid(CurrentView.Body.PSW.Text,i,1)
b6 = Ucase(Chr(Asc(a6)))
b6 = Chr(Asc(b6)-25)
Case 7
a7=Mid(CurrentView.Body.PSW.Text,i,1)
b7 = Ucase(Chr(Asc(a7)))
b7 = Chr(Asc(b7)-25)
Case 8
a8=Mid(CurrentView.Body.PSW.Text,i,1)
b8 = Ucase(Chr(Asc(a8)))
b9 = Chr(Asc(b8)-25)
End Select
Next

VC= B1+B2+B3+B4+B5+B6+B7+B8

'*----------------------------------------------------------------------------
Dim fFind As New Find
fFind.And "RIGHTS.USUARIO", "=" & VU
fFind.And "RIGHTS.CLAVE", "=" & VC

'RunApproachMacro("Evaluador")
' Esta macro no se que hace por eso la anule

'-----------------------****************************-----------------AAAAQQQUUUIIII<<<<<< O J O AQUI

' Aqui tengo el problema
'******************
CurrentWindow.FindSort fFind '---Ahora cada usuario sólo verá sus registros
'******************
'Esta linea si no encuentra registros envia un mensaje y deja como cantidad
' de registros todos los registros de la tabla. Cuando los cuento con la siguiente
' linea logicamente NR es mayor que cero y mi rutina ya no funciona como la necesito.
NR = CurrentWindow.CountRecords(AprFoundRecords)
' Lo que necesito es que el usuario pueda reingresar los datos mientras sean incorrectos.
' Hay alguna forma de interceptar el mensaje o el estado de la busqueda si es falso
para mantener el control.
'-----------------------

If nr > 0 Then
' source.NomUsuario.Visible = True
Set currentwindow.activeview = currentdocument.ProcedimientoA
CurrentWindow.Browse
Else
source.NomUsuario.Visible = False
source.NomUsuario.Text = ""
source.psw.Text = ""
Set currentwindow.activeview = currentdocument.MenuP
CurrentWindow.Browse
End If
End Sub

Gracias de antemano.
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:verificar usuarios

Autor:Manolo (134 intervenciones)
Fecha:05/03/2009 08:42:28
Hola Fenix:

Puedes utilizar el sistema que te propuse en el post: "buscar numero mayor", para verificar si una búsqueda va a encontrar registros, previamente al filtro "Find".

SELECT * FROM "RIGHTS.DBF" WHERE USUARIO="usuario" AND CLAVE="clave"

Si el ResultSet (RST), te devuelve 0 registros, no aplicas el filtro, y vuelves al la introducción de usuario y contraseña. Así evitarás el mensaje de "No se ha encontrado ningún registro" que te echa por tierra tu sistema.

Un saludo.

Manolo
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:verificar usuarios

Autor:fenix (97 intervenciones)
Fecha:05/03/2009 18:45:18
Gracias manolo fue una gran idea. Y como decimos por aqui me quedo BIEN CHEVERE.

Tuve problemas con lo de las comillas simples y dobles pero no me rendi.

Gracias.
Comentar