AJUDA EM EXCLUSAO DE CADASTROS

LEANDRO.BUENO 19/07/2005 08:14:23
#94848
Amigos estou com o seguinte problema:
Fiz um programa para minha empresa, mas acontece o seguinte:
Os cadastros são mostrados em uma flexgrid pela ordem do código ex::
1 - 2 - 3 - 4 -5
Se o usuário excluir o cadastro 3 por exemplo ficará assim:
1 - 2- 4- 5
Mas eles querem que ao excluir o cadastro 3, automaticamente o 4 passa a ser o 3 e assim por diante, ou seja ordenar os códigos a cada exclusão.
Vejam meus comandos incluir e excluir:
Incluir:
Call Limpar
inc = True
If vdocumentos.RecordCount <> 0 Then
vdocumentos.MoveLast
txtcodigo = vdocumentos!coddocumentos
Else
txtcodigo = 1
End If
Call Habilitar
txtcodigo = Val(txtcodigo) + 1
txtdocumento.SetFocus

Excluir
On Error Resume Next
If Val(txtcodigo) = "1" Then
MsgBox "Não é Possível Excluir o Registro Primário", vbCritical
Else
Dim Mensagem, Botões, Title, Ctxt, Resposta, MyString
Mensagem = "Deseja Excluir?"
Botões = vbYesNo + vbCritical + vbDefaultButton2
Titulo = "SIE - Sistema Empresarial"
Resposta = MsgBox(Mensagem, Botões, Titulo, Help, Ctxt)
End If
If Resposta = vbYes Then
BeginTrans
vdocumentos.Delete
CommitTrans
Dim var_sql As Recordset
Set var_sql = bancodedados.OpenRecordset("select * from controledocumentos ")
Set Data1.Recordset = var_sql
Data1.Refresh
anterior = True
Call Atualizar
Else
Mensagem = "O Registro não foi Excluído"
End If
Pessoal não sei fazer isso como posso fazer?
JEAN.JEDSON 19/07/2005 08:21:49
#94853
bem...
o que vc terá que fazer é varrer todo o recordset e ir refazendo os códigos de acordo com a posição no banco,

OU

simplesmente não ter código: pelo menos não no banco. utilize o absoluteposition como seu código, mostrando nas visualizações necessárias.

LEANDRO.BUENO 19/07/2005 08:27:10
#94855
nossa amigo jean to perdido
JEAN.JEDSON 19/07/2005 08:30:10
#94857
eh eh eh
na primeira hipótese, vc teria que fazer algo do tipo

'logo após a exclusão
while not rs.eof
rs("código") = rs.absoluteposition
rs.movenext
wend

no segundo caso, vc não teria o campo código... quando fosse necessário mostrar o código, vc mostraria rs.absoluteposition...


agora... uma pergunta: pq teria que reorganizar os códigos? me parece uma certa perda de tempo...
LEANDRO.BUENO 19/07/2005 08:34:53
#94860
eu tb acho amigo jean,
para mim ficaria assim mesmo, mas o pessoal da minha empresa que usa meu programa querem os códigos reorganizados após a exclusão dos cadastros.
disse a eles que não sabia fazer isto e que ia dar uma pesquisada.....
na minha opinião é besteira
LEANDRO.LUIZ 19/07/2005 09:51:30
#94914
Leandro, mas se vc usar esse código do cadastro em outro lugar ( Orçamento por exemplo ), vc terá problemas, pois você vai reorganizar o código no cadastro, mas no orçamento ficara o código com qual o Orçamento foi realizado, ai o Orçamento que era de um cadastro irá para o outro.
JEAN.JEDSON 19/07/2005 10:05:32
#94918
exato... tem que queimar qualquer ocorrência em todas as tabelas - pedendo históricos...
Tópico encerrado , respostas não são mais permitidas