¿Cuál es el erro que se produce en el visual fox pro 6.0 cuando intento buscar un dato?

Hola, soy usuario de visual fox pro 6.0, el problema que tengo es el siguiente, en un formulario tengo un objeto "Pagina" el cual maneja dos fichas unade bajas y otra de modificación, en la ficha de bajas tengo un combo para buscar un dato, cuando lo doy de baja me borra el primer registro de la tabla, busque otra programación y pretendo ahora mejor buscar el dato para que así lo borre más exacto, la programación que utilizo es:
SELECT clientes
USE Z:\zurita\cucs\SICACH\DATA\clientes EXCLUSIVE
public valor
valor=0
valor=thisform.paginas.baja.txtnocliente.value
SET ORDER TO 1
seek valor
if found() then
messagebox("Cliente encontrado",0+48,"DETECCION")
if messagebox("desea elimnar",32+4,"registro x")=6 then
delete next 1
pack
messagebox("registro eliminado")
else
Cancel *se cancela toda acción y el registro por no se elimina
endif
endif
la cuestión es que marca error en el seek, indicando de que no es compatibilidad en el tipo de dato, mi campo principal(nocliente) es entero, ¿cuál es el error? U otra forma más sencilla y rápida, espero que me ayudes, si puedes envarme ejemplos de una base de datos completa, me puedes escribir a [email protected], no hay problema en el espacio si me envías un archivo grande, GRACIAS de antemano
1

1 respuesta

Respuesta
1
Puede suceder que en la sentencia:
SELECT clientes
SET ORDER TO 1
No estés haciendo referencia al indice por "nocliente". Asegurate que en el orden 1 esté el índice por "nocliente", o mejor aún, haz referencia al índice de la siguiente forma:
SELECT clientes
SET ORDER TO CLINRO && Donde CLINRO es el nombre del índice por "nocliente".
-------------- OOo ---------
Lo otro que puede suceder es que el "value" de thisform. Páginas. Baja.txtnocliente no haya sido inicializado en un valor entero.
Para ello, antes de hacer lectura del textbox, haz lo siguiente:
thisform.paginas.baja.txtnocliente.value=0
-------------- OOo ---------
He visto que usas el comando USE ... EXCLUSIVE.
Bueno, no es recomendable que uses una tabla en forma exclusiva, ya que de esa forma no funciona en multiusuario. Aparte es recomendable agregar la tabla "clientes" al Entorno de Datos para que no sea necesario usar el USE, y de esta forma haces referencia a la tabla usando: SELECT CLIENTES.
Te envío un ejemplo para que puedas estudiarlo.
Suerte.
Ok, ya lo cheque y si obtuve un buen resultado, ahora tengo otro, en este mismo formulario, te comente que tengo dos fichas una de bajas y la de modificaciones. Bueno en la de modificaciones utilizo un grid para que me de un reporte de todos los datos que están en la tabla y realizar cambios de forma rápida, pero cuando doy de baja un registro y me voy a la otra ficha para ver el reporte, el objeto grid no visualiza nada y es como si perdiera el enlace, que puedo hacer, de hecho cuando doy de baja se tiene que actualizar todo, pero ¿cómo?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas