Necesito usar un cursor

295 views
Skip to first unread message

Otto Pérez

unread,
Mar 15, 2011, 10:47:41 AM3/15/11
to Comunidad de Visual Foxpro en Español
Hola foxeros
estoy haciendo un formulario de ingreso general de datos que quiero
que se actualice a una tabla posterior.
Para eso yo uso tablas temporales libres pero estas dan problemas en
determinado momento con cortes inesperados o mala manipulación de los
sistemas.

Viendo el funcionamiento de los cursores y los ejemplos de Vfp,
elaboré un cursor llamado "cpaciente" en el init del formulario para
que este cargara en el momento de ejecutar el formulario y
posteriormente los cuadros de texto que necesito, en propiedades les
asigné en el ControlSource los campos del cursor, ej.

txtIdpaciente - cpaciente.idpaciente
txtnombre - cpaciente.nombre
etc

pero no funciona. me da un error que no existe el alias cpaciente

Podrían ayudarme como hacerlo?
no tengo experiencia en cursores
gracias

Jairo Miranda

unread,
Mar 15, 2011, 11:14:36 AM3/15/11
to publice...@googlegroups.com
Que me corrijan si estoy mal ..

Debes crearlo es en el LOAD del formulario... con la clausula READWRITE

Crearte cursor temporal( id I, paciente c(30)) READWRITE

-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de Otto Pérez
Enviado el: Martes, 15 de Marzo de 2011 09:48
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Necesito usar un cursor

Richard Gaviria

unread,
Mar 15, 2011, 11:43:54 AM3/15/11
to Grupo VFP
Cuando es con Create no tienes que ponerle READWRITE, solo utilizas READWRITE cuando es originado por una consulta, osea un "SELECT" ahi si debes adicionar el parámetro READWRITE.
 
Saludos.
 
Rick
http://www.engineersoftasociados.com

Jairo Miranda

unread,
Mar 15, 2011, 12:35:53 PM3/15/11
to publice...@googlegroups.com

Gracias por corregirme ,  vamos aprendiendo …

jairo

Irlandes 1960

unread,
Mar 15, 2011, 3:47:06 PM3/15/11
to publice...@googlegroups.com
Me parece que el problema esta en cuando estas creando el cursor.
Fijate de usar el entorno de datos del formulario, en el cual podes poner las tablas que necesitas, y el código que quieras ejecutar para crear tus cursores, basicamente el beforeopentables (antes de abrir) y el afteropentables (despues de abrirlas). Esta es la manera en que el zorro tiene pensado el uso de tablas.
Respecto a usar tablas libres creadas para la ocasión con un selec into table , andan perfectamente, de hecho el 90% de mis formularios se basan en ellas, y los prefiero a los cursores que maneja el vfp, ya que me es muy cómodo al ir desarrollando el programa tener disponibles los auxiliares creados, y los cursores desaparecen al cerrar el formulario.
Suerte, y larga vida al zorro.

Luis Maria Guayan

unread,
Mar 15, 2011, 8:21:08 PM3/15/11
to publice...@googlegroups.com
A mi personalmente me gusta crearlos en el BeforeOpenTables del entorno de datos

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Otto Pérez

unread,
Mar 16, 2011, 10:02:37 AM3/16/11
to Comunidad de Visual Foxpro en Español
Gracias por todos los aportes
Ciertamente se aprende todos los días
como estamos todavía en el mes..... "Feliz Cumpleaños a PortalFox"
donde aprendí el 75% de todo lo que hoy realizo con el Zorro.

On 15 mar, 18:21, Luis Maria Guayan <luisma...@portalfox.com> wrote:
> A mi personalmente me gusta crearlos en el BeforeOpenTables del entorno de datos
>
> Luis María Guayán
> Tucumán, Argentina
> _________________________http://www.PortalFox.com

Otto Pérez

