PROXMO REGISTRO
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?
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?
na rotina de limpar pode ser que vc trocou os nomes do form e na rotina nao trocou
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...
ou quando acionado o comando AddNew...os campos são limpados automaticamente.....desde que os campos estejam ligados ao componente data...
Coloca na sublimpa
me.nomedoformulario.nomedocontrole = ""
ou
me.nomedoformulario.nomedocontrole = empty
flw
me.nomedoformulario.nomedocontrole = ""
ou
me.nomedoformulario.nomedocontrole = empty
flw
C ñ der certo posta seu código completo ai.....
q agente resolve o mardito do erro..
flw
q agente resolve o mardito do erro..
flw
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
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
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.
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