FoxPro/Visual FoxPro - problema con un if

   
Vista:
Imágen de perfil de jean carlos

problema con un if

Publicado por jean carlos (13 intervenciones) el 10/02/2012 02:01:08
este codigo l tengo para los tipos de usuarios: el cual quiero que si mi nivel de seguridad es mayor de 3 me arroje un mensaje y si no lo es se guarde. lo estoy trabajando con el Text5. y me sale que TeXT5 falta la variable

IF NOT EMPTY(THISFORM.TEXT1.VALUE) AND NOT EMPTY(THISFORM.TEXT2.VALUE);
AND NOT EMPTY(THISFORM.TEXT3.VALUE) AND NOT EMPTY(THISFORM.TEXT4.VALUE)
SELECT 11 && Tabla Empleados
USU = Alltrim(Thisform.Text1.Value)
Locate for Alltrim(codusu) == USU
Thisform.Text5 = text5
text5 = Thisform.Text5
if text5 > 3
MESSAGEBOX(" Ingresar")
endif
IF .NOT. FOUND()
Append Blank
Replace edoreg with "A"
Replace codusu with Alltrim(Thisform.Text1.Value)
Replace nomusu with Alltrim(Thisform.Text2.Value)
Replace paswor with Alltrim(Thisform.Text3.Value)




[b]
If Text5 < 3 Then

Replace nivel with Alltrim(Thisform.Text5.Value)
else

If Text5 > 3 Then
MESSAGEBOX(" Ingresar un Valor Menor")
ENDIF
ENDIF



[/b]


ELSE
Replace nomusu with Alltrim(Thisform.Text2.Value)
Replace pasword with Alltrim(Thisform.Text3.Value)
Replace nivel with Alltrim(Thisform.Text5.Value)
ENDIF
*Thisform.Text1.InteractiveChange
This.Enabled = .F.
Thisform.Refresh()
ELSE
MESSAGEBOX("Faltan Elementos por Ingresar")
ThisForm.Text1.SetFocus
ENDIF
*Thisform.Modificar.Click
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
Imágen de perfil de Mauricio

problema con un if

Publicado por Mauricio (1368 intervenciones) el 10/02/2012 14:09:37
Locate for Alltrim(codusu) == USU
Thisform.Text5 = text5
text5 = Thisform.Text5
*
Locate .......
Thisform.text5.value = text5
text5 = Thisform.text5.value
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
Imágen de perfil de jean carlos

problema con un if

Publicado por jean carlos (13 intervenciones) el 11/02/2012 02:56:42
SALUDOS: GRACIAS PERO AUN NADA QUE SOLUCIONO LO DEL CODIGO. ME SIGUE SALIENDO, FALTA LA VARIABLE TEXT5


IF NOT EMPTY(THISFORM.TEXT1.VALUE) AND NOT EMPTY(THISFORM.TEXT2.VALUE);
AND NOT EMPTY(THISFORM.TEXT3.VALUE) AND NOT EMPTY(THISFORM.TEXT4.VALUE)
SELECT 11 && Tabla Empleados
USU = Alltrim(Thisform.Text1.Value)
Locate for Alltrim(codusu) == USU

Locate for Alltrim(nivel) == text5
Thisform.Text5.Value = text5
text5 = Thisform.Text5.Value




IF .NOT. FOUND()
Append Blank
Replace edoreg with "A"
Replace codusu with Alltrim(Thisform.Text1.Value)
Replace nomusu with Alltrim(Thisform.Text2.Value)
Replace paswor with Alltrim(Thisform.Text3.Value)
IF Thisform.Text5.Value > 3 THEN

MESSAGEBOX("INGRESE")

ELSE
IF Thisform.Text5.Value < 3 THEN
Replace nivel with Alltrim(Thisform.Text5.Value)
ENDIF
ENDIF
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
Imágen de perfil de Mauricio

problema con un if

Publicado por Mauricio (1368 intervenciones) el 11/02/2012 12:15:51
Tienes razon, en el load del formulario, tienes que declararla:
PUBLIC text5
text5 = ""
con esto te funcionara....
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

problema con un if

Publicado por SSJULIO01 (13 intervenciones) el 19/02/2012 05:47:11
Veo que la causa de que te salga el mensaje diciendo que falta la varibale "text5" es porque en la línea 6 del codigo que anexas dice:

Thisform.Text5 = text5

Esta línea hace que el objeto Text5 de tu formulario tome el valor de una variable "text5" que obviamente no existe segun se observa en tu codigo.

Pienso que esa línea está de mas, intenta dejarla como un comentario y corre el form a ver si funciona


suerte y saludos desde Chiapas México
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
Imágen de perfil de jean carlos

problema con un if

Publicado por jean carlos (13 intervenciones) el 20/02/2012 00:38:25
****** saludos me diste una idea y sin usar variable pude hacer lo que queria, soy muy nuevo en esto, por eso me cuesta, pero ya solucione. gracias ssjuli001*******

******pero ahora me falta algo, *******

IF .NOT. FOUND()
Append Blank
select 11 && usuario

if thisform.text5.value > "3" then
messagebox("debes ingresar un valor menor a los niveles de seguridad")

***** aquí me esta guardando la información en la tabla pero en blanco, es decir no guarda por que el nivel esta comprendido hasta 3, pero me embasura la tabla de espacios en blancos. debe de haber algo para no hacerle la rutina a todas las de mas lineas de codigo******

endif


if thisform.text5.value <= "3" then
Replace edoreg with "A"
Replace codusu with Alltrim(Thisform.Text1.Value)
Replace nomusu with Alltrim(Thisform.Text2.Value)
Replace paswor with Alltrim(Thisform.Text3.Value)
Replace nivel with Alltrim(Thisform.Text5.Value)
messagebox("se guardo completo completo el nuevo usuario")
endif
ELSE
Replace codusu with Alltrim(Thisform.Text1.Value)
Replace nomusu with Alltrim(Thisform.Text2.Value)
Replace paswor with Alltrim(Thisform.Text3.Value)
Replace nivel with Alltrim(Thisform.Text5.Value)

ENDIF
ENDIF

desde MARACAIBO VENEZUELA
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
Imágen de perfil de jean carlos

problema con un if

Publicado por jean carlos (13 intervenciones) el 20/02/2012 02:10:45
***YA RESOLVÍ LO DEL EMBASURAMIENTO DE LA TABLA, SOLO COLOQUE

SELECT *** LA TABLA CON LA QUE ESTOY TRABAJANDO
DELETE
PACK

***Y LISTO
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

problema con un if

Publicado por SSJULIO01 (13 intervenciones) el 28/02/2012 04:14:29
Jean Carlos

Regularmente debes procurar en lo posible el uso de "Append Blank" solo cuando ya estes seguro de que necesitas agregar un registro a la table, de lo contrario no tiene mucho sentido el agregar un registro en blando y luego borrarlo.

Pienso que deberias analizar tu codigo y luego rediseñarlo para econtrar el lugar exacto para colocar el append blank justo antes de reemplazar los datos que tendrias que guardar en caso de que la condición se cumpla.

Saludos sigue adelante.
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