Fórum Mudar cliente e diretorio de dados... #324445

29/06/2006

0

Ola,

Tenho uma folha de pagamento em paradox e os cliente possuem diretorios diferentes neste estilo ( c:\sistemas\sfpa\arq001 para cliente cliente 001 e c:\sistemas\sfpa\arq002 para cliente 002...e assim por diante para os outros clientes),pois bem...meu problema e o seguinte quando abro uma sessão para o cliente 001 e seto as tabelas para este cliente com o seguinte codigo :

onde vCodigo := 001;

Session.DeleteAlias(´ARQ001´);
Session.SaveConfigFile;
Session.DeleteAlias(´ARQ´+StrZero(vCodigo,3));
Session.SaveConfigFile;

e ao abrir o cliente 002 :

onde vCodigo := 002;

Session.DeleteAlias(´ARQ001´);
Session.SaveConfigFile;
Session.DeleteAlias(´ARQ´+StrZero(vCodigo,3));
Session.SaveConfigFile;

os dados que aparecem nas tabelas é do cliente anterior...ou seja ele não muda nas sessões das tabelas abertas anteriormente para o cliente 001

alguem já passou por este aberto...

valeu,

fabio cavalcanti


Cavalcanti.fabio

Cavalcanti.fabio

Responder

Posts

29/06/2006

Cavalcanti.fabio

