Lotus Approach - verificar usuarios

 
Vista:

verificar usuarios

Publicado por fenix (97 intervenciones) el 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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:verificar usuarios

Publicado por Manolo (140 intervenciones) el 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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:verificar usuarios

Publicado por fenix (97 intervenciones) el 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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar