generar cursor a partir de tabla

1,910 views
Skip to first unread message

marcelo lopez

unread,
Sep 12, 2013, 9:01:49 AM9/12/13
to publicesvfoxpro
hola :

genero un cursor con la estructura  de una tabla existente de esta manera :

select tabla
=afields ( ladirecta )
create cursor curtabla from ladirecta

la pregunta es : si hay alguna manera de exceptuar del array uno o mas campos . en concreto lo que necesito es generar el cursor con = estructura qeu la tabla , pero excluyendo un campo

gracias

Ariel D'Alfeo

unread,
Sep 12, 2013, 9:06:14 AM9/12/13
to publice...@googlegroups.com
con sql

select campo1,campo2,campo3 from tabla into cursor curtabla readwrite
-- 
Ariel D'Alfeo
Córdoba, Argentina

Luis Maria Guayan

unread,
Sep 12, 2013, 9:25:44 AM9/12/13
to publice...@googlegroups.com
Puedes hacer un SELECT sin datos a un cursor

SELECT * FROM MiTabla WHERE .F. INTO CURSOR MiCursor READWRITE

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

El 12/09/2013 10:01, marcelo lopez escribió:
Message has been deleted

Fernando D. Bozzo

unread,
Sep 12, 2013, 9:37:07 AM9/12/13
to publice...@googlegroups.com
Hola:

Hay una forma rápida:

SELECT tuCursor
COPY TO tuTabla FIELDS los-campos-que-quieras


Saludos.-

Arnaldo Toledano

unread,
Sep 12, 2013, 11:05:15 AM9/12/13
to publice...@googlegroups.com
Select Tabla
Nro=Afields(ladirecta)
For X=1 To Nro
   ? ladirecta[X]
endfor

