FoxPro/Visual FoxPro - cursor variables

   
Vista:

cursor variables

Publicado por julia ramirez (118 intervenciones) el 19/02/2011 16:14:46
como puedo crear un cursor cuyas columnas sean variables, segun el usuario
ejemplo: el usuarios captura el num 4, el cursor debe de tener 4 columnas, el usuario captura el numero 7 el cursor debe de tener 7 columnas
gracias por sus respuestas.
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

RE:cursor variables

Publicado por ANDRES CORTEZ M (162 intervenciones) el 21/02/2011 00:56:28
hay varias formas

1) si el cursor esta definido y asignado un grid con n columnas lo puedes hacer con visible ejemplo

thisform.grid1.visible=.f.

if usuario=4
thisform.grid1.column1.visible=.f.
thisform.grid1.column2.visible=.f.
thisform.grid1.column3.visible=.f.
thisform.grid1.column4.visible=.f.
endif
if usuario=7
thisform.grid1.column1.visible=.f.
thisform.grid1.column2.visible=.f.
thisform.grid1.column3.visible=.f.
thisform.grid1.column4.visible=.f.
thisform.grid1.column5.visible=.f.
thisform.grid1.column6.visible=.f.
thisform.grid1.column7.visible=.f.
endif

2) otra forma

if usuario=4
select campo1,campo2..,campo4 from tabla where condicion into cursor c_sql
endif

if usuario=7
select campo1,campo2..,campo7 from tabla where condicion into cursor c_sql
endif

espero le sirva

Acm
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:cursor variables

Publicado por Saul  (676 intervenciones) el 21/02/2011 05:31:18
Yo tengo algo asi, espero y te sirva..

Inicio con una tabla que tiene dos columnas,

Luego segun los requerimientos voy agregando le columnas,

Supongamos que elijo 4 Campos

Yo tengo una tabla donde pongo los nombres de los campos
con un solo campo que se llama NomCorto

INSERTO ESTOS REGISTROS

CAmpo1
Campo2
Campo3
Campo4

Select * FROM MisCampos into cursor xCur1

**- Vuelve a hacer la Data
SELECT Deta_Datos
USE
Create Cursor Deta_Datos ( ;
Cliente C(07),;
NomClie C(50))
*********

SELECT xCur1
GOTO TOP
DO WHILE !EOF()

xCam = ALLTRIM(xCur1.nomcorto)
ALTER TABLE Deta_Datos ADD COLUMN &xCam n(10,2)

SKIP
ENDDO

Listo alli tienes ya tu cursor que tine varias columnas

Suerte..
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