[firebase-br] Duvida IBO

NextCorp Informatica nextcorp em terra.com.br
Ter Ago 30 10:06:19 -03 2005


Dimas

Tb iniciei com IBO a pouco, mas em funcao da necessidade, fui atras de informacoes no site do jaison, mas muita coisa resolvi no
proprio help e na lista, apesar de ter algumas duvidas com o lookupcombo quando setado em runtime.

No seu caso oque esta faltando e abrir no form de cadastro a qryGrupos, pois ai em baixo vc nao colocou, somente citou, que abria
tudo no show. Passo a rotina toda.

Neste exemplo e um cadastros de escola onde possue um campo lookup para grupos.

procedure TfmCadastroEscola.FormShow(Sender: TObject);
begin
     StatusBotao(1,0,0,0,0,0,0);
     dmDados.IB_qryGrupos.KeySource.Free;
     dmDados.IB_qryGrupos.KeyLinks.Clear;
     dmDados.IB_qryGrupos.KeyLinks.Add('GRUPOS.GRU_CODIGO=ESCOLA.ESC_GRUPO');
     dmDados.IB_qryGrupos.KeySource:= dmDados.IB_dsEscolas;
     dmDados.IB_qryGrupos.Prepare;
     dmDados.IB_qryGrupos.Open;
     edPesquisa.SetFocus;
end;

procedure TfmCadastroEscola.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
     dmDados.IB_qryEscolas.Close;
     dmDados.IB_qryEscolas.Unprepare;
     dmDados.IB_qryGrupos.Close;
     dmDados.IB_qryGrupos.Unprepare;
     dmDados.IB_qryDieese.Close;
     dmDados.IB_qryDieese.UnPrepare;
end;

Quanto a influencia do

     dmDados.IB_qryGrupos.KeySource.Free;
     dmDados.IB_qryGrupos.KeyLinks.Clear;

e este o maior problema que ainda nao achei uma solucao.

Utilizou por que tenho outro cadastro de agencias por exemplo, onde tb tenho um campo lookup para a mesma qryGrupos.
Entao se eu não seto com estas linhas a cima a mesma não mostrava corretamente os campos do grupo se entrava em um ou outro
cadastro (escolas ou agencias), entao utilizei estes comandos, mas ainda nao está funcionando adequadamente.

Por que utilizar em runtime então !!!!

Por que como utilizo a mesma qryGrupos em dois cadastros distintos que fazem um lookup para grupos, não poderia colocar la na
query no 2 keylinks diferentes, pois somos obrigados a setar o datasource (ds) da tabela que esta ocorrendo o cadastro.

Por enquanto estou utilizando assim, pois não obtive resposta sobre as minhas perguntas com o Carlos, pois ele deve estar
atarefado, mas mesmo assim continuo testando e procurando informacoes sobre isto.

Como não tenho ainda muito conhecimento no IBO, até não sei se poderia setar os dois keylinks diretamente na query e setar somente
o datasource em runtime.

Atenciosamente

Washington A. Müller da Silva

#####################
NextCorp Informática Ltda
www.nextcorp.com.br
nextcorp em terra.com.br
0 xx (51)-589-3690
####################
----- Original Message ----- 
From: "Dimas - Pessoal" <dimas em dbsoftinformatica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, August 29, 2005 6:05 PM
Subject: Re: [firebase-br] Duvida IBO