Vas a ver la matriz que se formo.
En una matriz podes borrar una fila con
ADEL
Por ejemplo
Adel(ladirecta,3)
te borra en este caso la fila 3
A partir de allí, podes crear la tabla MENOS la fila que borraste.
Si queres agregar un campo
AIns(.....

En la ayuda de FVP, tenes las explicaciones del caso

Arnaldo Toledano
--
Arnaldo Toledano Tesys Informática Córdoba Argentina

Fidel Charny

unread,
Sep 12, 2013, 11:27:37 AM9/12/13
to publice...@googlegroups.com, arnaldo....@gmail.com
nFilas=Alen(laDirecta,1)
nCols=Alen(laDirecta,2)
Adel(laDirecta,3)
Dimension laDirecta(nfilas-1,nCol)

Hay que tener en cuenta que Adel no redimensiona la matriz. Todos los elementos posteriores a la fila borrada se desplazan y la última fila queda con valores .F. 
Por lo que se necesita redimensionar la matriz.

De ahí que, para el caso planteado y en lo posible, resulta más fácil 
Select campo1,campo2 from (cTabla) where .F. into cursor pepa ReadWrite, como ya han expuesto arriba Ariel y Luis María.

Jose Mario

unread,
Sep 12, 2013, 11:42:53 AM9/12/13
to publice...@googlegroups.com
lo podes borrar el campo una vez creado
ALTER TABLE table_name
DROP COLUMN column_name

Jose Mario

unread,
Sep 12, 2013, 11:44:51 AM9/12/13
to publice...@googlegroups.com
y si queres agregar
ALTER TABLE table_name
ADD column_name datatype

depende del sabor y color

Ariel D'Alfeo

unread,
Sep 12, 2013, 11:50:15 AM9/12/13
to publice...@googlegroups.com
funciona el Alter table en un cursor??, recuerdo haberlo intentado y googleado pero sin resultados positivos.



-- 
Ariel D'Alfeo
Córdoba, Argentina

Jairo Miranda

unread,
Sep 12, 2013, 12:03:50 PM9/12/13
to publice...@googlegroups.com

La recomendación es que solo se puede ejecutar ese proceso en modo ejecución Usando La Tabla en Modo EXCLUSIVO..

 

El comando dice   ALTER TABLE , table es una tabla físicamente creada, un cursor es un área de trabajo en el BUFFER.  

Por lo general yo creo una sub consulta del cursor creado , es decir  utilizo el AS

 

JM

Fernando D. Bozzo

unread,
Sep 12, 2013, 12:14:56 PM9/12/13
to publice...@googlegroups.com
Lo siento, entendí que querías copiar los datos de ese cursor a una tabla exceptuando un campo, pero lo que realmente querés es crear el cursor con un campo menos.

En ese caso te convendría crear el arranque de estructuras con AFIELDS(), eliminar la columna del arroyo con ADEL() y crear el cursor "from array" usando la nueva estructura.

Saludos.

Fernando D. Bozzo

unread,
Sep 12, 2013, 12:21:01 PM9/12/13
to publice...@googlegroups.com
Donde puse arranque era array, pero el móvil no lo entiende :-(

marcelo .

unread,
Sep 12, 2013, 2:06:32 PM9/12/13
to publicesvfoxpro
gracias , son unnos genios ,. encima que me estana ayudando un monton ,  piden disculpas . gracias

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Sep 12, 2013, 3:06:16 PM9/12/13
to publice...@googlegroups.com
Hola solo has select * from tutabla where 1=0 into cursor TmpCursor
no hay mas vuelta quedarle, la rueda ya esta solo hay que saberlo usar.

Pd.: Descargate mi grilla que tiene multiples funciones como filtrar, multiseleccion, búsqueda, etc del siguiente link http://www.developervfp.blogspot.com/p/gridlibre-v35.html. Ahora también puedes bajarte mi ultima herramienta Busqueda Incremental con un TEXTBOX http://developervfp.blogspot.mx/p/busqueda-incremental-con-un-textbox.html  las herramientas viene con código fuente, ojo no hacer mal uso por favor. 


Saludos; 


Ing. Russvell Jesus Soto Gamarra 
San Juan del Rio - Queretaro - Mexico 
Nextel.: 52*133750*16
rycjesusrj @ hotmail.com
Framework Multi-conexion version 6.0 (nueva)

Daniel Burgos

unread,
Sep 12, 2013, 9:14:17 PM9/12/13
to publice...@googlegroups.com
Hola
 
COPY STRUCTURE TO TuTabla
 
esa funcion viene desde foxbase+  ... ayer nomas jajaja
 
Saludos
Daniel Burgos
Mar del Plata
Argentina

Víctor Hugo Espínola Domínguez

unread,
Sep 12, 2013, 9:46:40 PM9/12/13
to publicesvfoxpro
Hola Ing. Russvell

>select * from tutabla where 1=0 into cursor TmpCursor

Con eso se genera un cursor con la misma estructura de la tabla, lo que él quiere es descartar uno de los campos.

Hola Daniel

>COPY STRUCTURE TO TuTabla
 
>esa funcion viene desde foxbase+  ... ayer nomas jajaja

Con eso se genera una tabla con la misma estructura de la tabla original, lo que él quiere es crear un CURSOR descartando uno de los campos, y nunca fue "funcion", es un comando. :-(

Saludos,
Víctor.
Lambaré - Paraguay.


Fernando D. Bozzo

unread,
Sep 13, 2013, 3:42:14 AM9/13/13
to publice...@googlegroups.com
Releyendo todas las respuestas, incluso la mía, veo que la mezcla de esta de Ariel y la de Malka son la mejor opción:

select campo1,campo2,campo3 from tabla where .F. into cursor curtabla readwrite


Saludos.-

Fidel Charny

unread,
Sep 13, 2013, 8:31:30 AM9/13/13
to publice...@googlegroups.com
<Viernes13>Y yo qué dije?</Viernes 13>
Reply all
Reply to author
Forward
0 new messages