Buen día experto, estoy aprendiendo visual fox y estoy tratando de guardar registros de un grid pero no se como realizarlo, podrías por favor indicarme como se realiza este procedimiento De antemano muchas gracias
El control grid es un contenedor que muestra registros que pueden tener distintos orígenes, siendo los más usados: 1) Una tabla o Alias 2) Un Cursor (resultante de una cláusula Select SQL) Es decir que para que un grid tienda registros, esos registros ya están guardados en alguna tabla o en varias tablas. Según esto, a no ser que hayas realizado cambios a los registros del grid, no hay necesidad de guardarlos. Si hubieras realizado cambios, y si tú estás en proceso de aprendizaje, es muy probable que tu control grid tenga el origen de datos en una tabla, y los cambios se guardarán automáticamente al editar la tabla. Te sugiero que escribas help en la ventana de comandos y luego eches un vistazo a la ayuda de Visual Foxpro para estas propiedades: Rowsourcetype, rowsource, controlsource, buffermode, tableupdate(), tablerevert() Te van a resultar de mucha utilidad. Si ya has pasado por estos pasos y deseas reexpresar tu pregunta quedo a la espera de ella. Suerte.
Perdón creo que no escribí bien la pregunta, quiero realizar lo siguiente: poder ingresar datos en un grid y que se guarden en una tabla, lo estaba realizando con el controSourse pero leyendo me di cuenta que se puede realizar con cursores, lo estoy creando de la siguiente forma en el evento init del grid cree un cursor CREATE CURSOR detgrid (código N(10), descripción C(50), cantidad1 N(5), cantiadad2 N(5)) thisform.grid1.RecordSource = "detgrid" **asocio el grid al cursor hasta aca lo tengo pero no se como seguir y al correr la aplicacion el grid me aparece bloqueado sin poder ingresar registros. Me podría indicar por favor que estoy haciendo mal. Gracias
Ahora te entiendo: Estás más avanzado de lo que inicialmente pensé. CREATE CURSOR crea una tabla temporal que existe únicamente hasta que se cierra. Una tabla temporal creada mediante CREATE CURSOR puede manipularse como cualquier otra tabla: se puede examinar e indizar, y se pueden anexar y modificar registros. La tabla temporal se abre en la menor de las áreas de trabajo disponibles y puede tenerse acceso a ella mediante su alias. Cada campo de la tabla temporal está definido con un nombre, tipo, precisión y escala. Estas definiciones pueden obtenerse del propio comando o de una matriz. La tabla temporal se abre en modo exclusivo independientemente de la configuración de SET EXCLUSIVE. Chequea el siguiente código: thisform.grid1.RecordSourcetype= 1 && (alias) thisform.grid1.RecordSource = "detgrid" thisform.grid1.readonly=.F. Con esto funcionará! Nota: Si trabajas con un cursor luego debes guardar los datos en alguna tabla.