TEXTBOX PERDE O FOCO
O código abaixo funciona mas o TxtDesc perde o foco mesmo com o SetFocus, ou seja, ele focaliza depois pula para outro TextBox. O que fazer?
Private Sub TxtDesc_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Desc As String
Set DB1 = OpenDatabase("C:\Estoque\Materiais.mdb")
Desc = "SELECT Descrição FROM Localizacao WHERE Código = '" & TxtCod.Text & "'"
Set TB1 = DB1.OpenRecordset(Desc)
If TB1.RecordCount = 0 Then
If Not Testa(TxtDesc.Text, 1) Then
TxtDesc.SetFocus
Exit Sub
End If
End If
TxtDesc.Text = TB1!Descrição
End Sub
Function Testa(Texto As String, Avisar As Byte) As Boolean
If Texto = "" Then
If Avisar = 1 Then
MsgBox "Material não casdastrado. Favor entrar com a descrição!", vbInformation, " Aviso ao usuário"
End If
End If
End Function
Private Sub TxtDesc_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Desc As String
Set DB1 = OpenDatabase("C:\Estoque\Materiais.mdb")
Desc = "SELECT Descrição FROM Localizacao WHERE Código = '" & TxtCod.Text & "'"
Set TB1 = DB1.OpenRecordset(Desc)
If TB1.RecordCount = 0 Then
If Not Testa(TxtDesc.Text, 1) Then
TxtDesc.SetFocus
Exit Sub
End If
End If
TxtDesc.Text = TB1!Descrição
End Sub
Function Testa(Texto As String, Avisar As Byte) As Boolean
If Texto = "" Then
If Avisar = 1 Then
MsgBox "Material não casdastrado. Favor entrar com a descrição!", vbInformation, " Aviso ao usuário"
End If
End If
End Function
Já tentou fazer:
Private Sub TxtDesc_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Desc As String
Set DB1 = OpenDatabase("C:\Estoque\Materiais.mdb")
Desc = "SELECT Descrição FROM Localizacao WHERE Código = '" & _
TxtCod.Text & "'"
Set TB1 = DB1.OpenRecordset(Desc)
Desc = Empty
If TB1.RecordCount = 0 Then
If Not Testa(TxtDesc.Text, 1) Then
Cancel = False
End If
Else
TxtDesc.Text = TB1!Descrição
End If
End Sub
Function Testa(Texto As String, Avisar As Byte) As Boolean
If Texto = "" Then
If Avisar = 1 Then
MsgBox "Material não casdastrado. Favor entrar com a descrição!", _
vbInformation, _
"Aviso ao usuário"
End If
End If
End Function
Private Sub TxtDesc_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Desc As String
Set DB1 = OpenDatabase("C:\Estoque\Materiais.mdb")
Desc = "SELECT Descrição FROM Localizacao WHERE Código = '" & _
TxtCod.Text & "'"
Set TB1 = DB1.OpenRecordset(Desc)
Desc = Empty
If TB1.RecordCount = 0 Then
If Not Testa(TxtDesc.Text, 1) Then
Cancel = False
End If
Else
TxtDesc.Text = TB1!Descrição
End If
End Sub
Function Testa(Texto As String, Avisar As Byte) As Boolean
If Texto = "" Then
If Avisar = 1 Then
MsgBox "Material não casdastrado. Favor entrar com a descrição!", _
vbInformation, _
"Aviso ao usuário"
End If
End If
End Function
Tópico encerrado , respostas não são mais permitidas