Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
DataEnvironment deve abrir tabelas do diretório certo.
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00649798
Message ID:
00650466
Vues:
16
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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform