FoxPro/Visual FoxPro - error en grid

 
Vista:

error en grid

Publicado por renegado (13 intervenciones) el 14/06/2010 22:18:32
saludos,deseandole exitosen sus labores

tengo un cursor crado en el load del un formulario , pegado a un grid , no estoy manejando buffer de almacenamiento , pasa que en ciertos eventos , cuando realzo un update al cursor , me sale el error nro 2072 , el caul indica Cursor cannot be modified because it contains an unsaved record.

si estuviiera trabajando con buffer seria valido , pero no es asi es un cursor normal vinculado a un grid

me esta enloqueciendo este error

en espera de sus comentarios
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
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Error en grid

Publicado por Mauricio (1541 intervenciones) el 15/06/2010 00:05:19
Es sencillo amigo, lo que sucede es que un cursor no lo puedes actualizar, debe de ser una tabla........
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

RE:Error en grid

Publicado por ACM (162 intervenciones) el 15/06/2010 06:51:17
Hola Renegado

1) Si creaste el cursor con Create Cursor, no deberia tener problema si es asi verirfica las propiedades del Grid Readonly. y que el columcount indique la cantidad de columnas.

2) Si lo creaste con la sentencia select de sql al final de la intruccion agregale READWRITE para que el cursor no sea solo de lectura.

Espero te sirva

ACM.
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

RE:error en grid

Publicado por Juanma Cruz (512 intervenciones) el 15/06/2010 10:20:35
Primero, verifica que creas el cursor con clausula READWRITE para que puedas hacer actualizaciones en él,

Segundo verifica tu sesión de datos, y si el FORM tiene especificado un valor de BUFFERMODE diferente de 0.

No me queda muy claro qué quieres decir con lo de "cuando realzo un update al cursor".
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

RE:error en grid

Publicado por Ale P (92 intervenciones) el 15/06/2010 17:13:37
Hola, yo tuve unas veces el mismo problema, aun creando el cursor con readwrite y todo lo que te dijeron, pero aun asi me seguia dando el error
lo que hice fue hacer un TABLEUPDATE(1, .T., Cursor)

espero q te sirva
salu2
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

RE:error en grid

Publicado por Memo Estrada (1 intervención) el 27/07/2010 20:34:25
Hola parece que es un bug de vfp 9 que para variar Microsoft no piensa corregir.

Es probable que lo puedes evitar poniendo esta instruccion después de hacer una operacion en la tabla o cursor que se usa en un grid, ya sea insert, replace, append, etc.

go recno()

Espero te sirva.
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

RE:error en grid

Publicado por Oscar Condori (1 intervención) el 19/04/2012 17:53:25
Hola, este añadir :
go recno()
despues del REPLACE ... en una tabla con buffer 5
me dio buen resultado, GRACIAS Memo Estrada.
100 puntos.
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

error en grid

Publicado por Boby (1 intervención) el 11/09/2020 00:25:05
Antes de realizar el append, replace, etc realizo lo siguiente:

- En el formulario coloco un Boton, cuyas propiedades son:
name = BotInv1
style = 1 - Invisible

- En el código del programa pongo esto:

thisform.botinv1.setfocus.

- Luego el código que normalmente hago.

- Me aseguro que no se regrese el foco al grid, o que recién lo haga después que termino de realizar las actualizaciones.

Listo

En conclusión, cuando necesites realizar algo, siempre saca el foco del grid. Si lo mantienes, te cambia muchas cosas durante la ejecución del programa, inclusive el alias() actual.
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