Olá,
Estou com um problema em um código em não consigo identificá-lo para corrigir.
Antes vou explicar, tenho uma tabela chamada "tblTitulos" com os campos [idTitulo] e [descriçaoTitulo], essa tabela é onde armazeno os dados.
Tenho um formulário contínuo chamado "frmTitulos" com os controles "txtidTitulo" (numeração automática) e "txtdescriçao" (entrada pelo teclado), onde eu entro com todos os dados, porém estes dados são armazenados em uma tabela temporária chamada "tblTitulos_Temp" e só são adicionados na "tblTitulos" quando ativado um botão de comando chamado "btnSalvar", o qual executa uma consulta de acréscimo na "tblTitulos" somente do campo [descriçaoTitulo], e após isso limpa a tabela "tblTitulos_Temp" através de uma consulta de exclusão.
Meu problema é o seguinte, como eu tenho um formulário contínuo eu preciso testar os registros antes que sejam registrados, ou seja, antes que o controle "txtdescriçao" perca o foco, pois não quero ter nenhum registro com descrição repetida. Para isso usei a função ".FindFirst", com a expectativa de que ela busque em minha tabela fonte "tblTitulos" se o registro atual já existe, usando como critério o conteúdo do controle "txtdescriçao".
Mas está dando erro na linha do FindFirst, e eu não consigo identificá-lo, o código está abaixo, se alguem puder me ajudar eu agradeço.
Estou com um problema em um código em não consigo identificá-lo para corrigir.
Antes vou explicar, tenho uma tabela chamada "tblTitulos" com os campos [idTitulo] e [descriçaoTitulo], essa tabela é onde armazeno os dados.
Tenho um formulário contínuo chamado "frmTitulos" com os controles "txtidTitulo" (numeração automática) e "txtdescriçao" (entrada pelo teclado), onde eu entro com todos os dados, porém estes dados são armazenados em uma tabela temporária chamada "tblTitulos_Temp" e só são adicionados na "tblTitulos" quando ativado um botão de comando chamado "btnSalvar", o qual executa uma consulta de acréscimo na "tblTitulos" somente do campo [descriçaoTitulo], e após isso limpa a tabela "tblTitulos_Temp" através de uma consulta de exclusão.
Meu problema é o seguinte, como eu tenho um formulário contínuo eu preciso testar os registros antes que sejam registrados, ou seja, antes que o controle "txtdescriçao" perca o foco, pois não quero ter nenhum registro com descrição repetida. Para isso usei a função ".FindFirst", com a expectativa de que ela busque em minha tabela fonte "tblTitulos" se o registro atual já existe, usando como critério o conteúdo do controle "txtdescriçao".
Mas está dando erro na linha do FindFirst, e eu não consigo identificá-lo, o código está abaixo, se alguem puder me ajudar eu agradeço.
- Código:
Private Sub txtdescriçao_LostFocus()
Dim rst As DAO.Recordset
Dim strCriteria As String
Set rst = CurrentDb.OpenRecordset("tblTitulos")
strCriteria = "[descriçaoTitulo] ='" & Me.txtdescriçao & "'"
If txtdescriçao <> "" Then
With rst
.FindFirst (strCriteria)
If Not .NoMatch Then
Me.Undo
MsgBox "Titulo Já Cadastrado no Banco de Dados!", vbCritical, "Atenção!"
txtdescriçao.SetFocus
End If 'end if 3
End With
rst.Close
Set rst = Nothing
End If
End Sub