Fórum Posicionar Query #183932
24/09/2003
0
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
Curtir tópico
+ 0Posts
24/09/2003
Mmtoor
MMTOOR2003
Gostei + 0
26/09/2003
Ndjei
Obrigado mesmo assim e por favor se alguém tiver mais alguma sugestão agradeço...!!!!
Gostei + 0
26/09/2003
Marcelo.c
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
Clique aqui para fazer login e interagir na Comunidade :)