Opinião dos colegas
Enviado: 20 Nov 2006 14:03
Olá Fórum,
estou criando um sistema que usa tbrowse com célula referenciada.
Ou seja, a informação que consta do banco de dados atual (código do órgão) é convertida na referência (nome do órgão) em outro banco de dados, que é apresentada na tela com tbrowse.
Assim, se o registro atual do código do órgão contém o número “000023”, ele é pesquisado na tabela de órgãos e apresenta na tela, por exemplo, “SUNAB”, que é o nome referenciado.
Até aí tudo bem, funciona direitinho.
Mas agora estou precisando ordenar ou efetuar uma pesquisa nessa coluna que apresenta o nome.
Mas eu não tenho um índice ativo ou acessível para “nome do órgão”, mas apenas “código do órgão”.
Assim, se o usuário deseja efetuar a ordenação ou pesquisa de dados nessa coluna, eu “pego” a chave digitada pelo mesmo, que é um nome, procuro o nome na tabela própria (órgão), retorno o código e, então, procuro esse código no banco de dados atual, agora ordenado pelo código.
Funciona “quase” certinho, pois a pesquisa é efetuada mas os dados não ficam ordenados, apenas agrupados pelo código.
Para contornar o problema, estou pensando em utilizar array, colocando o conteúdo para o tbrowse dentro da mesma.
Dessa forma, poderei pesquisar e ordenar tranqüilamente a informação visualizada em tela.
Todavia, o crescimento do banco de dados é natural, e talvez é “tática” crie lentidão de processamento em face do volume de dados a serem verificados.
Igualmente, funcionando em rede, a preocupação com a integridade e atualização dos dados é importante, pelo que a base (de dados) deve ser constantemente verificada para refletir eventual alteração.
Há como contornar o problema?
Aguardo sugestões e experiências (boas ou más).
De acordo com o Vagner, o xharbour não tem o limite de 64k para o campos de caracteres e memo.
Então, seria conveniente armazenar informações do registro nestes campos, ou seja, ao invés de criar tabelas vinculadas, simplesmente lançar a informação no campo e depois tratá-la?
Por exemplo, num campo qualquer do registro de pedido, inserir os itens que compõe o mesmo.
Assim, no campo ITEMPED, literalmente, você insere o código do item, a descrição, quantidade, valor unitário, etc., em vez de fazê-lo com uma tabela vinculada.
Como definir o tamanho do campo para o máximo possível?
Também aguardo sugestões e experiências (boas ou más).
estou criando um sistema que usa tbrowse com célula referenciada.
Ou seja, a informação que consta do banco de dados atual (código do órgão) é convertida na referência (nome do órgão) em outro banco de dados, que é apresentada na tela com tbrowse.
Assim, se o registro atual do código do órgão contém o número “000023”, ele é pesquisado na tabela de órgãos e apresenta na tela, por exemplo, “SUNAB”, que é o nome referenciado.
Até aí tudo bem, funciona direitinho.
Mas agora estou precisando ordenar ou efetuar uma pesquisa nessa coluna que apresenta o nome.
Mas eu não tenho um índice ativo ou acessível para “nome do órgão”, mas apenas “código do órgão”.
Assim, se o usuário deseja efetuar a ordenação ou pesquisa de dados nessa coluna, eu “pego” a chave digitada pelo mesmo, que é um nome, procuro o nome na tabela própria (órgão), retorno o código e, então, procuro esse código no banco de dados atual, agora ordenado pelo código.
Funciona “quase” certinho, pois a pesquisa é efetuada mas os dados não ficam ordenados, apenas agrupados pelo código.
Para contornar o problema, estou pensando em utilizar array, colocando o conteúdo para o tbrowse dentro da mesma.
Dessa forma, poderei pesquisar e ordenar tranqüilamente a informação visualizada em tela.
Todavia, o crescimento do banco de dados é natural, e talvez é “tática” crie lentidão de processamento em face do volume de dados a serem verificados.
Igualmente, funcionando em rede, a preocupação com a integridade e atualização dos dados é importante, pelo que a base (de dados) deve ser constantemente verificada para refletir eventual alteração.
Há como contornar o problema?
Aguardo sugestões e experiências (boas ou más).
De acordo com o Vagner, o xharbour não tem o limite de 64k para o campos de caracteres e memo.
Então, seria conveniente armazenar informações do registro nestes campos, ou seja, ao invés de criar tabelas vinculadas, simplesmente lançar a informação no campo e depois tratá-la?
Por exemplo, num campo qualquer do registro de pedido, inserir os itens que compõe o mesmo.
Assim, no campo ITEMPED, literalmente, você insere o código do item, a descrição, quantidade, valor unitário, etc., em vez de fazê-lo com uma tabela vinculada.
Como definir o tamanho do campo para o máximo possível?
Também aguardo sugestões e experiências (boas ou más).