Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
DataEnvironment deve abrir tabelas do diretório certo.
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00649798
Message ID:
00649927
Views:
14
This message has been marked as the solution to the initial question of the thread.
Segue o Código para ser colocado no Evento Init do form. Defina a propriedade AutoOpenTable do DataEnvironment como .F.

cNovoPath = [c:\loja01\] && variavel publica com o PATH desejado.
&& certifique-se que é um path válido, incluindo o
&& drive.
LOCAL nFim,i,oData,cPath

= amembers(aDataEnv,This.DataEnvironment,1)
nFim = ALEN(aDataEnv,1)
FOR i=1 TO nFim

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

ENDFOR
oData.OpenTables()


O código está simples, deve ser melhorado. Mas está funcionando testei agora.
Abraços,



>Problema:
>Estou abrindo minhas tabelas no dataEnvironment do form
>AutOpenTables = .T.
>Form.DataSession = Private
>
>O programa pode trabalhar(deveria), com os dados em diversos dietórios diferentes.
>Ao iniciar o Programa o usuário seleciona em qual diretório ele quer trabalhar.
>Então adiciono este diretório ao meu path com um "set path".
>Ao criar os forms, evidentemente trabalhei com as tabelas de um diretório padrão.
>
>Acontece que o fox só abre as tabelas daquele diretório que foi usado ao criar os forms (o diretório pdarão).
>Mesmo que o usuário selecione outro diretório eu eu o coloque no path.
>
>Quando o diretório padrão não existe, as tabelas são abertas do lugar certo.
>Quando abro com o comando 'use', também funciona corretamente.
>
>Obs.: O diretório padrão Não está no meu 'path'
>
>
>Pergunta:
>Existe forma de fazer com que o Dataenvironment abra as tabelas no local certo sem precisar que eu remova o diretório padrão?
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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform