Edson,
Que bom que pude te ajudar. Vc esta certo quanto as alterações, pois devo ter errado na hora de digitar no U.T., vc Pode ainda mudar outras propriedades do DataEnvironment, pois o database, atua sobre o .dbc, explore mais, pois só te mandei a idéia inicial. Vc também, pode ao invés de utilizar o ini do form, utilizar o load, mas lembre-se que se vc tiver que colocar algum código diretamente no form, execute um DODEFAULT, pois senão esta beleza de código não será acionado.
Abraços,
>Olá Paulo
>
>Somente três alteraçõeszinhas para não dar erro ao executar.
>
>Este é o código original que vc passou:
>IF SubStr(aDataEnv[i,1],1,6) = "CURSOR"
> oData = ThisForm.DataEnvironment.&aDataEnv[i,1]
> cPath = oTable.DataBase
> cNovoPath = cNovoPath + JUSTFNAME(cPath)
> oData.Database = cNovoPath
>endif
>
>Este é o novo código:
>IF SubStr(aDataEnv[i,1],1,6) = "CURSOR"
> oData = ThisForm.DataEnvironment.&aDataEnv[i,1]
> cPath = oData.DataBase && 1. Muda aqui. (substituir a variável oTable por oData)
> oData.Database = cNovoPath + JUSTFNAME(cPath) && 2. Muda aqui. (retire a linha onde estava: ' cNovoPath = cNovoPath + JUSTFNAME(cPath)'. E substitua alinha de baixo por esta)
>endif
>
>3. E Finalmente a última linha do código:
>Original:
>oData.OpenTables()
>
>Nova:
>ThisForm.DataEnvironment.OpenTables()
>
>Comentários
>1. A variável oTable não existe
>2. A cada iteração do 'for' a string na váriavel 'cNovoPath' era acrescida do conteúdo anterior gerando 'paths' errados.
>3. O Método OpenTables pertence ao objetos 'DataEnvironment' e não ao objeto 'Cursor'
>
>Agradeço novamente.
>
>Sua ideia resolveu meu problema.
>
>Fox abraços.
Paulo Cesar Carneiro
desenvolvimento@controplan.com.br"My God, what have we done?"
-- Capt. Robert Lewis, co-pilot of the Enola Gay, recalling the moment the atomic bomb exploded over Hiroshima
At 8:15 a.m. on August 6 1945