PROXMO REGISTRO

USUARIO.EXCLUIDOS 24/04/2007 11:38:35
#213535
Tenho um form de digitação onde após pressionar o botão ok, entra uma sub limpa formulário e vc digita o próximo lançamento. Já tentei de tudo EOF, bostof, etc, só que não tá limpando, fica sempre no primeiro registro da tabela, no ok ou no form load e eu não consigo gravar o próximo. O que pode tá acontecendo?
O detalhe é que copiei esse form de um outro onde tudo funciona normalmente, já comparei os dois e não achei nada diferente (a não ser os nomes). Onde posso tá errando?
USUARIO.EXCLUIDOS 24/04/2007 11:41:39
#213536
na rotina de limpar pode ser que vc trocou os nomes do form e na rotina nao trocou
F001E 24/04/2007 11:42:49
#213537
bom....vc pode limpar os campos na mão.....
ou quando acionado o comando AddNew...os campos são limpados automaticamente.....desde que os campos estejam ligados ao componente data...

SILVERDRAGON 24/04/2007 11:44:15
#213538
Coloca na sublimpa

me.nomedoformulario.nomedocontrole = ""

ou

me.nomedoformulario.nomedocontrole = empty



flw
SILVERDRAGON 24/04/2007 11:46:30
#213540
C ñ der certo posta seu código completo ai.....

q agente resolve o mardito do erro..



flw
USUARIO.EXCLUIDOS 24/04/2007 13:39:03
#213555
Segue o código pra vc dar uma olhada. O que tá acontecendo é que tá acontecendo é que quando entro pela primeira vez (load do form) sempre tá retornando o primeiro registro da tabela quando o correto seria uma tela em branco pq to cadastrando. Quando eu apago e digito novos dados (mesmo com matrícula diferente) ele gera um registro todo em branco na minha tabela e some com o primeiro. Dá uma olhada pra ve se acha o erro.

Dim BancoDeDados As Database
Dim TBSegundaMatAula1 As Recordset

Private Sub cmdCancelar_Click()
Unload frmDigitaçãoTurmas
End Sub


Private Sub cmdOK_Click()
AtualizaCampos
TBSegundaMatAula1.Update
txtMatrícula.SetFocus
LimpaFormulário
Data1.Refresh
End Sub


Private Sub Command2_Click()
Unload frmDigitaçãoTurmas
End Sub


Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
SendKeys ("{TAB}")
KeyAscii = 0
End If
End Sub


Private Sub Form_Load()
Set BancoDeDados = OpenDatabase(App.Path & "\curso.MDB")
Set TBSegundaMatAula1 = BancoDeDados.OpenRecordset("SegundaMatAula1", dbOpenTable)
TBSegundaMatAula1.Index = "IndMatrícula"
If TBSegundaMatAula1.EOF = False Then
End If
LimpaFormulário
End Sub


Private Sub Form_Unload(Cancel As Integer)
TBSegundaMatAula1.Close
BancoDeDados.Close
End Sub


Private Sub optIniciante_Click()
If optIniciante = True Then
Frame2.Visible = False
Else
Frame2.Visible = True
End If
End Sub


Private Sub optVeterano_Click()
If optVeterano = True Then
Frame2.Visible = True
Else
Frame2.Visible = False
End If
End Sub


Private Sub txtMatrícula_LostFocus()
txtMatrícula.Text = Format(txtMatrícula.Text, "000")
TBSegundaMatAula1.Seek "=", txtMatrícula.Text
If TBSegundaMatAula1.NoMatch = False Then
MsgBox "Matrícula já existente, tente outro código"
AtualizaFormulário
Else
TBSegundaMatAula1.AddNew
End If


End Sub


Private Function AtualizaCampos()
TBSegundaMatAula1("Matrícula") = txtMatrícula
TBSegundaMatAula1("Nome") = txtNome
TBSegundaMatAula1("Paint") = txtPaint
TBSegundaMatAula1("Digitação") = txtDigitação
TBSegundaMatAula1("Word") = txtWord
TBSegundaMatAula1("Excel") = txtExcel
TBSegundaMatAula1("PowerPoint") = txtPowerPoint
TBSegundaMatAula1("WindowsExplorer") = txtExplorer
TBSegundaMatAula1("MsDos") = txtMsdos
TBSegundaMatAula1("Internet") = txtInternet

End Function



Private Function AtualizaFormulário()
txtMatrícula = TBSegundaMatAula1("Matrícula")
txtNome = TBSegundaMatAula1("Nome")
txtPaint = TBSegundaMatAula1("Paint")
txtDigitação = TBSegundaMatAula1("Digitação")
txtWord = TBSegundaMatAula1("Word")
txtExcel = TBSegundaMatAula1("Excel")
txtPowerPoint = TBSegundaMatAula1("PowerPoint")
txtExplorer = TBSegundaMatAula1("WindowsExplorer")
txtMsdos = TBSegundaMatAula1("MsDos")
txtInternet = TBSegundaMatAula1("Internet")
End Function

Private Function LimpaFormulário()
txtMatrícula = " "
txtNome = " "
txtPaint = " "
txtDigitação = " "
txtWord = " "
txtExcel = " "
txtPowerPoint = " "
txtExplorer = " "
txtMsdos = " "
txtInternet = " "
End Function

USUARIO.EXCLUIDOS 24/04/2007 15:11:57
#213566
Outra coisa que eu acabei de observar é que tá gravando tudo normal, só que o primeiro registro tem que ficar todo em branco. Se eu excluir esse registro em branco ele pega o próximo da tabela e abre quando abro o form. Quando digito qualquer coisa ele grava em cima desse primeiro registro. Deve ser uma besteirinha mas tá me deixando profundamente irritado. Já olhei o código várias vezes e tá rigorosamente igual ao que tá funcionando (mudando as variáveis, lógico).
Tenho também um botão cancelar com o comando unload, mas sempre que clico nele, vem a mensagem que matrícula não existe, como se eu tivesse clicado no OK e não cancelando a operação.
Alguém consegui decifrar? Só quero digitar e guardar alguns poucos dados.
Tópico encerrado , respostas não são mais permitidas