Francisco Silveira
9-Apr-2023, 09:11 AM
Em uma lookup eu criei um objeto forma para o usuário filtrar os dados, exemplo: ele coloca Café, e clica no botão filtrar e executo uma "Constrain Produto.Descricao contains sDescricaoFiltro", funciona legal, mais caso o usuário coloque algo que não contenha na base de dados, mostra a cDbCJGridPromptList limpa, sem registro, mais caso ele tente colocar algo que exista, para de funcionar, tem que sair e entra novamente... Como faço, caso não exista, da um refresh ...
Espero que tenham entendido .
Edgard
10-Apr-2023, 06:57 AM
Francisco,
Quando você usa o comando: Constrain Produto.Descricao contains significa, que toda uma leitura da base de dados será realizada.
Conforme a quantidade de registros na base de dados (Dataflex, SQL ou outra ?) x velocidade do equipamento x infraestrutura, quando do uso de um filtro, que resulte em resultado vazio e embora você não esteja vendo nada na pesquisa e você acha, que o sistema travou, quando na verdade ele ainda está processando e tentando achar algo, que de antemão você sabe, que não existe.
Em alguns casos de exibição de lista, com alta quantidade de registros, costumo exibir uma mensagem, para o usuário:
16058
No exemplo acima, quando do uso do filtro: Animais, e por este ser raro de estar presente em uma base de + 140.000 registros, mesmo sem uso do comando Contains, tenho um efeito parecido com seu relato, que não deve ser confundido, com travamento do equipamento ou do DF, que vai liberado muito mais rápido se eu executar diretamente em um servidor TS do que em um note, conectado via wireless.
Para acelerar o processo, opte por usar: Constrain PRODUTO.DESCRICAO EQ definindo um campo/Ãndice especÃfico, para sua pesquisa.
Att.,
Edgard
Powered by vBulletin® Version 4.2.5 Copyright © 2023 vBulletin Solutions Inc. All rights reserved.