COLOCANDO AUTONUMERACAO DINAMICA EM UMA COMBOBOX

BMSOFTWARES2010 22/08/2010 21:00:10
#350946
Bom pessoal sou novo no site e novo em VB e gostaria de uma ajuda...
Estou criando um projeto de academia em VB6 e estou com um problema com autonumeracao quando eu vou adicionar um novo aluno ele adiciona e manda o numero seguinte da combobox mas se eu excluir um aluno e ir para add um novo ele manda um numero vago em base do ultimo adicionado.

Ex: Tenho uma tabela com sete registros de alunos com numeros de 1 a 7, se eu excluir o aluno 2 e clicar em novo ele manda o n°8 que e vago, tipo mandase o menor numero vago q no caso e o 2....

O codigo que coloquei:

If alunos.BOF Then
cmb_matricula.Text = 1
Else
alunos.MoveLast
cmb_matricula.Text = alunos([Ô]matricula[Ô]) + 1
End If

TECLA 16/09/2010 20:08:04
#353162
O que você deseja fazer é REAPROVEITAR o código vago?

Mas, e o HISTÓRICO de PAGAMENTO e FREQUÊNCIA do cliente excluído?
Normalmente se utiliza uma CHAVE PRIMÁRIA para referenciar o ALUNO com o PAGAMENTO / FREQUÊNCIA.

Irá excluir esses registros para REAPROVEITAR o código?
Como você vai gerenciar estas questões?
BMSOFTWARES2010 17/09/2010 16:41:49
#353249
Citação:

:
O que você deseja fazer é REAPROVEITAR o código vago?

Mas, e o HISTÓRICO de PAGAMENTO e FREQUÊNCIA do cliente excluído?
Normalmente se utiliza uma CHAVE PRIMÁRIA para referenciar o ALUNO com o PAGAMENTO / FREQUÊNCIA.

Irá excluir esses registros para REAPROVEITAR o código?
Como você vai gerenciar estas questões?



Quero reaproveitar o menor codigo vago...

Tem como???


[txt-color=#007100]Nossa atitude ao começar um projeto difícil é o que determina o resultado[/txt-color]
MSMJUDAS 17/09/2010 17:16:57
#353254
Cara, na minha opinião isso é totalmente errado. Como vc irá gerar o relatório, buscar os dados e outras coisas do cliente excluído? Não tem como.

O ideal é vc DESATIVAR esse cliente, crie um campo STATUS na tabela de clientes e deixe A como ativo e I como inativo, e nada de excluir. Na hora das consultas, relatórios é só filtrar os clientes ativos e inativos.
LUIS.HERRERA 17/09/2010 17:55:36
#353258
Bem concordo com o pessoal, é um erro conceitual realizar cadastros e excluir dados. Alguns programadores menos experientes realizam a gravação dos textos (dados) e não os índices dos registros, assim se excluir um determinado registro, não afetaria os outros lançados como: (pedidos de vendas, notas fiscais, movimento de estoques, etc...) só que isso é errado.

Não entrando no mérito da questão anterior, sim é possível reaproveitar números de forma muito simples, veja:

1- não use campo autonumeração, ao contrário use um Long
2- crie uma outra tabela auxiliar, com um ID e um campo long (cmpNumVago)
3- na rotina de exclusão de seus regitros, pegue o número excluído e salve nessa tabela.
4- ao incluir um novo registro, inicialmente veja se há algum número vago na tabela auxiliar, se houver peque esse número e grave na outra tabela.

basicamente é isso, porém há algumas outras checagens a fazer, caso use um aplicativo multiusuário. Será preciso checar se haverá vários cadastros simultâneos, se há várias tabelas diferentes para reaproveitar códigos, nesse caso será preciso outro campo na tabela auxiliar informando o nome da tabela que tem o número vago, etc...
BMSOFTWARES2010 15/10/2010 16:00:23
#355178
Vlw pessoal pela ajuda !
Resolvi tirar a opçao de excluir pensando no que o Luis Herrera falou..

Vlw a todos...

Fechando o Topico....

Nossa atitude ao começar um projeto difícil é o que determina o resultado
Tópico encerrado , respostas não são mais permitidas