Crear indices en una base temporal

Post Reply
User avatar
nolgiati
Posts: 58
Joined: Fri Apr 20, 2007 1:38 pm

Crear indices en una base temporal

Post by nolgiati »

Hola a todos!!
Estoy teniendo problemas para crear indices en la Pocket en una base temporal. El código que estoy usando es el siguiente:

Code: Select all

Local Indice1
USE (Curdir()+"\STOTEMP.DBF") NEW
ZAP
DBCLOSEALL()

USE (Curdir()+"\STOTEMP.DBF") NEW SHARED ALIAS TEMPORAL
DATABASE oDbfTem
oDbfTem:bEoF:=nil
oDbfTem:GoTop()

SELECT TEMPORAL
INDEX ON TEMPORAL->DESCRIP TO &Indice1
oDbfTem:Close()

USE (Curdir()+"\STOTEMP.DBF") INDEX (&Indice1) NEW SHARED ALIAS TEMPORAL
DATABASE oDbfTem
oDbfTem:bEoF:=nil
oDbfTem:GoTop()
El tema es que me tira error en &Indice1, y si la declaro como privada no me la reconoce.

En que me estoy equivocando??

Gracias a todos!!!

Natalia.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Natalia,

No se puede hacer una macro (&) de una variable local. El lenguaje Clipper no lo permite.

Y por otra parte, no necesitas macros para construir los índices:

Code: Select all

...
INDEX ON TEMPORAL->DESCRIP TO ( CurDir() + "\Indice1" ) 
...
USE (Curdir()+"\STOTEMP.DBF") INDEX ( CurDir() + "\Indice1" ) NEW SHARED ALIAS TEMPORAL 
...
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
nolgiati
Posts: 58
Joined: Fri Apr 20, 2007 1:38 pm

Post by nolgiati »

Muchas gracias Antonio!!

Si, se que no se puede usar macros con una variable local pero el tema es que si declaro una variable privada dentro de mi programa para la pocket me dice que no la encuentra por eso probe esa "burrada", ja!

Saludos!!
User avatar
Arturo Lopesoria
Posts: 84
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF
Contact:

Re: Crear indices en una base temporal

Post by Arturo Lopesoria »

Natalia:

Ademas del comentario de Antonio respecto al tipo de variable, segun el codigo que pones como ejemplo tendrias problemas adicionales por intentar indexar un archivo abierto de manera compartida.


nolgiati wrote:Hola a todos!!
Estoy teniendo problemas para crear indices en la Pocket en una base temporal. El código que estoy usando es el siguiente:

Code: Select all

Local Indice1
USE (Curdir()+"\STOTEMP.DBF") NEW
ZAP
DBCLOSEALL()

USE (Curdir()+"\STOTEMP.DBF") NEW SHARED ALIAS TEMPORAL
DATABASE oDbfTem
oDbfTem:bEoF:=nil
oDbfTem:GoTop()

SELECT TEMPORAL
INDEX ON TEMPORAL->DESCRIP TO &Indice1
oDbfTem:Close()

USE (Curdir()+"\STOTEMP.DBF") INDEX (&Indice1) NEW SHARED ALIAS TEMPORAL
DATABASE oDbfTem
oDbfTem:bEoF:=nil
oDbfTem:GoTop()
El tema es que me tira error en &Indice1, y si la declaro como privada no me la reconoce.

En que me estoy equivocando??

Gracias a todos!!!

Natalia.
Arturo LS
Post Reply