>Cheguei à conclusão que a melhor forma de actualizar as tabelas nos meus clientes , é por escrever código no main.prg em que teste a estrutura da tabela e se não for igual à estrutura que eu pretendo , então altero .
>Depois quando envio uma nova versão do meu programa ao cliente , a primeira vez que ele corre , actualiza a estrutura das tabelas.Não é. A melhor (é mais fácil) é o SDT da Stonefield.
>Minha questão :
>
>Eu desenho as tabelas no Table Designer , e lá defeni um indice candidato .
>
>No entanto , agora preciso alterar esse indice , de modo que inclua !Deleted() no Filter .
>
>O que tenho no table designer é :
>
>Name - NumDoc
>Type - Canditate
>Expression - NumDoc
>
>e agora preciso acrescentar :
>
>Filter - !Deleted()
>
>Como faço isto programaticamente ?Filters não são boas ideias. Vc não deve reusar as chaves primarias. Ocultar registros do índices não é ainda boa ideia. Indices com filtros não são otimizaveis pelo Rushmore.
Veja o "ALTER TABLE – SQL Command" no Help.
Vc pode fazer isso (alem que não é boa ideia <g>) com o "UNIQUE" da "ALTER TABLE ALTER COLUMN".
Nota: veja que o ALTER TABLE ... UNIQUE não tem a ver com o NIQUE no INDEX ON. São dois coisas muito diferentes.
HTH