>O meu banco de dados , foi feito em C:\FACTURAC , neste directório tudo funciona bem , se fizer um Validate Database ele diz que o Container is valid .
>
>No entanto , quando copia o inteiro directório C:\FACTURAC , para por exemplo C:\COPIAFAC , se fizer lá Validate Database , o VFP diz que não conseguiu encrontar certas tabelas , e quando dou certos comandos , o VFP , pede para dizer onde está a tabela .
>
>Parece-me que a Database , contém informação de C:\FACTURAC , e não gosta de mudar de sítio .
>
>Como posso fazer com a Database funcione bem em qualquer directório ?
Provavelmente algumas das tabelas da base de dados não se encontram no directório C:\FACTURAC (as tabelas não precisam de estar na mesma pasta em que o DBC se encontra). Este código (feito à pressa mas parecendo funcionar) identifica tabelas nessas condições, para a base de dados corrente:
DIMENSION m.laTables(1)
IF ADBOBJECTS(m.laTables,"TABLE")>0
FOR EACH m.lcTable IN m.laTables
m.lcPath = DBGETPROP(m.lcTable,"Table","Path")
IF !EMPTY(JUSTPATH(m.lcPath)) AND JUSTPATH(FULLPATH(m.lcPath))!=JUSTPATH(FULLPATH(DBC()))
MESSAGEBOX("Tabela "+m.lcTable+" está na pasta"+CHR(13)+JUSTPATH(FULLPATH(m.lcPath)))
ENDIF
ENDFOR
ENDIF
----------------------------------
António Tavares Lopes