> Washington,
> estou iniciando no IBO...
> veja se vc pode me ajudar.. seguindo sua dica abaixo.
> estou fazendo um cadastro de produtos e estou definindo o grupo de estoque
> usando um Lookupcombo
>
>         abro a tabela de produtos  e grupos no evento Onshow...e fecho no
> Onclose.
>         DM.IBProdutos.Prepare;
>         DM.IBProdutos.Open;
>
>         // que infruencia isto pode causar na quary de produtos?
>         DM.IBGrupos.KeySource.Free;
>         DM.IBGrupos.KeyLinks.Clear;
>
> DM.IBGrupos.KeyLinks.Add('GESTOQUE.GRU_CODIGO=PRODUTOS.PRO_CODGRUPO');
>         DM.IBGrupos.KeySource := DM.IBDSProdutos;
>         DM.IBGrupos.Prepare;
>         DM.IBGrupos.Open;
>
> na primeira vez tudo funciona certinho, mas quando fecho o form e volto a
> tabela de produtos esta fechada.
> Pq se estou abrindo ela no Onshow.
>
>         // no OnClose
>         DM.IBProdutos.UnPrepare;
>         DM.IBProdutos.Close;
>         DM.IBGrupos.UnPrepare;
>         DM.IBGrupos.Close;
>
> Obrigado.
>
>
> DBSOFT INFORMÁTICA - OURO FINO
> Dimas Bolognani - Diretor
> Tel.(35)3441-5254
> ----- Original Message -----
> From: "NextCorp Informatica" <nextcorp em terra.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, August 29, 2005 2:55 PM
> Subject: Re: [firebase-br] Duvida IBO
>
>
> Caro Magno
>
> Tenho o mesmo problema com relacao a lookupcombo quando a mesma tabela tem
> que ser usada em forms de cadastros diferentes. Tenho
> que atribuir tudo em runtime, dai tinha problemas. Resolvi em parte
> colocando tudo em uma certa ordem, antes de atribuir o
> datasource de ligacao com a tal tabela.
>
> Veja se este nao e o seu caso, tenta mudar a ordem das linha de execucao,
> pois o seu comando esta certissimo, entao pode ser um
> problema na hora de colocar a ordem nas coisas. Veja um exemplo:
>
> dmDados.IB_qryBancos.KeySource.Free;
> dmDados.IB_qryBancos.KeyLinks.Clear;
> dmDados.IB_qryBancos.KeyLinks.Add('BANCOS.BAN_NUMERO=AGENCIA.AGE_CODBAN');
> dmDados.IB_qryBancos.FieldsVisible.Add('BANCOS.BAN_VALOR_MJ = FALSE');
> dmDados.IB_qryBancos.KeySource:= dmDados.IB_dsAgencias;
> dmDados.IB_qryBancos.Prepare;
> dmDados.IB_qryBancos.Open;
>
> Quando montei isto da primeira vez nao funcionava por que eu colocava o
> keysource antes de tudo, depois que mudei esta ordem
> funcionou normalmente, apesar de ainda nao ter encontrado a forma certa de
> trabalhar com lookupcombo, pois ainda acontece umas
> coisas estranhas.
>
>
> Atenciosamente
>
> Washington A. Müller da Silva
>
> #####################
> NextCorp Informática Ltda
> www.nextcorp.com.br
> nextcorp em terra.com.br
> 0 xx (51)-589-3690
> ####################
> ----- Original Message -----
> From: "Magno" <magnoscosta em bol.com.br>
> To: "Grupo Delphi 5" <delphi5 em grupos.com.br>; "FireBase"
> <lista em firebase.com.br>; <delphi em grupos.com.br>
> Sent: Monday, August 29, 2005 10:58 AM
> Subject: [firebase-br] Duvida IBO
>
>
> Amigo.. seguinte...
>
> Como eu faço em runtime pra atribuir a um campo do IB_Query q ele nao seja
> required..
>
> Tentei
> IB_Query.FieldByName('Campo').Required := False
>
> Mas nao deu certo..
>
> Alguem pode me dar uma dica..
>
> detalhe.. nao da pra ser direto pelo componente pois as atribuições sao
> feitas em runtime.. tipo conexão transação etc...
>
> At.
> Magno
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.344 / Virus Database: 267.10.16/83 - Release Date: 26/08/2005
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> __________ Informação do NOD32 1.1203 (20050827) __________
>
> Esta mensagem foi verificada pelo NOD32 Sistema Antivírus
> http://www.nod32.com.br
>
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.10.15/81 - Release Date: 24/08/2005
>
>
>
> __________ Informação do NOD32 1.1203 (20050827) __________
>
> Esta mensagem foi verificada pelo NOD32 Sistema Antivírus
> http://www.nod32.com.br
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.344 / Virus Database: 267.10.16/83 - Release Date: 26/08/2005
>
>





Mais detalhes sobre a lista de discussão lista