Indices en cursores
Hola, tengo un problema y quisiera saber si alguien puede ayudarme...
Necesito definirun indice en un cursor, lo que creia lograr utilizando el comando INDEX ON luego de haber utilizado CREATE CURSOR para crearel cursor. El problema es que más adelante (en otro método por ejemplo) cuando quiero utilizar dicho indice, fox7 me salta con el error 26, refiriendo a que la tabla seleccionada (en ese momento el cursor) no tiene Ãndices.
Al que me pueda ayudar, mil gracias.
Necesito definirun indice en un cursor, lo que creia lograr utilizando el comando INDEX ON luego de haber utilizado CREATE CURSOR para crearel cursor. El problema es que más adelante (en otro método por ejemplo) cuando quiero utilizar dicho indice, fox7 me salta con el error 26, refiriendo a que la tabla seleccionada (en ese momento el cursor) no tiene Ãndices.
Al que me pueda ayudar, mil gracias.
Hola, lo que puedes hacer es verificar si el indice que necesitas está definido en la tabla o cursor de esta manera:
Select <Tabla>
lcExpIndex = "CODIGO"
lcNomIndex = "CODIGO"
llExiste = .F.
For lnIndex = 1 To 254
lcTag = Tag(lnIndex)
If !Empty(lcTag) Then
If Upper(Alltrim(Key(lnIndex))) == lcExpIndex
llExiste = .T.
lcNomIndex = lcTag
Exit
EndIf
EndIf
Next
If !llExiste Then
lcNomCdx = Sys(2015)
Index On &lcExpIndex Tag &lcNomIndex Of lcNomCdx
EndIf
If Seek(120,"<Tabla>",(lcNomIndex))
Messagebox("Encontró")
Else
Messagebox("No encontró")
EndIf
Espero te sirva, es lo que yo utilizo para realizar búsquedas con Ãndices creados desde programación
Saludos.
David S.
Select <Tabla>
lcExpIndex = "CODIGO"
lcNomIndex = "CODIGO"
llExiste = .F.
For lnIndex = 1 To 254
lcTag = Tag(lnIndex)
If !Empty(lcTag) Then
If Upper(Alltrim(Key(lnIndex))) == lcExpIndex
llExiste = .T.
lcNomIndex = lcTag
Exit
EndIf
EndIf
Next
If !llExiste Then
lcNomCdx = Sys(2015)
Index On &lcExpIndex Tag &lcNomIndex Of lcNomCdx
EndIf
If Seek(120,"<Tabla>",(lcNomIndex))
Messagebox("Encontró")
Else
Messagebox("No encontró")
EndIf
Espero te sirva, es lo que yo utilizo para realizar búsquedas con Ãndices creados desde programación
Saludos.
David S.
