FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Pocket PC Crear indices en una base temporal
Posts: 58
Joined: Fri Apr 20, 2007 01:38 PM
Crear indices en una base temporal
Posted: Tue Oct 02, 2007 07:34 PM
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:

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.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Crear indices en una base temporal
Posted: Tue Oct 02, 2007 08:43 PM
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:
...
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
Posts: 58
Joined: Fri Apr 20, 2007 01:38 PM
Crear indices en una base temporal
Posted: Wed Oct 03, 2007 01:53 PM

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!!

Posts: 94
Joined: Fri Aug 10, 2007 01:47 AM
Re: Crear indices en una base temporal
Posted: Wed Oct 03, 2007 07:08 PM
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:

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

Continue the discussion