Posicionar Query
Olá Pessoal,
Tenho uma query de clientes aberta, o usuário faz uma procura e eu executo
em uma query auxiliar, são apresentados 10 registro por exemplo, então nessa query, o
usuário escolhe um deles.
Como faço para posicionar o ponteiro da query de clientes no registro
escolhido na query auxiliar.
Se eu usar SELECT na query de clientes vou retornar apenas 1 registro e o
usuário não poderá navegar pelos outros registros.
Tentei utilizar o método LOCATE, mas como este método faz uma busca sequencial, se
for o último registro isso pode ser demorado.
Eu tentei usar a propriedade BookMark, mas não funciona, pois as querys têem que ser iguais,
senão irá apontar para outro registro.
Gostaria de saber qual seria a maneira mais rápida de posicionar o ponteiro
da query em um registro específico.
Muito obrigado.
Tenho uma query de clientes aberta, o usuário faz uma procura e eu executo
em uma query auxiliar, são apresentados 10 registro por exemplo, então nessa query, o
usuário escolhe um deles.
Como faço para posicionar o ponteiro da query de clientes no registro
escolhido na query auxiliar.
Se eu usar SELECT na query de clientes vou retornar apenas 1 registro e o
usuário não poderá navegar pelos outros registros.
Tentei utilizar o método LOCATE, mas como este método faz uma busca sequencial, se
for o último registro isso pode ser demorado.
Eu tentei usar a propriedade BookMark, mas não funciona, pois as querys têem que ser iguais,
senão irá apontar para outro registro.
Gostaria de saber qual seria a maneira mais rápida de posicionar o ponteiro
da query em um registro específico.
Muito obrigado.
Ndjei
Curtidas 0
Respostas
Mmtoor
24/09/2003
Relacione as querys.
MMTOOR2003
MMTOOR2003
GOSTEI 0
Ndjei
24/09/2003
Então mmtoor....essa sugestão de linkar as querys foi muito interessante, fiz até um programa pra ter certeza, mas na verdade eu caio no mesmo problema...a query depois de linkada traz apenas o registro selecionado na outra, quando na verdade eu quero apenas posicionar no registro...
Obrigado mesmo assim e por favor se alguém tiver mais alguma sugestão agradeço...!!!!
Obrigado mesmo assim e por favor se alguém tiver mais alguma sugestão agradeço...!!!!
GOSTEI 0
Marcelo.c
24/09/2003
Tente da seguinte forma:
Logo depois de localizado o registro na QueryAux, armazene o código do Cliente, faça com que todos os registros sejam mostrados na QueryAux, execute um Locate utilizando o código armazenado, e posicione no mesmo registro a QueryCli.
Em código ficaria mais ou menos assim:
No evento Onclick do botão que fecha o formulário de procura:
Como a QueryAux traz apenas um campo e não possui nenhum código embutido ou mesmo ligação com outras tabelas o Locate será muito mais rápido do que na QueryCli.
Logo depois de localizado o registro na QueryAux, armazene o código do Cliente, faça com que todos os registros sejam mostrados na QueryAux, execute um Locate utilizando o código armazenado, e posicione no mesmo registro a QueryCli.
Em código ficaria mais ou menos assim:
No evento Onclick do botão que fecha o formulário de procura:
var cod: Integer; begin cod:=QueryAuxCodigo.Value; QueryAux.Close; QueryAux.SQL.Clear; //Exibindo os registros de QueryAux e obtendo mesma seq. de QueryCli QueryAux.SQL.Add(´Select codigo from clientes´); QueryAux.Open; QueryAux.Locate(´CODIGO´, cod, []); //Posicionar QueryCli no mesmo registro da QueryAux QueryCli.Recno := QueryAux.Recno; end;
Como a QueryAux traz apenas um campo e não possui nenhum código embutido ou mesmo ligação com outras tabelas o Locate será muito mais rápido do que na QueryCli.
GOSTEI 0