Oi Geraldo / Fabio,
Estive pensando sobre isso... É um problema sério pois as vezes a reindexação é feita no ínicio do dia e logo em seguida o problema ocorre... Aí, o cliente pode trabalhar o resto do dia com problemas.
O VFP possui o comando SET OPTIMIZE que ativa / desativa o RUSHMORE.
Dessa maneira podemos fazer o seguinte para identificar se existe um índice com defeito:
Set Optimize On
Select Sum(1) As QtdReg From Tabela Into Cursor OptimizeOn
Set Optimize Off
Select Sum(1) As QtdReg From Tabela Into Cursor OptimizeOff
If OptimizeOn.QtdReg # OptimizeOff.QtdReg
MessageBox("Problemas no CDX")
EndIf
Agora é só estudar a idéia... Isso deve dar certo... O que eu não sei é se você não especificar a condição (WHERE) se o problema acontece... Talvez não pois neste caso o RUSHMORE (e consequentemente o CDX) não estariam entrando em ação...
Alguma idéia por aí???
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte