bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
zerar um campo tipo numeração automática

Zerar um campo, tipo Numeração Automática

Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).

Usuário Ricardo:

Olá!

Como posso reiniciar um campo (coluna) de tabela, tipo "Numeração Automática", por código VBA?

Desde já, agradeço a sua ajuda.

Suporte:

Ricardo,

se a tabela está zerada (sem registros), basta usar o Compactar e Reparar.  Caso contrário, utilize o seguinte código:

'Criando uma nova tabela sem o campo Autonumeração
currentdb.Execute "SELECT Classe,código,seq INTO tblClasse_tmp FROM tblClasse;"
'Acrescentando o campo Autonumeração à nova tabela
currentdb.Execute "ALTER TABLE tblClasse_tmp ADD COLUMN Id AUTOINCREMENT;"
'Deletando a tabela antiga
docmd.DeleteObject acTable ,"tblClasse"
'Renomeando a nova tabela
docmd.Rename "tblClasse",acTable ,"tblClasse_tmp"

A sua tabela está relacionada a outra tabela?

Nota: não esqueça de  fazer antes, um backup de sua base de dados.

Usuário Ricardo:

Olá, Avelino!

Fiz o teste utilizando o currentdb.execute e funcionou bem até criar a nova tabela.  Ao deletar a antiga, apresentou a seguinte mensagem:

"O mecanismo de banco de dados não pôde bloquear a tabela 'TB_TRABALHO', pois ela já está sendo usada por outra pessoa ou processo."

'Criando uma nova tabela sem o campo Autonumeração
CurrentDb.Execute "SELECT trb_codbol,trb_valor INTO TB_TRABALHO_TMP FROM TB_TRABALHO;"
'Acrescentando o campo Autonumeração à nova tabela
CurrentDb.Execute "ALTER TABLE TB_TRABALHO_TMP ADD COLUMN trb_seq AUTOINCREMENT;"
'Acrescentando o campo Autonumeração como chave primária
CurrentDb.Execute "ALTER TABLE TB_TRABALHO_TMP ADD CONSTRAINT pkey PRIMARY KEY (trb_seq);"
'Deletando a tabela antiga
DoCmd.DeleteObject acTable, "TB_TRABALHO"
'Renomeando a nova tabela
DoCmd.Rename "TB_TRABALHO_TMP", acTable, "TB_TRABALHO"

Suporte:

Ricardo,

a mensagem é clara.  A tabela está em uso e portanto não pode ser excluída.  O formulário em questão tem origem na tabela TB_TRABALHO? Se sim, este é o problema.

Usuário Ricardo:

Olá Avelino!

Fiz um formulário simples e não está associado a nenhuma tabela.  O propósito deste formulário é executar o código proposto.  Mesmo assim, o problema acontece.

Criei um banco de teste com dois formulários: - o primeiro utiliza a tabela dentro de um sub-formulário, o segundo executa somente o procedimento mencionado acima.

Suporte:

Ricardo,

como havia previsto, o formulário frmX está associado à tabela tblTrab. É preciso primeiro desvincular o formulário para que funcione.

Segue a modificação do código:

'Desvinculando o formulário
Me.RecordSource = ""
'Criando uma nova tabela sem o campo Autonumeração
CurrentDb.Execute "SELECT tbltrabcli,tbltrabval INTO tbltrab_tmp FROM tbltrab;"
'Acrescentando o campo Autonumeração à nova tabela
CurrentDb.Execute "ALTER TABLE tbltrab_tmp ADD COLUMN tbltrabseq AUTOINCREMENT;"
'Acrescentando o campo Autonumeração como chave primária
CurrentDb.Execute "ALTER TABLE tbltrab_tmp ADD CONSTRAINT pkey PRIMARY KEY (tbltrabseq);"
'Deletando a tabela antiga
DoCmd.DeleteObject acTable, "tbltrab"
'Renomeando a nova tabela
DoCmd.Rename "tbltrab", acTable, "tbltrab_tmp"
'voltando a vincular o formulário
Me.RecordSource = "tbltrab"

Usuário Ricardo:

Olá, Avelino!

Está funcionando!

Mais uma vez, obrigado pela ajuda.


 

 


Não há comentário

Envie seu comentário: