Colocar o Ponteiro da tabela em um determinado registro

Delphi

05/08/2005

[b:f226195b58]Bom dia a todos
Tenho uma tabela de produto e preciso fazer o seguinte. Após o
cadastro de algum produto, preciso executar um SELECT (IBQuery) para trazer todos os produtos existentes, mostrando eles em uma dbgrid.

Até ai tudo bem, minha duvida é a seguinte, após o SELECT como faço
para apontar no registro que acabei de inserir ? Sendo que não
necessariamente sera o ultimo ?

Exemplo: Tenho os seguintes produtos e vou inserir o PRODUTO 5, após a
inserção preciso que o ponteiro do registro fique no PRODUTO 5.

Produto 1
Produto 2
Produto 3
Produto 4

Produto 5 <--

Produto 6
Produto 7
Produto 8[/b:f226195b58]


Splash

Splash

Curtidas 0

Respostas

Mmbarros

Mmbarros

05/08/2005

Antes de vc Executar o comando Post ou ExecSql...Guarde o valor do Codigo em uma variável.
Ex:
vNomeVariavel:= EdtCodigo.Text;

Em segida, apos voce atualizar os dados do Grid...Localize o registro através do comando Locate.
Ex:
Query.Locate(´NOME_DO_CAMPO´,vNomeVariavel,[lopartialkey, loCaseInsensitive]);


Espero ter ajudado.

Abração!


GOSTEI 0
Raserafim

Raserafim

05/08/2005

apenas complementando a dica de MMBarros:
para que não fique o ponteiro percorrendo os registros no DBGrid, vc pode desativar a comunicação do DataSet com os componentes que estão ligados a ele:
Query.DisableControls;
Query.Locate(´NOME_DO_CAMPO´,vNomeVariavel,[lopartialkey, loCaseInsensitive]);
QueryEnableControls;



GOSTEI 0
Splash

Splash

05/08/2005

Valeu pessoal pela ajuda.
Abraços

Splash


GOSTEI 0
POSTAR