Fórum Onde Criar o Campo LookUp? #291612

12/08/2005

0

Olá pessoal, tudo bem? Espero que sim.

Bom, essa dúvida surgiu devido a um problema que me aconteceu. Então eu pergunto, onde é o melhor lugar pra eu criar os campos LookUps? No TSQLDataSet ou no TClientDataSet dos componentes dbExpress?

O problema que deu foi o seguinte: Sempre criei eles no TClientDataSet. Eu tenho um formulário onde eu fecho o TClientDataSet pq só quero que seja listado os registros de acordo com instruições pré-determinadas que são passadas pelos LookUps. Ou seja, quando form é ativado, eu fecho o TClientDataSet, e quando o usuário selecionar um Grupo e SubGrupo nos LookUps, ele abre o TClientDataSet e lista os registros de acordo com o selecionado.

Isso sempre funcionou, derrepente os LookUps começaram a travar quando eu desabilitava o TClientDataSet, só listando quando eu habilitava o mesmo.

Por isso a pergunta. É melhor criar os LookUps no TClientDataSet ou no TSQLDataSet, que vai estar sempre habilitado?

Agradeço desde já a ajuda. Abraços.



Allan Elias Ramo :wink:


Aersoftware

Aersoftware

Responder

Posts

12/08/2005

Gandalf.nho

Na verdade, em bancos de dados cliente/servidor deve-se evitar ao máximo o uso de lookups, coloque os campos que irá precisar diretamente no SQL de origem dos dados.


Responder

Gostei + 0

12/08/2005

Martins

Na verdade, em bancos de dados cliente/servidor deve-se evitar ao máximo o uso de lookups, coloque os campos que irá precisar diretamente no SQL de origem dos dados.


Concordo com a [b:401ac1276a]gandalf.nho[/b:401ac1276a], e sempre se pode procurar meios alternativos, uma vez q vc sempre fecha o TClientDataSet, vc poderia ver se o problema passou a existir quando vc fez alguma alteração em suas unit´s, revise o seu código. Eu deixei de utilizar esses campos quando comecei a utilizar BD C/S, se preciso pegar algo q está em outra tabela por exemplo: tabela de CNAE Fiscal e Form de cadastro de Empresas, ao invés de utilizar um LookUps linkando TbCnae e TBEmpresa, faço a busca em um form de busca padrão (Template), nele eu faço pesquisa incremental encontro o valor que eu quero dou um ENTER e ele me traz o código mais a descrição, e a minha tabela TbCnae fica fechada e só é aberta para essa finalidade e depois é fechada novamente, só ativo minhas tabelas quando preciso delas, claro q existem algumas excessões.

Vc poderia rever seu código e ver o q pode estar causando isso.

Um abraço.


Responder

Gostei + 0

12/08/2005

Aersoftware

Oi pessoal.

Deixa ver, pq é recomendável não suar o LookUp? Na verdade esse programa vai rodar localmente.

Martins, realmente, o problema ocorreu depois que instalei um componente pra visualização de imagens, que não tinha nada a ver com os LookUps. Achei até estranho isso acontecer. Instalei o componente, botei um no form e derrepente todos os campos e o form não ´enxergavam´ mais o DataModule. Eu tive que refaze-lô. Mesmo refazendo sem esse componente, quando eu ´transplantei´ o código fonte (pra não precisar criar denovo, já que era muito grande), o problema continuou. Dei uma revisada e percebi que o LookUp travava sempre que, ao iniciar o form, eu fechava o TClientDataSet, mas isso não acontecia antes.

E a idéia dos Lookups é pra facilitar a listagem. Ele começa listando todos [b:2978e91d36]Grupos[/b:2978e91d36] cadastrados. Quando um é selecionado, em outro LookUp ele lista os [b:2978e91d36]SubGrupos[/b:2978e91d36] linkados àquele Grupo. E quando o SubGrupo é selecionado, ele lista todas [b:2978e91d36]Revistas[/b:2978e91d36] linkadas aos dois.

O estranho tb ta ocorrendo agora. Sempre que eu seleciono o SubGrupo, ele da uma mensagem de erro dizendo que não pode converter valores [b:2978e91d36]Nulo[/b:2978e91d36] em [b:2978e91d36]Inteiro[/b:2978e91d36], o que é estranho, já que os campos de Chave Estrangeira na tabela [b:2978e91d36]Revista[/b:2978e91d36] são [b:2978e91d36]Integer Not Null[/b:2978e91d36] e na hora do cadastro é obrigado selecionar o Grupo e o SubGrupo pra poder salvar o registro. Só se na hora de selecionar ele da problema, vou dar uma olhada nisso tb.



Allan Elias Ramos :wink:


Responder

Gostei + 0

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

Aceitar