:(


Responder

Gostei + 0

29/06/2006

Cavalcanti.fabio

:(


Responder

Gostei + 0

04/07/2006

Cavalcanti.fabio

:wink:

Aí galera...alguem + poderia dar uma dica...acresentando que quando mudo o cliente (arq001) ele abrea os dados...so que quando tento abrir o dados do diretorio (arq001\0106) onde o 0106 corresponde ao backup do cliente 001 que agora estão no subdiretorio de arq001 chamado 0106 que corresponde ao mes de janeiro/ano 06

Grato a todos....vamos dar uma força!

fabio cavalcanti


Responder

Gostei + 0

04/07/2006

Host

O velho não lembro muito bem, mas o session ta ligado ao database, correto? Tu fecha o database , muda o Session e depois abre o database denovo?


Responder

Gostei + 0

04/07/2006

Cavalcanti.fabio

Olá colega...olha...na primeira session eu abro o arq001 com os dados do cliente atualmente...tipo assim :

MDPrincipal.tblFuncionarios.Close;
MDPrincipal.tblFuncionarios.DatabaseName := ´ARQ´+StrZero(StrToInt(Dbcodigoemp),3);
MDPrincipal.tblFuncionarios.open;

onde dbcodigoemp := 001

e quero mudar para o diretorio de backup do mes de 0106 (ou seja o diretorio passa a ser agora arq001 mas setado para o diretorio 0106 do cliente arq001...isso faço na sessio a seguir :

vCodigo := 001;
vperiodo := ´0106´;

Session.DeleteAlias(´ARQ001´);
Session.SaveConfigFile;
Session.DeleteAlias(´ARQ´+StrZero(vCodigo,3)+´/´+vperiodo);
Session.SaveConfigFile;

ou seja agora na seleção do cliente eu tambem informo o diretorio de backup ( 0106 ) e desejo que as minhas tabelas tragam o movimento do diretorio (0106)...espero ter sido claro...alguma duvida...favor me reportar...só mais uma coisa...quando fecho o sistema e abro com o cliente indicando o diretorio de backup...o sistema me retorna o que desejo...mas esta ficando chato para o cliente toda vez que precisar consulta ou alterar ele tem que fechar e entrar no sistema novamente...

valeu,

fabio cavalcanti


Responder

Gostei + 0

04/07/2006

Cavalcanti.fabio

:cry:


Responder

Gostei + 0

04/07/2006

Host

Olha so tu abre o database definindo o alias pelo database... depois tu modifica o a Session ... mas a session ta conectado ao database? Se não esta, tu deveria abrir e fechar o database para dar refresh .. o q tu ta querendo fazer é algo do tipo:

Alterando Idapi32.Cfg Via Programa
Check(DbiAddAlias(Nil, PChar(´ AliasName ´), Nil, PChar(´ AliasPath´), True));
Substitua AliasName pelo nome do alias que você quer criar e em AliasPath pelo path dos arquivos de dados que você quer no seu alias.

Inclua na cláusula ´USES´ as units BD e BDE.

Complemento enviado por um colaborador:

procedure TForm1.AlterarClick(Sender: TObject);
var
AParams: TStringList;
caminho:string;
begin
caminho:=´path=´ + edit1.text;

if not Session.IsAlias(´Teste´) then
begin
Check(dbiInit(nil));
Check(dbiAddAlias(Nil, PChar(´teste´), szParadox, PChar(caminho), True));
Check(DbiExit);
end;

AParams := TStringList.Create;
try
Session.GetAliasParams(´Teste´,AParams);
begin
AParams.Clear;
AParams.Add(caminho);
Session.ModifyAlias(´Teste´,AParams);
Session.SaveConfigFile;
end;
finally
AParams.Free;
end;
end;


Correto?


Responder

Gostei + 0

05/07/2006

Cavalcanti.fabio

Olá companheiro...da forma que vc me passou esta sendo criado o alias no BDE...eis a forma que estou abrindo a minha tabela apos criar o alias :

MDPrincipal.tblMovimentosTmp.Close;
MDPrincipal.tblMovimentosTmp.DatabaseName := ´SFPA´+StrZero(StrToInt(MDPrincipal.tblEmpresTmp.FieldByName(´CODIGO_EM´).AsString),3);
MDPrincipal.tblMovimentosTmp.TableName := ´Movime.db´;
MDPrincipal.tblMovimentosTmp.open;
MDPrincipal.tblMovimentosTmp.Refresh;

será a maneira correta de atribuir o novo alias criado ou estou fazendo alguma coisa errada...pois existe um alias que o caminho e arq029/0606 e o movimento que ele esta buscando ou melhor trazendo e do movimento atual...ou seja...ele esta esquecendo o caminho do alias na PATH que e ARQ029/0606 e me traz o movimento do ARQ029 atual...coisa de louco...e como se ele estivesse maluco ou não aceitando o alias criado para este cliente...os cliente que ainda estão com o movimento atual do mes 0606 ele pega so que o cliente ARQ029 tem um diretorio de backup chamado 0606 que esta toda a movimentação de Junho/06 (0606)...vc entendeu.

grato,

fabio cavalcanti

Obs : acho que não estou sabendo setar a minha tabela para este novo alias...


Responder

Gostei + 0

05/07/2006

Cavalcanti.fabio

:)


Responder

Gostei + 0

05/07/2006

Cavalcanti.fabio

:?


Responder

Gostei + 0

06/07/2006

Cavalcanti.fabio

olá...ainda preciso de ajuda galera...
:lol:

grato,

fabio cavalcanti


Responder

Gostei + 0

06/07/2006

Cavalcanti.fabio

caramba...ja estou ficando maluco...quando abro o cliente no periodo que desejo : 06/06 ele me traz movimento...so que quanto o periodo do cliente esta 07/06 e sem fechar o programa abro o periodo 06/06...ele continua me trazendo as informações atuais de 07/06...

vamos galera...

abraço,

fabio


Responder

Gostei + 0

07/07/2006

Host

Parece problema de refresh......


Responder

Gostei + 0

07/07/2006

Cavalcanti.fabio

olá host...como vc pode observar estou fazendo o refresh na tabela...como vc faria neste caso...

grato,

fabio cavalcanti


Responder

Gostei + 0

10/07/2006

Host

Olha qdo usava BDE as vezes a unica foma de dar refresh era fechando e abrindo o database? O Session ta ligado ao BDE?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar