RE:Qué es el cursor en un formulario
Hola Bety
El CURSOR, es un tabla temporal en memoria, es casi lo mismo que una tabla temporal fisica en el disco pero con artas ventajas..
La ventaja que es una tabla independiente esta trabaja por pc es decir puedes tener varios pc corriendo con el mismo nombre de cursor y no hay conflicto. en la tabla libre ya que si alguien la esta ocupando al entrar otro a usar esa tabla debes de bloquearla o compartirla ya que es una tabla fisica.
Ahora si quieres cargas datos puedes leer una tabla y vaciarla al cursor para mostrar estos datos relacionandola a un grid para visualizar o un simple browse del cursor.
Hay 2 forma de generan un cursor
1-) Uno que puedes crear con la sentencia Sql ejemplo
Select item,codigo,cantidad,descrip,precio,total from movim where folio=thisform.folio.value order by item into cursor c_factura
donde c_factura es el nombre del cursor donde se llenan los datos segun condicion
select C_factura
brow
2-) Crea un cursor mediante programacion ejemplo
en el init
create cursor c_factura;
(item c(3),codigo, c(13),descrip c(50),precio n(12,2),total n(12,2))
thisform.folio.value
en el lostfoces del text folio o un boton
Select item,codigo,cantidad,descrip,precio,total from movim where folio=thisform.folio.value order by item into cursor c_fac
if reccount("c_fac")>0
select c_factura
zap
appen from dbf("c_fac")
endif
aqui se cargo los datos en el cursor c_fac
y se paso al crusor c_FACTURA
la ventaja de usar cursor es que no tiene que preocuparte de bloquear y nada ya que trabaja por pc (equipo) de forma independiente.
saludos
Acm.