La Web del Programador: Comunidad de Programadores
 
    Pregunta:  839 - BASES DE DATOS DBF EN VISUAL FOX
Autor:  Arturo Torres
He tenido inconvenientes con la grabación de registros en Visual Fox Pro, utilizando tablas dbf en una red de Windows NT. En ciertas ocasiones (no frecuentes, pero preocupantes!), el sistema no avisa que no pudo adicionar un registro (con la instrucción append blank) y sobreescribe la información en el primer registro de la tabla (en lugar de hacerlo en el ´supuesto´ nuevo registro. Quiero saber si esto le ha pasado a alguien y cual es el motivo. Gracias de antemano por la atención prestada al presente, si me puedes ayudar quedaré inmensamente agradecido.

  Respuesta:  Jose Jaimes
Realmente el Problema no es FOX sino los protocolos de Serguridad de la Red NT trata de activar la casilla de Verificacion de Agregar o Eliminar datos de la Red a todos los Usuarios que Utilicen el Sistema que has Hecho, de todas maneras crea un registro en blanco, utiliza Gather memvar o Replace X with X1, si no funciona descarga los datos en una temporal SQL y listo...

  Respuesta:  Roberto Coreas
SI APPEND BLANK TE ESTA OCACIONANDO PROBLEMAS, PORQUE NO INTENTAS CON EL SQL DE FOX ASI:
=CURSORSETPROP("Buffering", 3)
insert into maemol from memvar
=tableupdate(.t.)

EN ESTE CASO LA TABLA maemol RECIBE LOS DATOS DESDE LA MEMORIA DE TRABAJO A TRAVEZ DE LA SENTENCIA insert de SQL FOX

QUE NO SE TE OLVIDE COLOCAR LA PROPIEDAD "SET" DE LA TABLA TEMPORAL O CURSOR (SI ES QUE UTILIZAS UNA) A "BUFFERING" 3, Y ACTUALIZAR TU TABLA CON tableupdate(.t.)

REVISA TAMBIEN SI ESTA TABLA ESTA EN EL DATA ENVIRONMENT DE LA FORMA EN LA QUE ESTAS CAPTURANDO EL DATA.

ESPERO HARTE AYUDADO UN POCO


  Respuesta:  Daniel Aguirre
seguramente despues de hacer el append blank estas haciendo algun otro procedimiento que te saca de foco al registro. por ejemplo si algunas veces haces append blank y despues realizas un SUM para obtener algun resultado... ahi se produce el prblema, lo que tenes que hacer en este case es guardar el registro en una vasriable y despues recuperarlo.

o sea en definitiva fijate que despues de hacer el append blank direcmente vengan los replace, de lo contrario fijate bien en el codigo

suerte


  Respuesta:  Elias Eskaff Chahin
Te recomiendo no usar append blank para insertar registros nuevos a una tabla. Lo mejor desde la versión foxpro 2.6 en adelante es insertar los datos nuevos utilizando la instruccion:
INSERT INTO [TABLA] ([CAMPOS]) VALUES ([VARIABLES])
Para mayor información consulta la ayuda.