GERAR CADASTRO

GOLVEIAR 06/05/2010 08:40:23
#341071
Ola! Estou tentado fazer no db access via vb um campo matricula onde gera um numero automatico tipo 1,2,3... e assim sucessivamente mas acontece que quando chega no decimo cadastro para de gerar o numero ou gera numero repetido alguem pode me ajudar. o codigo que to usando é esse:

Private Sub GeraCadastro()
Dim vTamTab As String
Dim x As Integer
Set TbNumAluno = dbConecta.OpenRecordset([Ô]SELECT * From DadosPessoais Order by NC[Ô])
If TbNumAluno.RecordCount = 0 Then
lblCadastros.Caption = 1
Exit Sub
Else
TbNumAluno.MoveFirst
vTamTab = TbNumAluno.RecordCount
For x = 1 To vTamTab
If TbNumAluno!NC <> x Then
Exit For
End If
TbNumAluno.MoveNext
Next x
lblCadastros.Caption = x
End If
End Sub
EDERMIR 06/05/2010 08:50:14
#341074
Este código é para verificar o NC.

Qual é o código que você está usando para GERAR o NC?
INFOSISTEMAS 06/05/2010 09:40:06
#341084
Private Sub GeraCadastro()
Dim vTamTab As String
Dim x As Integer
Set TbNumAluno = dbConecta.OpenRecordset([Ô]SELECT * From DadosPessoais Order by NC[Ô])
If TbNumAluno.RecordCount = 0 Then
lblCadastros.Caption = 1
Exit Sub
Else
TbNumAluno.MoveFirst =>TbNumAluno.Movelast
vTamTab = TbNumAluno.RecordCount
For x = 1 To vTamTab
If TbNumAluno!NC <> x Then
Exit For
End If
TbNumAluno.MoveNext
Next x
lblCadastros.Caption = x
End If
End Sub

subistitua o codigo pelo que citei que vai funcionar qualquer coisa posta ai de novo
XXXANGELSXXX 06/05/2010 11:01:36
#341092
Private Sub GeraCadastro()
Set TbNumAluno = dbConecta.OpenRecordset([Ô]SELECT * From DadosPessoais Order by NC[Ô])
If TbNumAluno.RecordCount = 0 Then
lblCadastros.Caption = 1
Else
TbNumAluno.movelast
lblcadastros.caption = tdbnumaluno!nc + 1
end if

E assim ta feita a sua função, ou seja, e so verificar se tem registros na recordset, se tiver o registro coloca o caption como 1 par evitar erros, se ja tiver, mova para o ultimo registro ordenando pelo order by a coluna de numero, faz o capition entender que é o ultimo registro + 1 .. ok
GOLVEIAR 06/05/2010 19:34:25
#341138
mas tem que gerar as matriculas em cada turma tipo turma 1 começa 123... ai na turma 2 comece de novo 123... mas ele ta começando na turma 2 do numero 4568 de onde parou na turma anterior se alguem puder me ajudar eu agradeço
MARCELO.TREZE 06/05/2010 20:12:23
#341141
colega tente isto pegue o mairo numero da tabela e some mais um
veja se a alterção a abixo funciona


Private Sub GeraCadastro()
Set TbNumAluno = dbConecta.OpenRecordset([Ô]SELECT MAX(NC) FROM DadosPessoais[Ô])
lblCadastros.Caption = CInt(TbNumAluno.Field([Ô]NC[Ô])) + 1
End Sub


bom deduzo que NC seja o campo em que é salvo o numero da matricula

é mais ou menos isso

GOLVEIAR 06/05/2010 20:42:01
#341146
ta dando erro item não encontrado nesta coleçao 3295
TECLA 06/05/2010 22:12:09
#341150
Poste a estrutura da tabela no tópico.
GOLVEIAR 08/05/2010 08:38:28
#341285
é o seguinte cadastro a primeira turma 1º Turma de formação quando começar a cadastrar os alunos o numero dos alunos comece nº 1 2 3 4 e assim sucessicamente. Quando cadastrar a 2ª turma de formaçao comoece de novo numero dos alunos 1 2 3 4... so que ta começando de onde eu parei na turma anterior tipo se na primeira turma eu parei em 4 na segunda turma começa do numero 5 entende se alguem puder me ajudar eu agradeço.
Tópico encerrado , respostas não são mais permitidas