auto numeração em access
aee galera.. qual a melhor forma de fazer uma autonumeracao tipo no cadastro de clientes cada um vai ter o codigo .. qria q isso gerasse automaticamente como faço isso em delphi? usando Access e ADO??
vlw
galera
vlw
galera
Slack
Curtidas 0
Respostas
Sandra
21/07/2004
slack,
No access existe o tipo de campo ´autonumeração´... não poderia ser feito diretamente com ele? Se for o caso, basta utilizá-lo no momento da criação da tabela.
No access existe o tipo de campo ´autonumeração´... não poderia ser feito diretamente com ele? Se for o caso, basta utilizá-lo no momento da criação da tabela.
GOSTEI 0
Alexsandro
21/07/2004
meus amigos,
Criei uma tabela Access com o campo auto incrmento, mas quando vou incluir um novo registro o campo chave não está incrementado. O que preciso fazer no componente? Tem algum tratamento?
Muito Obrigado,
Alex
Criei uma tabela Access com o campo auto incrmento, mas quando vou incluir um novo registro o campo chave não está incrementado. O que preciso fazer no componente? Tem algum tratamento?
Muito Obrigado,
Alex
GOSTEI 0
Sandra
21/07/2004
:shock: :P Nossa, faz tempo que respondi este tópico!
Alexsandro,
Que eu me lembre, não há necessidade de nenhum tratamento nos componentes de acesso, pelo menos no programainha (bem simples mesmo) que fiz. [b:331b9cfb3a]Acho[/b:331b9cfb3a] que o código só aparecia depois que os dados são gravados na tabela.
Porém, quais componentes está usando?
Alexsandro,
Que eu me lembre, não há necessidade de nenhum tratamento nos componentes de acesso, pelo menos no programainha (bem simples mesmo) que fiz. [b:331b9cfb3a]Acho[/b:331b9cfb3a] que o código só aparecia depois que os dados são gravados na tabela.
Porém, quais componentes está usando?
GOSTEI 0
Alexsandro
21/07/2004
Oi Sandra,
Estou usando um campo DBEDIT do Delphi. Já disseram aqui que a auto numeração só aprece depois de eu salvar os dados, mas não é isso que eu quero. Eu gostaria de ao pressionar o botão de incluir que o delphi me trouxesse automaticamente o novo registro com o novo código...
Agradeço sua ajuda.
Alex
Estou usando um campo DBEDIT do Delphi. Já disseram aqui que a auto numeração só aprece depois de eu salvar os dados, mas não é isso que eu quero. Eu gostaria de ao pressionar o botão de incluir que o delphi me trouxesse automaticamente o novo registro com o novo código...
Agradeço sua ajuda.
Alex
GOSTEI 0
Unk
21/07/2004
Não use a auto numeração, faça uma rotina para incrementar em tempo de execução!
GOSTEI 0
Alexsandro
21/07/2004
Pessoal,
Percebi que não tem jeito, eu preciso implementar na mão o recurso da auto-numeração, e por isso gostaria de saber em qual evento devo implementar a rotina. Vocês teriam algum exemplo?
Obrigado,
Alex
Percebi que não tem jeito, eu preciso implementar na mão o recurso da auto-numeração, e por isso gostaria de saber em qual evento devo implementar a rotina. Vocês teriam algum exemplo?
Obrigado,
Alex
GOSTEI 0
Alexsandro
21/07/2004
Pessoal,
Percebi que não tem jeito, eu preciso implementar na mão o recurso da auto-numeração, e por isso gostaria de saber em qual evento devo implementar a rotina. Vocês teriam algum exemplo?
Obrigado,
Alex
Percebi que não tem jeito, eu preciso implementar na mão o recurso da auto-numeração, e por isso gostaria de saber em qual evento devo implementar a rotina. Vocês teriam algum exemplo?
Obrigado,
Alex
GOSTEI 0
Sandra
21/07/2004
Alex,
Experimente esse exemplo bem simples, no evento onNewRecord da tabela que necessita da auto incrementação:
Espero que ajude.
Experimente esse exemplo bem simples, no evento onNewRecord da tabela que necessita da auto incrementação:
with Query1 do begin Close; SQL.Text := ´Select Max(SeuCampo) from SuaTabela´; Open ; If Fields[0].isNull then SuaTabela.FieldByName(´SeuCampo´).asInteger := 1 else SuaTabelaSeuCampo.AsInteger := Fields[0].AsInteger + 1; end;
Espero que ajude.
GOSTEI 0
Alexsandro
21/07/2004
Muito Obrigado Sandra,
Alex
Alex
GOSTEI 0
Icheuk
21/07/2004
Caro Alexsandro.
Talvez o tipo de problema que voce teve foi por ter outras tabelas associadas a ela e por isso precisa desta chave(auto incremento) coreto, eu ja tive este problema.
Qual solucao que achei mais viavel, dentro do meu banco de dados eu criei um campo denominado CHAVE neste campo eu gera um numero composto por (Empresa+Usuario+data+Hora) pois o sistema é multi empresa, ou seja desta forma nao vai haver duplicidade ok.
Bom no momento que adicionei um registro o campo auto incremente ainda nao foi criado pois o access deve garantir que se o usuario cancelar a operacao este numero de auto incremente nao vai ser perdido ou seja ele so disponibiliza o numero ao gravar o registro efetivamente, pois voce pode estar em rede com varios usuarios concorrendo ao mesmo tempo por um registro gravado, mas voltando a logica.
Esta chave eu guardo em uma variavel no sistema e assim que gravar o registro e nao houver nenhum erro na gravacao eu executo uma pesquisa neste registro atraves desta chave, neste momento eu passo a ter o codigo do auto incremente e posso associa-lo a outras tabelas relacionadas a este cadastro.
De qualquer forma a Solucao da Sandra tambem é bem legal.
Eu cheguei a esta solucao devido a outras necessidades que possuia no momento do desenvolvimento.
Mas espero ter esclarecido a logica do access para disponibilizar a chave de auto incremente apenas apos gravar o registro efetivamente.
Um grande abraco e boa sorte.
Ivan
Talvez o tipo de problema que voce teve foi por ter outras tabelas associadas a ela e por isso precisa desta chave(auto incremento) coreto, eu ja tive este problema.
Qual solucao que achei mais viavel, dentro do meu banco de dados eu criei um campo denominado CHAVE neste campo eu gera um numero composto por (Empresa+Usuario+data+Hora) pois o sistema é multi empresa, ou seja desta forma nao vai haver duplicidade ok.
Bom no momento que adicionei um registro o campo auto incremente ainda nao foi criado pois o access deve garantir que se o usuario cancelar a operacao este numero de auto incremente nao vai ser perdido ou seja ele so disponibiliza o numero ao gravar o registro efetivamente, pois voce pode estar em rede com varios usuarios concorrendo ao mesmo tempo por um registro gravado, mas voltando a logica.
Esta chave eu guardo em uma variavel no sistema e assim que gravar o registro e nao houver nenhum erro na gravacao eu executo uma pesquisa neste registro atraves desta chave, neste momento eu passo a ter o codigo do auto incremente e posso associa-lo a outras tabelas relacionadas a este cadastro.
De qualquer forma a Solucao da Sandra tambem é bem legal.
Eu cheguei a esta solucao devido a outras necessidades que possuia no momento do desenvolvimento.
Mas espero ter esclarecido a logica do access para disponibilizar a chave de auto incremente apenas apos gravar o registro efetivamente.
Um grande abraco e boa sorte.
Ivan
GOSTEI 0