unread,
Mar 16, 2011, 9:07:45 PM3/16/11
to Comunidad de Visual Foxpro en Español
Lo he creado en el BeforeOpenTables del entorno de datos pero el
problema es que no puedo habilitarlo en mis texbox porque no encuentro
otro camino mas que el ControSource :(

On 15 mar, 18:21, Luis Maria Guayan <luisma...@portalfox.com> wrote:

Luis Maria Guayan

unread,
Mar 16, 2011, 9:44:59 PM3/16/11
to publice...@googlegroups.com
No entiendo lo que deseas hacer, en el ControlSource de tus controles debes apuntar al alias y campo correspondiente

Luis María Guayán
Tucumán, Argentina

_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Irlandes 1960

unread,
Mar 17, 2011, 10:25:24 AM3/17/11
to publice...@googlegroups.com
estimado Otto, justamente la propiedad controlsource es la que comanda el origen de datos asociados al objeto, ya sea esta un campo de un cursor, de una tabla auxiliar, de un dbf, sin importar como cuando o donde los hayas abierto o creado, y esto aplicado tanto a los textbox, combobox, etc.
¿cual es el problema existencial que tenes con la propiedad controlsource?
Suerte , y larga vida al Zorro

Otto Pérez

unread,
Mar 19, 2011, 9:10:47 PM3/19/11
to Comunidad de Visual Foxpro en Español
Gracias
El problema es que he creado mi cursor en donde Luis Maria dijo
beforeOpenTables.... pero al activarlo con el controlSource me da un
error de que no existe el alias

ej.
creo un cursor cdental en el entorno de datos - beforeOpenTables de
un formulario con los campos idpaciente,nombre,apellido

luego direcciono cada campo creado en el controlSource de texbox¨s
para que se active mi cursor a la hora de ejecutar el formulario pero
inmediatamente me da el error "no existe el alias de cdental" y no se
activan mis texbox

tal vez si alguien me diera un ejemplo se los agradeceria

Gracias nuevamente....

On 17 mar, 08:25, Irlandes 1960 <irlandes1...@gmail.com> wrote:
> estimado Otto, justamente la propiedad controlsource es la que comanda el
> origen de datos asociados al objeto, ya sea esta un campo de un cursor, de
> una tabla auxiliar, de un dbf, sin importar como cuando o donde los hayas
> abierto o creado, y esto aplicado tanto a los textbox, combobox, etc.
> ¿cual es el problema existencial que tenes con la propiedad controlsource?
> Suerte , y larga vida al Zorro
>
> El 16 de marzo de 2011 22:44, Luis Maria Guayan <luismar...@gmail.com>escribió:
>
>
>
> > No entiendo lo que deseas hacer, en el ControlSource de tus controles debes
> > apuntar al alias y campo correspondiente
>
> >  *
> > Luis María Guayán
> > Tucumán, Argentina
> > _________________________
> >http://www.PortalFox.com<http://www.portalfox.com/>
> > Nada corre como un zorro
> > _________________________
> > *
>
> > El 16/03/2011 22:07, Otto Pérez escribió:
>
> > Lo he creado en el BeforeOpenTables del entorno de datos pero el
> > problema es que no puedo habilitarlo en mis texbox porque no encuentro
> > otro camino mas que el  ControSource  :(
>
> > On 15 mar, 18:21, Luis Maria Guayan <luisma...@portalfox.com> <luisma...@portalfox.com> wrote:
>
> > A mi personalmente me gusta crearlos en el BeforeOpenTables del entorno de datos
>
> > Luis María Guayán
> > Tucumán, Argentina
> > _________________________http://www.PortalFox.com<http://www.portalfox.com/>- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

Irlandes 1960

unread,
Mar 19, 2011, 10:17:22 PM3/19/11
to publice...@googlegroups.com
A ver si esto te ayuda en algo.
En el beforeopentable creo con un sql el cursor vacío que luego se referencia en los objetos.
Yo uso into dbf ya que me resulta practico tenerlos para seguimiento y otras cosas, pero da lo mismo si es into cursor con readwrite 
Suerte, y larga vida al Zorro
beforeopentable.JPG
controlsource.JPG

Rene Ricardo

unread,
Mar 21, 2011, 12:06:38 PM3/21/11
to publice...@googlegroups.com
Yo los cursores los creo en el evento 'LOAD' del formulario y los enlaces a los controles lo hago en el evento INIT, y no me da problemas

Miguel Canchas

unread,
Mar 21, 2011, 12:26:49 PM3/21/11
to publice...@googlegroups.com

Hmmm me parece mas ordenado….Crear los cursores en LOAD y enlazarlos en INIT…..

 

 

Yo SIEMPRE hago todo en el INIT….

 

MK

Irlandes 1960

unread,
Mar 21, 2011, 1:19:00 PM3/21/11
to publice...@googlegroups.com
¿Por que no usan el entorno de datos? ¿Solo una cuestion de costumbre, o le han encontrado algo?

ibania blanco

unread,
Mar 30, 2011, 5:19:39 PM3/30/11
to Comunidad de Visual Foxpro en Español
que quieren decir enlazar en el INIT

On 21 mar, 10:26, "Miguel Canchas" <mcanc...@ximesa.com> wrote:
> Hmmm me parece mas ordenado....Crear los cursores en LOAD y enlazarlos en INIT.....
>
> Yo SIEMPRE hago todo en el INIT....
>
> MK
>
> De:publice...@googlegroups.com[mailto:publice...@googlegroups.com]En nombre de Rene Ricardo
> Enviado el: lunes, 21 de marzo de 2011 11:07 a.m.Para:publice...@googlegroups.com
> Asunto: Re: [vfp] Re: Necesito usar un cursor
>
> Yo los cursores los creo en el evento 'LOAD' del formulario y los enlaces a los controles lo hago en el evento INIT, y no me da problemas
>
> El 19 de marzo de 2011 20:17, Irlandes 1960 <irlandes1...@gmail.com> escribió:
>
> A ver si esto te ayuda en algo.
>
> En el beforeopentable creo con un sql el cursor vacío que luego se referencia en los objetos.
>
> Yo uso into dbf ya que me resulta practico tenerlos para seguimiento y otras cosas, pero da lo mismo si es into cursor con readwrite
>
> Suerte, y larga vida al Zorro
>
Reply all
Reply to author
Forward
0 new messages