FoxPro/Visual FoxPro - Create Cursor y Grid

 
Vista:

Create Cursor y Grid

Publicado por Pablo (Argentina) (433 intervenciones) el 02/06/2010 20:54:00
Hola Amigos, a ver ya me estoy volviendo loco con esto, no me sale nada, jaja.Bueno resulta que haciendo lo que me dijo el amigo ACM de crear un cursor en vez de usar una tabla en modo exlusivo, hice lo siguiente

CREATE CURSOR temporal ;
(codigo C(7),terminal c(30),esn c(15),pin c(8)

Bueno en el INIT del form, tengo ese codigo, ahora bien, en mismo form tengo un GRID en el cual quiero que se vea reflejado el cursor temporal para poder irle agregando renglones y despues pasarlos a otra tabla (eso ya es otr cosa), LO QUE NO me funciona es que en el GRID no se ven las columnas o nada del cursor, solo fondo blanco, jee
la propiedad recorsource = temporal la coloque y nada, le puse, alias y tampoco, tabla y nada, ya no se como hacer

¿alguien me puede decir como es el asunto?, porque con una tabla en el entorno de datos no tengo ningun problema, ahora creando un cursor en el INIT no me funciona

Gracias

Pablo - Argentina
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
sin imagen de perfil
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Create Cursor y Grid

Publicado por kong (682 intervenciones) el 02/06/2010 22:36:52
yo tengo un a aversion a usar el comando CREATE CURSOR, en lugar a ello copio la estructura de una tabla existente, pero sin registros.

select * from mitabla where .F. into cursor micursor readwrite
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:Create Cursor y Grid

Publicado por michael (45 intervenciones) el 02/06/2010 23:11:00
asi como dijo ACM

en el init del form usa el codigo para crear el cursor y tambien para especificar el recordsource desde el codigo.

CREATE CURSOR temporal (codigo C(7),terminal c(30),esn c(15),pin c(8))
thisform.grid1.RecordSource='temporal'
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:Create Cursor y Grid

Publicado por Fernando Rodriguez (2 intervenciones) el 15/03/2016 04:26:44
Michael, no se si aun estas activo en ese foro, pero tu explicación fue excelente.

Te agradezco mucho.
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
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

Create Cursor y Grid

Publicado por Mauricio (1541 intervenciones) el 03/06/2010 00:50:38
Pablo, tienes que calmarte y pensar serenamente, la respuesta ya la diste: dices que cuando usas una tabla todo funciona como "debiera" y cuando usas cursor no te sale nada, me parece que no donde es que llenas el cursor de datos, alli me parece que esta el problema, luego de tener los datos tienes que llenar tu grid con los datos necesarios.
Para el amigo Kong, pues no se de donde viene su aversion al cursor si la diferencia entre uno y otro es que usa CREATE CURSOR y por el otro lado se usa un SELECT * FROM mi_tabla INTO CURSOR mi_cursor, es lo mismo solo que en diferente forma, espero que esto no acarree discusion, es solo una observacion.
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:Create Cursor y Grid

Publicado por es_binario (757 intervenciones) el 03/06/2010 02:06:18
El problema es que no preparas la grilla antes de poner el cursor

En el init

Thisform.grid.recordsource = ""
Create cursor mi_cursor (.....)
Thisform.grid.recordsource = "mi_cursor"

ahora tambien podrias hacer un append blank para tener un dato y no este vacio
pero eso te debe funcionar

Saludos.
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:Create Cursor y Grid

Publicado por ALBERTO (404 intervenciones) el 03/06/2010 06:06:21
POR EL COMENTARIO DE KONG , A PABLO LE DIJIMOS QUE CREARA CURSORES TEMPORALES POR EL TEMA DEL USO DEL SISTEMA EN RED , PARA QUE EN CADA PUESTO DE TRABAJO SE CREARA EL CURSOR TEMPORAL , EL LO QUERIA PARA FORMULARIOS DE VENTAS SI NO ME EQUIVOCO PARA QUE SE PUEDAN FACTURAR A LA VEZ EN LOS DISTINTOS PUESTOS, ES SOLO UNA ACLARACION PARA KONG , NO LO TOMES MAL COLEGA.
SALUDOS Y SIGAMOS CON FOX HASTA LA MUERTE.
HAY UN FORO NUEVO EN EL GRUPO DE GOOGLE , MUY BUENO A MI GUSTO YO PARTICIPO EN EL , HAY GENTE MUY BUENA COMO EN ESTE FORO QUE TIENE LA INTENCION DE AYUDAR EN LO QUE SE PUEDE.
ESTA EL AMIGO LUIS MARIA GUAYAN , UN CAPO DE FOX , EL CREADOR DE PORTAL FOX.
ECHENLE UN VISTAZO , ES BUENO COMO ESTE.
SALUDOS

LES PASO EL LINK

http://groups.google.com/group/publicesvfoxpro/topics?hl=es
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
Val: 4
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Create Cursor y Grid

Publicado por kong (682 intervenciones) el 03/06/2010 07:26:17
hola colegas.

resulta que hace ya algun tiempo, cuando hacía mi programa, batallaba con este comando y resultaba errores, errores que hasta ahora no lo he logrado entender. Al final desistí de utilizarlo, mas bien utilicé el otro metodo para evitar esos errores.

aqui esta la prueba de mi decepcion:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=34&texto=FoxPro/Visual+FoxPro&n1=485337&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

tranquilo amigos, ustedes son muy corteces y amables.
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:Create Cursor y Grid

Publicado por Juanma (512 intervenciones) el 04/06/2010 10:54:51
Debes poner las líneas que crean el cursor en el evento LOAD del formulario, no en el INIT. Así te aseguras que cuando llegas al event INIT de la misma GRID, que ocurre antes del INIT del formulario, tu cursor temporal ya existe.

Recuerda también que operaciones globales con el cursor hacen que una grid pueda perder la referencia del mismo.
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:Create Cursor y Grid

Publicado por Juan Carlos  (13 intervenciones) el 05/11/2010 23:04:15
Haber si puedo colaborar en algo.

Realice las pruebas como indican mensajes arriba y no me resulto.

La forma como realizo y no tengo problemas es la siguiente.

Una vez que creo mi cursor temporal CurBol y ademas le agrego datos.

Ejecuto el siguiente comando

Thisform.GrdSaldos.RecordSource = "SELECT * " +;
"FROM CurBol " +;
"ORDER BY Mes " +;
"INTO CURSOR CurSal"

Espero se haya entendido

Un abrazo y un saludo cordial a todos
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

Create Cursor y Grid

Publicado por Matias G. Antola (1 intervención) el 04/09/2012 03:30:05
Yo tuve un problema similar y lo resolví así:

SELECT * FROM datastore!clientes INTO Cursor TempPagos readwrite
Thisform.Grid1.RecordSourceType= 1
ThisForm.Grid1.RecordSource='TempPagos'
Thisform.Grid1.Refresh

La clave, por lo menos en mi caso, estuvo en no crear el cursor con CREATE sino con SELECT... y setear todo manualmente, yo lo usé en un InteractiveChange() de un textbox para ir actualizando la tabla mientras escribo pero en el INIT te deberia funcionar perfecto.
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

Create Cursor y Grid

Publicado por Candido Rodriguez (1 intervención) el 11/04/2013 02:20:45
Hola como estas, mira en el init del formulario manda a ejecutar el cursor. por ejemplo asi
thisformset.ventas()

luego en el formset de tu formulario crea un método llamado ventas
luego habre el método llamado ventas y crea el cursor asi

CREATE CURSOR ventas (codart N(5), cantidad n(12,2), presentacion C(35), descri C(35),itebis n(12,2),;
precio n(12,2), importe n(12,2))
thisformset.form1.grid1.recordsource="ventas"
INDEX on codart ASCENDING TO "ventas"

y listo, en le grid no debes hacer nada, los deja como estas, puedes ponerlo del tamaño que desees y darles el tamaño a cada celda.
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

extraer registro de un formulario a otro-utilizando cursor

Publicado por GUSTAVO (1 intervención) el 18/05/2014 02:29:24
Super la explicacion pero, espero que me respondas ; yo tengo dos formulario, los dos con cursor ahora el problema es que uno es mi formulario busqueda en donde esta la grid,etc. yo quiero entrar en ese formulario busqueda desde mi otro formulario elegir un registro o extraer verdad y mostrar en mi otro formulario,, ahi para que pueda manipular...favor si me pueden dar su opinion o ayuda .
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
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

extraer registro de un formulario a otro-utilizando cursor

Publicado por Fidel José (558 intervenciones) el 18/05/2014 17:09:33
No sé exactamente cuál es tu duda.
Te envío un ejemplo.
frmWork es un formulario donde tenemos que hacer un informe de visitas a clientes
frmBrowser es un formulario modal en el que podemos buscar dentro de un cursor que enviamos como parámetro.

Fijate que acá utilizo una tal tabla "Clientes" que probablemente no tengas, o si la tienes, quizá sus campos tengan otras denominaciones. De modo que ajusta el ejemplo a tu necesidad para probar el funcionamiento.

En frmWork está previsto que pongas en el campo txtCliente algunas letras del nombre, no necesitan ser las primeras.
Sin no pones nada en ese campo, el cursor tendrá todos los clientes.
Fijate en frmBrowser que está previsto (BindEvent mediante) que si se digita Enter sobre el grid, el cursor va [Aceptar] y con dobleClick seleccionas directamente.

Espero que 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