GERAR CADASTRO
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
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
Este código é para verificar o NC.
Qual é o código que você está usando para GERAR o NC?
Qual é o código que você está usando para GERAR o NC?
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
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
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
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
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
colega tente isto pegue o mairo numero da tabela e some mais um
veja se a alterção a abixo funciona
bom deduzo que NC seja o campo em que é salvo o numero da matricula
é mais ou menos isso
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
ta dando erro item não encontrado nesta coleçao 3295
Poste a estrutura da tabela no tópico.
é 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