Crear indices en una base temporal

Crear indices en una base temporal

Postby nolgiati » Tue Oct 02, 2007 7: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:

Code: Select all  Expand view
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
nolgiati
 
Posts: 58
Joined: Fri Apr 20, 2007 1:38 pm

Postby Antonio Linares » Tue Oct 02, 2007 8: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:
Code: Select all  Expand view
...
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
Antonio Linares
Site Admin
 
Posts: 41324
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby nolgiati » Wed Oct 03, 2007 1: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!!
User avatar
nolgiati
 
Posts: 58
Joined: Fri Apr 20, 2007 1:38 pm

Re: Crear indices en una base temporal

Postby Arturo Lopesoria » Wed Oct 03, 2007 7: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:

Code: Select all  Expand view
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
User avatar
Arturo Lopesoria
 
Posts: 94
Joined: Fri Aug 10, 2007 1:47 am
Location: Mexico DF


Return to FiveWin para Pocket PC

Who is online

Users browsing this forum: No registered users and 3 guests

cron