una de índices
una de índices
Hola:
Tengo una base de datos previamente indexada y abierta:
select 1
use usuarios index usuarios shared
me gustaria cambiar el índice para hacer un listado y luego restaurar al índice anterior. Me falla la restauración al índice anterior, que no me sale.
He probado con set index &tempindex additive y luego set order to 1 pero me sigue cogiendo el indice nuevo.
Por favor, os agradecería que me digáis cómo se hace. Un millón de gracias.
Un saludo
Tengo una base de datos previamente indexada y abierta:
select 1
use usuarios index usuarios shared
me gustaria cambiar el índice para hacer un listado y luego restaurar al índice anterior. Me falla la restauración al índice anterior, que no me sale.
He probado con set index &tempindex additive y luego set order to 1 pero me sigue cogiendo el indice nuevo.
Por favor, os agradecería que me digáis cómo se hace. Un millón de gracias.
Un saludo
- Manuel Aranda
- Posts: 561
- Joined: Wed Oct 19, 2005 8:20 pm
- Location: España
Re: una de índices
Hola Moisés:
Local nOrdenFactura:=FACTURA->(IndexOrd()) //Guarda el índice actual
FACTURA->(DbSetOrder(2)) // Cambia al índice número 2
.........
.........
FACTURA->(DbSetOrder(nOrdenFactura))//Restaura el índice inicial
Saludos,
Manuel
Local nOrdenFactura:=FACTURA->(IndexOrd()) //Guarda el índice actual
FACTURA->(DbSetOrder(2)) // Cambia al índice número 2
.........
.........
FACTURA->(DbSetOrder(nOrdenFactura))//Restaura el índice inicial
Saludos,
Manuel
MOISES wrote:Hola:
Tengo una base de datos previamente indexada y abierta:
select 1
use usuarios index usuarios shared
me gustaria cambiar el índice para hacer un listado y luego restaurar al índice anterior. Me falla la restauración al índice anterior, que no me sale.
He probado con set index &tempindex additive y luego set order to 1 pero me sigue cogiendo el indice nuevo.
Por favor, os agradecería que me digáis cómo se hace. Un millón de gracias.
Un saludo
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Puedes usar tambien OrdSetfocus
cFocu := Alias->( OrdSetFocus() ) // guarda indice
alias->( OrdSetFocus( "tag2" ) )
blblblblb
alias->( OrdSetFocus( cFocu ) ) //restauramos el indice....
espero que te sirva
cFocu := Alias->( OrdSetFocus() ) // guarda indice
alias->( OrdSetFocus( "tag2" ) )
blblblblb
alias->( OrdSetFocus( cFocu ) ) //restauramos el indice....
espero que te sirva
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Quizas...
No me ha pasado, pero creo haber visto en la ayuda de clipper, algo acerca de un Additive o algo asi..
porque no lo checas...
http://www.ousob.com/ng/53guide/
Saludos
porque no lo checas...
http://www.ousob.com/ng/53guide/
Saludos
Luis Fernando Rubio Rubio
Debes hacer lo siguiente:
1.- primero abre la DBF en modo exclusivo
2.- creas el NTX temporal correspondiente
3.- abres la DBF en modo compartido con los 2 NTX
4.- utilizas la orden: set order to 1 o 2 en función de tus necesidades
es decir...
use usuarios exclusive
index on campo to otroNTX
use
use usuarios index usuarios,otrontx SHARED
set order to 2
.....
....
set order to 1
...
y listo el pollo!!
1.- primero abre la DBF en modo exclusivo
2.- creas el NTX temporal correspondiente
3.- abres la DBF en modo compartido con los 2 NTX
4.- utilizas la orden: set order to 1 o 2 en función de tus necesidades
es decir...
use usuarios exclusive
index on campo to otroNTX
use
use usuarios index usuarios,otrontx SHARED
set order to 2
.....
....
set order to 1
...
y listo el pollo!!
- wilsongamboa
- Posts: 439
- Joined: Wed Oct 19, 2005 6:41 pm
- Location: Quito - Ecuador
Moises yo lo haria asi
Use tabla Shared
index on Campodetutabla to (cNtx) //indice temporal
tabla->( dbclosearea() )
Use tabla index Indice1, Indice2 Shared
Set Index To 1 // o set index to 2
OJO durante la base este abierta con el indice temporal NO PUEDES AUMENTAR no modificar registros porque no se actualizarian los indices, y si eso es lo que necesitas deberias hacer asi
Use tabla Shared
index on Campodetutabla to cNtx //indice temporal
tabla->( dbclosearea() )
Use tabla index Indice1, Indice2, cNtx Shared
Set Index To 1 // o set index to 2 (// o set index to 3
aqui si ya podrias aumentar o editar registros, al final cierras la tabla y eliminas el indice temporal
dbclosearea()
ferase( cNtx )
espero te sirva
Saludos
Use tabla Shared
index on Campodetutabla to (cNtx) //indice temporal
tabla->( dbclosearea() )
Use tabla index Indice1, Indice2 Shared
Set Index To 1 // o set index to 2
OJO durante la base este abierta con el indice temporal NO PUEDES AUMENTAR no modificar registros porque no se actualizarian los indices, y si eso es lo que necesitas deberias hacer asi
Use tabla Shared
index on Campodetutabla to cNtx //indice temporal
tabla->( dbclosearea() )
Use tabla index Indice1, Indice2, cNtx Shared
Set Index To 1 // o set index to 2 (// o set index to 3
aqui si ya podrias aumentar o editar registros, al final cierras la tabla y eliminas el indice temporal
dbclosearea()
ferase( cNtx )
espero te sirva
Saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
Wilson.josenet@gmail.com