Power Builder - Ventana de Pasword

   
Vista:

Ventana de Pasword

Publicado por Blanca (206 intervenciones) el 01/10/2014 19:24:38
Queridos expertos buenas horas, acudo a ustedes por que deseo que me ayuden con este problema al momento de que acceden a la base de datos, mediante 2 ventanas la de usuarios y la de el administrador.

En la ventana de administrador no importa pero si en la ventana de los usuarios (w_seguridad_usu), en la que se accede por los campos de una tabla llamada Seguridad que tiene 4 campos y son:

UNIDAD USUARIO CONTRASEÑA INDEX
ICA CHAVEZ 121210 1
LIMA PAZ 201211 2
PUNO CHANDUCA 302588 3
.....

como se pudiera hacer para que cuando el usuario no de la Ciudad correspondiente a la que le pertenece con su nombre de usuario y contraseña entonces mande un mensaje de error y no deje acceder a la base de datos.

Con este código si logra acceder a pesar de no estar en la UNIDAD correcta.

Aquí mi código:

Integer li_valor
ls_usuario=sle_user.text
ls_dirter=ddlb_1.text ////Aquí he puesto todas las ciudades comprometidas

Select Count(*) Into:li_valor From Seguridad
Where usuario=:ls_usuario;
If li_valor=0 then
MessageBox("Aviso", "El usuario no existe", Exclamation!, OK!)
return
End If

Select contraseña Into:ls_clave From Seguridad
Where usuario=:ls_usuario;
If ls_clave<>sle_contraseña.text then
MessageBox("Aviso","La clave es incorrecta", Exclamation!, OK!)
sle_contraseña.text=""
sle_contraseña.setFocus()
MessageBox("Bienvenido Sr. Usuario","proceda Ud., a realizar los registros que estime por conveniente", Exclamation!, OK!)
return
End If
Open(w_usuarios)
close(w_seguridad_usu)

Espero haber sido clara amigos

Lo necesito
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

Ventana de Pasword

Publicado por alex (3 intervenciones) el 02/10/2014 22:59:56
Cual es la ciudad del usuario, a simple vista veo que puede ser el campo unidad de la tabla Seguridad , podrias usar la query que a tienes actualmente

1
2
3
4
5
6
7
8
9
10
Select Count(*)
Into:li_valor
From Seguridad
Where usuario=:ls_usuario
and unidad = :ls_dirter;
 
If li_valor=0 then
MessageBox("Aviso", "El usuario no existe, o no pertenecece a la ciudad seleccionada", Exclamation!, OK!)
return
end if

Es como lo mas basico pero no le veo mucho sentido al seleccionar la ciudad, para que sea mas seguro, la ciudad en la que está operando el sistema deberia ser una variable global ya que con eso te asegurar que todo el sistema opere bajo la ciudad del usuario
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

Ventana de Pasword

Publicado por Blanca (206 intervenciones) el 04/10/2014 17:43:14
Si Alex gracias, esas son variables globales, Gracias perfectamente funciona.

Muchas gracias por tu apoyo
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