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.
Edson Oliveira dos Santos