Estoy enredado en este tema y no sé como solucionarlo:
La cuestión es que tengo abiertas varias bases de datos:
- Code: Select all Expand view RUN
- dbUseArea(.T.,,Publicas:cUnidad+Publicas:cSubd+"\Factura",aAlias[22],.T.)
(aAlias[22])->(OrdSetFocus("Codigo"))
(aAlias[22])->( dbGotop() )
dbUseArea(.T.,,Publicas:cUnidad+Publicas:cSubd+"\Inciden",aAlias[33],.T.)
(aAlias[33])->(OrdSetFocus("Orden"))
(aAlias[33])->( dbGotop() )
dbUseArea(.T.,,Publicas:cUnidad+Publicas:cSubd+"\ALBARAN",aAlias[24],.T.)
(aAlias[24])->(OrdSetFocus("Albaran"))
(aAlias[24])->( dbGotop() )
Después llamo a una función para un informe:
- Code: Select all Expand view RUN
- DEFINE BUTTON RESOURCE "CAJAR" OF oBar NOBORDER MESSAGE "Listado de Contados Pendientes de Cobro" ACTION (nRegAct := (aAlias[24])->(RecNo()),Contadopendiente(aAlias),,(aAlias[24])->( dbgoto( nRegAct ) ),oLbx:Refresh());
WHEN Publicas:cAccesoL;
TOOLTIP "Listado de Contados Pendiestes de Cobro"
Y ya en la función, genero un índice temporal en memoria:
- Code: Select all Expand view RUN
- static function contadopendiente(aAlias)
********************************
local oFont1, oFont2
local oPrinter,oPrn
local ctitle:= "LISTADO DE ALBARANES DE CONTADO PENDIENTES DE COBRO"
local nindex:=(aAlias[24])->(Ordsetfocus())
index on (aAlias[24])->Fecha TO "Tfecha1" FOR (aAlias[24])->tipo=2 .and. (aAlias[24])->liqui=.F. ADDITIVE MEMORY
y ahora viene el problema, cuando salgo de ésta función, elijo el orden que traía de la función principal.
- Code: Select all Expand view RUN
- (aAlias[24])->(Ordsetfocus(nindex))
(aAlias[24])->(Dbgotop())
RETURN NIL
Pero ésto no funciona, sigue estando el índice que he creado en memoria, como puedo destruir éste índice y volver al que tenía anteriormente.
He probado con Orddestroy('Tfecha1'), pero nada sigue éste índice, y quiero que vuelva al anterior.
Un Saludo y gracias de antemano