FoxPro/Visual FoxPro - Rutina de seek VFP9.0

 
Vista:
sin imagen de perfil

Rutina de seek VFP9.0

Publicado por Alejandro Chavarria (14 intervenciones) el 25/06/2012 21:06:54
¡Hola Programadores del mundo!
Les tengo una pequeña consulta con respecto a la rutina de el comando SEEK
al momento de que ejecuto un formulario me busque el registro indexado. si lo encuentra que me notifique , si no, que lo guarde. Al parecer me esta dando problemas ya que cuando le doy al botón guardar solo me salta la condición que diga que ya existe el registro , pero siempre lo guarda.
¿que estoy haciendo mal?. Aquí les dejo mi rutina :

SET ORDER TO num_cheque

SEEK (thisform.txtnum_cheque.value )
IF FOUND()
MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR")
ELSE
Reemplazar registro with thisformtxtbox.value . . .
ENDIF


Saludos desde Honduras.
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
sin imagen de perfil

Rutina de seek VFP9.0

Publicado por neo (1604 intervenciones) el 25/06/2012 21:23:11
Ejemplo:

1
2
3
4
5
6
7
8
9
10
SET ORDER TO num_cheque
 
x1=thisform.txtnum_cheque.value
?x1
SEEK x1
IF FOUND()
MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR")
ELSE
Reemplazar registro with thisformtxtbox.value . . .
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
sin imagen de perfil

Rutina de seek VFP9.0

Publicado por Alejandro Chavarria (14 intervenciones) el 26/06/2012 04:30:02
pues lo intente y aun lo mismo. :( ¿no tienes alguna otra rutina de busqueda?
Gracias de todos modos
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
sin imagen de perfil

Rutina de seek VFP9.0

Publicado por neo (1604 intervenciones) el 26/06/2012 15:43:53
Estoy casi seguro que el codigo està bien escrito, el problema debe ser en la instruccion anterior al codigo.

puedes probar en un boton solo el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
select *from mi_tabla where num_cheque=Thisform.txtnum_cheque.value into cursor c1
if reccount()>0
select c1
browse
MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR")
else
select mi_tabla
append blank
replace num_cheque with thisform.txtnum_cheque.value
wait window "Datos guardados con éxito"
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
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Rutina de seek VFP9.0

Publicado por Mauricio (1541 intervenciones) el 26/06/2012 15:16:39
Intenta regresar el cursor, que no siga con el proceso.
*
SET ORDER TO num_cheque

IF SEEK (thisform.txtnum_cheque.value )
.....MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR")
....RETURN 0
ELSE
.....Reemplazar registro with thisformtxtbox.value . . .
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